I Java programmeringssprog, en servlet er en klasse , der bruges til at udvide en servers kapacitet, der er adgang til ved en host applikation. Dette er normalt udføres af en anmodning -respons programmering model . HTTP -specifikke servlets give doGet og doPost metoder til håndtering af disse tjenester. At få eller hente den anmodende URL i en servlet sker via anvendelse af visse Java anmodninger. Følgende URL forudsættes i nedenstående trin: http://hostname.com/mywebapp/servlet/MyServlet/a/b c = 123 d = 789 ? . Instruktioner
1
Brug ServletRequest.getRequestURL () :
public static String getURL ( HttpServletRequest req ) {
String reqUrl = req.getRequestURL () toString (. ),
String Querystring = req.getQueryString (); ! "?" //d = 789
if ( QueryString = null) {
reqUrl + = + QueryString ;
}
afkast reqUrl ,
}
Denne metode returnerer alt, men søgestrengen
2
brug. ServletRequest.getRequestURI ( ), hvis du ikke har brug for værtsnavnet : .
public static String getUrl ( HttpServletRequest req ) {
String reqUri = req.getRequestURI () toString (); < br >
String Querystring = req.getQueryString () //d = 789
if ( QueryString = null !) {
reqUri + = + Querystring "?" ;
}
tilbagevenden reqUri ,
}
3
For at konstruere URL fra jorden op, skal du bruge følgende : Hej < p> public static String getUrl ( HttpServletRequest req ) {
String ordning = req.getScheme () //http
String serverName = 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
//Genskab oprindeligt anmodende URL
String url = ordningen + " ://" + serverName + " :" + serverPort + contextPath + servletPath , hvis ( ! pathInfo = null) { < br >
url + = pathInfo ,
}
if ( QueryString = null !) {
url + = + Querystring "?" ;
< p> }
tilbagevenden url ,
}