Hvordan få en URL i en Servlet

Hvordan få en URL i en Servlet


I Java programmeringsspråk, er en servlet en klasse som brukes til å forlenge en server evne som blir tilgjengelig ved en vertsprogram. Dette utføres vanligvis ved en forespørsel-respons programmeringsmodellen. 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.

Bruksanvisning

1 Bruk ServletRequest.getRequestURL ():

public static String getUrl (HttpServletRequest req) {

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

String QueryString = req.getQueryString (); // D = 789

if (QueryString! = null) {

reqUrl + = + QueryString »?";

}

tilbake 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 QueryString = req.getQueryString (); // D = 789

if (QueryString! = null) {

reqUri + = + QueryString »?";

}

tilbake reqUri;

}

3 Å konstruere URL fra grunnen av, bruker du følgende:

public static String getUrl (HttpServletRequest req) {

String scheme = 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 QueryString = req.getQueryString (); // D = 789

// Rekonstruere opprinnelige ber URL

String url = ordningen + ": //" + servername + ":" + serverPort + contextPath + servletPath; if (pathInfo! = null) {

url + = pathInfo;

}

if (QueryString! = null) {

url += "?"+queryString;

}

return url;

}