JSP的四个作用域

                       jsp的四个作用域

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

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<html>
<head>
<meta charset="UTF-8">
<title>Insert title heretitle>
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的四个作用域_第1张图片
(2)request
将请求转发demo2.jsp改为跳转到demo2.jsp

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

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

你可能感兴趣的:(jsp,session)