如果当前请求来自“应用服务器内部”转发或包含,则应用服务器应将请求信息保留为请求属性。具体属性及其包含的内容取决于您是执行转发还是包含。
对于 ,原始父 URL 将由 返回,有关所包含页面的信息将在以下请求属性中找到:<jsp:include>
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
对于 ,新的 URL 将由 返回,原始请求的信息将在以下请求属性中找到:<jsp:forward>
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
这些在 Servlet 2.4 规范的第 8.3 节和第 8.4 节中进行了阐述。
但是,请注意,此信息仅保留给内部发送的请求。如果您有前端 Web 服务器,或者在当前容器之外进行调度,则这些值将为 null。换句话说,您可能找不到原始请求 URL。