如果您当前的请求来自“内部应用程序服务器”转发或包含,则预计应用程序服务器将请求信息保留为请求属性。具体属性及其包含的内容取决于您是在进行前瞻还是包含。
对于<jsp:include>
,原始父URL将被request.getRequestURL()
被退回,并且对包含页面将在下面的请求中找到的信息属性:
javax.servlet.include.request_uri
javax.servlet.include.context_path
javax.servlet.include.servlet_path
javax.servlet.include.path_info
javax.servlet.include.query_string
对于<jsp:forward>
,新的URL将被request.getRequestURL()
被退回和原始请求的信息将在以下请求中找到的属性:
javax.servlet.forward.request_uri
javax.servlet.forward.context_path
javax.servlet.forward.servlet_path
javax.servlet.forward.path_info
javax.servlet.forward.query_string
这些载于8.3节和Servlet 2.4规范的8.4。
但是,请注意,此信息仅保留用于内部调度的请求。如果您有前端Web服务器或在当前容器之外进行分派,则这些值将为空。换句话说,您可能无法找到原始请求网址。
下面将链接答案肯定帮助别人。 [http://stackoverflow.com/questions/8024344/user-login-with-jsf-2-0/39379256#39379256](http://stackoverflow.com/questions/8024344/user-login-with-jsf -2-0/39379256#39379256) – 2016-09-07 21:31:45