Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come ottenere un URL in una Servlet

Nel linguaggio di programmazione Java , un servlet è una classe che viene utilizzata per estendere la capacità di un server a cui si accede da un'applicazione host . Questo viene di solito effettuata da un modello di programmazione richiesta-risposta . Servlet HTTP specifiche forniscono i metodi doGet e doPost per la gestione di questi servizi . Ottenere o recuperare l'URL del richiedente in un servlet avviene tramite l'uso di alcune richieste di Java . Il seguente URL è assunto nei passaggi riportati di seguito : http://hostname.com/mywebapp/servlet/MyServlet/a/b ; c = 123 d = 789 ? . Istruzioni
1

Usa ServletRequest.getRequestURL ( ) :

public static String getURL ( HttpServletRequest req ) {

String reqUrl = req.getRequestURL ( ) toString (. ) ;

String queryString = req.getQueryString (); ! " ? " //d = 789

se ( queryString = null) {

reqUrl + = + queryString ;

}

ritorno reqUrl ;

}

Questo metodo restituisce tutto, ma la stringa di query
2

Usa . ServletRequest.getRequestURI ( ), se non è necessario il nome host : .

public static String getUrl ( HttpServletRequest req ) {

String reqUri = req.getRequestURI ( ) toString ( ) ; < br

String > queryString = req.getQueryString ( ) ; //d = 789

se ( queryString = null ) {

reqUri + = + queryString " ? " ;

}

ritorno reqUri ;

}
3

Per costruire l'URL da zero , utilizzare il seguente :

public static String getUrl ( HttpServletRequest req ) {
schema String

= req.getScheme ( ) ; //http

String nomeServer = req.getServerName ( ) ; //hostname.com < br

int serverPort > = req.getServerPort ( ) ; //80

String contextPath = req.getContextPath ( ) ; ///MyWebApp

String servletPath = req.getServletPath ( ) ///servlet /MyServlet

String pathInfo = req.getPathInfo ( ) ; ///a /b , c = 123

String queryString = req.getQueryString ( ) ; //d = 789

//Ricostruire originale richiedendo URL

String url = schema + " ://" + serverName + " : " + + serverPort contextPath + servletPath ; if ( ! pathInfo = null ) { < br

url > + = pathInfo ;

}

se ( queryString = null ) {

url = + + queryString " ? " ;

}

ritorno url ;

}

 

Programmazione © www.354353.com