Java >> Java Program >  >> Java

Hur man får den ursprungliga webbadressen för begäran från en servlet/jsp efter flera servlets vidarebefordran

Jag hittade ett bättre svar i det här inlägget [ Hur upptäcker du URL:en i en Java Servlet när du vidarebefordrar till JSP? ]

På mål-JSP:n använd:

request.getAttribute("javax.servlet.forward.request_uri")

För att ta reda på vad den ursprungliga webbadressen var.

Det kräver inte att du tar några extra steg på vidarebefordranservleten


Du kan använda ett filter för att sätta ursprungsadress för att begära attribut och sedan läsa det från jsp

Filter mappat till /booking/* execute:

request.setAttribute("origin", request.getRequestURL());

Jsp:

${pageContext.request.attribute["origin"]}

Detta fungerar eftersom filtret har angett REQUEST dispatcher som standard. Det betyder att filtret endast körs för direkta klientförfrågningar, inte för vidarebefordran/inkludering


${requestScope["javax.servlet.forward.request_uri"]}

eller med enstaka citattecken

${requestScope['javax.servlet.forward.request_uri']}

Java-tagg