I programmeringsspråket Java , är en servlet en klass som används för att förlänga en server förmåga som man kommer till ett värdprogram . Detta är vanligtvis utförs av en begäran-svar programmeringsmodell. HTTP-specifika servlets ge doGet och doPost metoder för att hantera dessa tjänster . Komma eller använt den begärande URL i en servlet sker via användning av vissa Java förfrågningar . Följande URL antas i stegen nedan : http://hostname. com/mywebapp/servlet/MyServlet/a/b , c=123 d=789 ? .
1
Använd ServletRequest. getRequestURL () :
public static String getURL ( HttpServletRequest req ) {
String reqUrl=req. getRequestURL ( ) toString ( ) ; .
String QueryString=req. getQueryString ( ) , //d=789
om ( QueryString=null ! ) {
reqUrl +=+ QueryString " ? " ;
}
återvända reqUrl ;
}
Den här metoden returnerar allt utom frågesträngen . .
2
Använd ServletRequest. getRequestURI () om du inte behöver värdnamnet :
public static String getURL ( . HttpServletRequest req ) {
String reqUri=req. getRequestURI ( ) toString ( ) ;
String QueryString=req. getQueryString () ; //d=789
om ( QueryString=null ! ) {
reqUri +=+ QueryString " ? " ;
}
återvända reqUri ;
}
3
att konstruera URL från grunden , använder du följande : .
public static String getURL ( HttpServletRequest req ) {
String systemet=req . getScheme ( ) ; //http
String servernamn=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 QueryString=req. getQueryString () ; //d=789
//Rekonstruera ursprungligen gjort begäran URL
String url=ordning +"://"+ servernamn +":"+ serverPort + contextPath + servletPath , om ( pathInfo=null ! ) {
url +=pathInfo ;
}
if ( QueryString=null ! ) {
url +=+ QueryString " ? " ;
}
återvända url ;
}
Previous:nothing Next:hur koden ett register form för en webbplats