session属性设置后,不管是客户端跳转还是服务器端跳转,只要属性设置了就可以取得。
下面写个小例子来验证一下:
(1)session_demo.jsp
1 <%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %> 2 <!doctype html> 3 <html> 4 <head> 5 <meta charset="utf-8"> 6 <title>session属性范围</title> 7 </head> 8 9 <body> 10 <% 11 session.setAttribute("name","张三"); 12 session.setAttribute("birthday",new Date()); 13 %> 14 <a href="session_demo2.jsp">通过超链接取得此属性</a> 15 </body> 16 </html>
(2)session_demo2.jsp
1 <%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %> 2 <!doctype html> 3 <html> 4 <head> 5 <meta charset="utf-8"> 6 <title>session属性范围</title> 7 </head> 8 9 <body>
10 <%
11 String name=(String)session.getAttribute("name"); 12 Date birthday=(Date)session.getAttribute("birthday"); 13 %> 14 <h2>姓名:<%=name%></h2> 15 <h2>生日:<%=birthday%></h2> 16 </body> 17 </html>
浏览器显示:
可以看到地址栏发生了跳转,属性值也取到了。但是此时如果在新的一个浏览器直接访问session_demo2.jsp,则无法取得设置的session属性。每一个新的浏览器连接上服务器后就是一个新的session。