欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP的四个作用域

程序员文章站 2023-11-19 10:58:34
何为作用域 先让我们看看效果: 大概流程是这样的,我们访问04-01/index.的时候,分别对pagecontext, request, session, application四个作用域中的变...
                       jsp的四个作用域

(1)page(即页面范围,只在当前页面生效)
如果是在其他页面则显示为空

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>JSP的四个作用范围</h1>
<%
//page作用范围
pageContext.setAttribute("name", "张三");
//request范围
request.setAttribute("name","李四");
//session范围
session.setAttribute("name","王五");
//application范围
application.setAttribute("name","赵六");
%>
<h1>当前页面获取值</h1>
<%=pageContext.getAttribute("name")%></br>
<%=request.getAttribute("name")%></br>
<%=session.getAttribute("name") %></br>
<%=application.getAttribute("name") %>
<%转发到demo2.jsp
request.getRequestDispatcher("/demo1/demo2.jsp").forward(request,response);
%>
</body>
</html>

运行后的结果为:
JSP的四个作用域
(2)request
将请求转发demo2.jsp改为跳转到demo2.jsp

<a href="/demo/demo1/demo2.jsp">跳转</a>

运行结果
JSP的四个作用域
跳转后
JSP的四个作用域
因为使用超链接的方式传递,这个值是无法向下传递的。
因此这里的request为Null.
(3)session(会话范围)
JSP的四个作用域
关闭浏览器或者换另一个再次进入这个页面:
JSP的四个作用域
此时相当于新开了一个会话,所以这里session获取的值为null。
(4)application(应用范围)
这个范围是最大的范围,任何地方都可以使用。
除非是你关闭了服务器。
所以四种作用范围大小为:page<request<session<application。

本文地址:https://blog.csdn.net/qq_43545718/article/details/111952109

相关标签: jsp session