jsp四大作用域
application作用域:对应整个应用上下文:
page作用域:(作用域指本JSP页面范围)
- pageContext.setAttribute(键,值)
- pageContext.getAttribute(键)
<% String name="curry"; pageContext.setAttribute("name",name); %> 为:<%=pageContext.getAttribute("name")%> </body> <%@ include file="two.jsp "%> <%--curry-- 展示第二个jsp的值%> <%pageContext.include("two.jsp");%> <%--null--展示第二个jsp的值%>
request作用域:
request作用域内的对象则是与客户端的请求绑定在一起的
one.jsp
<% String name="curry"; pageContext.setAttribute("name",name); request.getRequestDispatcher("two.jsp").forward(request,response); %>
two.jsp
name:<%=request.getAttribute("name")%>
session作用域:
session作用域:一次会话
one.jsp:
<% String req="request"; String ses="session"; request.setAttribute("req",req); session.setAttribute("ses",ses); /*不管是几次请求 是一次会话*/ response.sendRedirect("two.jsp"); /*使用的是重定向 会出现发送一次请求*/ %>
two.jsp:
request:<%=request.getAttribute("req")%> <%--null--%> session:<%=session.getAttribute("ses")%> <%--session--%>
application作用域:
application作用域:面对整个Web应用程序
one.jsp:
<% String ses="session"; String app="application"; session.setAttribute("ses",ses); /*不管是几次请求 是一次会话*/ application.setAttribute("app",app); response.sendRedirect("two.jsp"); /*使用的是重定向 会出现发送一次请求*/ %>
two.jsp:
session:<%=session.getAttribute("ses")%> <%--session--%> <%--换一个浏览器就变成null--%> application:<%=application.getAttribute("app")%> <%--application--%>
对象作用域:(总结)
名称 | 说明 |
page作用域 | 在一个页面范围内有效,通过pageContext对象访问 |
request作用域 | 在一个服务器请求范围内有效 |
session作用域 | 在一次会话范围内有效 |
application作用域 | 在一个应用服务器范围内有效 |