En el lenguaje de programación Java, un servlet es una clase que se utiliza para ampliar la capacidad de un servidor al que se accede por una aplicación host. Esto se lleva a cabo por lo general por un modelo de programación de petición-respuesta . Servlets HTTP específicos proporcionan las doGet y doPost métodos para el manejo de estos servicios. Al obtener o recuperar la dirección URL del solicitante en un servlet se realiza mediante el uso de ciertas peticiones de Java . En la siguiente URL se asume en los pasos siguientes : http://hostname.com/mywebapp/servlet/MyServlet/a/b , c = 123 d = 789 ? . Instrucciones
1
Uso ServletRequest.getRequestURL () :
public static Cadena getURL ( HttpServletRequest req ) {
Cadena reqUrl = req.getRequestURL () toString (. ) ;
cadena queryString = req.getQueryString (); " ? " //d = 789
if ( queryString = null ) {
reqUrl + = + queryString ;
}
regreso reqUrl ;
}
Este método devuelve todo, pero la cadena de consulta
2
uso . ServletRequest.getRequestURI () si usted no tiene el nombre de host : .
public static cadena getURL ( HttpServletRequest req ) {
cadena reqUri = req.getRequestURI () toString ( ) < br >
cadena queryString req.getQueryString = ( ) //d = 789
if ( queryString = null ) {
reqUri + = + queryString "?" ;
}
regreso reqUri ;
}
3
Para construir la URL desde la base , use lo siguiente:
< p> public String estática getUrl ( HttpServletRequest req ) {
esquema de cadena
req.getScheme = ( ) //http
cadena serverName = req.getServerName (); //hostname.com
int serverPort req.getServerPort = ( ) //80
cadena contextPath req.getContextPath = ( ) ///mywebapp
cadena servletPath = req.getServletPath () ///servlet /MyServlet
cadena pathInfo req.getPathInfo = ( ) ///a /b , c = 123
cadena queryString req.getQueryString = ( ) //d = 789
//Reconstruir originales solicitando URL
cadena url = esquema + " ://" + serverName + ": " + + serverPort contextPath + servletPath ; if (! pathInfo = null) {
url + = pathInfo ;
}
if ( queryString = null ) {
url + = + queryString "?" ;
< p >}
url regreso
;
}