到目前为止,我已经通过以下链接了 - :
Page scope- scope in jsp {
{3}} {
{3}}
我想知道页面范围和请求范围之间的区别是什么?如果我考虑使用 RequestDispatcher.forward()& HttpServletResponse.sendRedirect()到相同或不同的页面,然后这些范围如何工作?
如果请求转发到同一页面那么这两个范围将如何不同?
答案 0 :(得分:4)
页面范围是仅在处理单个JSP时有效的范围。通常,如果一个JSP转发给自己,则第二个实例将共享原始请求范围,但将收到一个全新的页面范围。如果在页面中包含同一个片段的2个实例,这是有意义的:all将与调用者共享请求范围,但每个实例将使用自己的页面范围。
sendRedirect
是完全不同的事情!重定向将向客户端返回一个特殊响应,其中包含要在其标头中获取的新URL。但这也意味着重定向将使用不同的HTTP请求,因此具有不同的请求范围。换句话说,只有在重定向的页面之间共享会话范围 - 并且只有当您重定向到同一个Web应用程序时才会共享。
答案 1 :(得分:3)