I Java programmeringsspråk, er en servlet en klasse som brukes til å forlenge en server evne som blir tilgjengelig ved en rekke program . Dette er vanligvis utført av en forespørsel-svar programmering modell . HTTP -spesifikke servlets gi doGet og doPost metoder for håndtering av disse tjenestene. Få eller hente den anmodende URL i en servlet gjøres via bruk av visse Java- forespørsler. Følgende URL antas i trinnene nedenfor: http://hostname.com/mywebapp/servlet/MyServlet/a/b , c = 123 d = 789 ? . Instruksjoner
en
Bruk ServletRequest.getRequestURL ( ) :
public static String getUrl ( HttpServletRequest req ) {
String reqUrl = req.getRequestURL ( ) toString (. ) ;
String spørrestrengsamling = req.getQueryString (); " ? " //d = 789
if ( spørrestrengsamling = null ) {
reqUrl + = + spørrestrengsamling ;
}
retur reqUrl ;
}
Denne metoden returnerer alt, men søkestrengen
2
bruk . ServletRequest.getRequestURI ( ) hvis du ikke trenger vertsnavn: .
public static String getUrl ( HttpServletRequest req ) {
String reqUri = req.getRequestURI ( ) toString ();
String spørrestrengsamling = req.getQueryString (); //d = 789
if ( spørrestrengsamling = null ! ) {
reqUri + = + spørrestrengsamling "?" ;
}
retur reqUri ;
}
3
å konstruere URL fra grunnen av, bruk følgende:
< p> public static String getUrl ( HttpServletRequest req ) {
String ordningen = req.getScheme (); //http
String serverName = req.getServerName (); //hostname.com
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 spørrestrengsamling = req.getQueryString (); //d = 789
//rekonstruere opprinnelige ber URL
String url = ordningen + " ://" + serverName + ":" + serverPort + contextPath + servletPath ; if ( ! pathInfo = null ) {
url + = pathInfo ;
}
if ( spørrestrengsamling = null ! ) {
url + = + spørrestrengsamling "?" ;
< p> }
retur url ;
}