到目前为止,我已经浏览了以下链接-:
Page scope- scope in jsp
What are the different scopes in JSP?
difference between page and request
我想知道页面作用域和请求作用域有什么区别?如果我考虑对相同或不同页面使用 RequestDispatcher.forward() 和 HttpServletResponse.sendRedirect(),那么这些作用域将如何工作?
如果请求被转发到同一页面,那么这两个范围有何不同?
最佳答案
页面作用域是仅在处理单个 JSP 时有效的作用域。通常,如果一个 JSP 转发给自己,第二个实例将共享原始请求范围,但将接收一个全新的页面范围。如果您在页面中包含同一个片段的 2 个实例,这可能是有意义的:所有实例都将与调用者共享请求范围,但每个实例将使用自己的页面范围。
sendRedirect
是完全不同的东西!重定向正在向客户端返回一个特殊的响应,其中包含要在其 header 中获取的新 URL。但这也意味着重定向将使用不同的 HTTP 请求,因此将具有不同的请求范围。换句话说,只有 session 范围在重定向的页面之间共享 - 并且仅当您重定向到同一 Web 应用程序时。
关于java - Servlet 和 JSP 中页面范围和请求范围的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080768/