一个mailLogin的jsp页面:
一个mailCheck的jsp页面:
一个mailLogout的jsp页面:
为了与上面mailLogout对比,又另外写了一个无session.invalidate()的mailLogout1的jsp页面:
运行效果为:
1运行mailLogin 页面显示如下:
2点击登录
3 分别点击注销登录
3.再点击返回登录
则此时session 已经从新重建了一个
4在点击登录
5此时点击注销登录1
6点击返回登录
观察结果是 此时session并没有新建一个 因为此时session并没有invalidate()
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>My JSP 'mailLogin.jsp' starting page</title> </head> <body> <% String username=""; if(!session.isNew()){ username=(String)session.getAttribute("username"); if(null==username){ username=""; } } %> 当前session是否为新:<%=session.isNew()%><br> <form action="mailCheck.jsp"> username:<input type="text" name="username" value="<%=username %>"><br> <input type="submit" value="submit"> </form> </body> </html>
一个mailCheck的jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>My JSP 'mailCheck.jsp' starting page</title> </head> <body> <% String username=request.getParameter("username"); session.setAttribute("username",username); %> 当前session是否为新:<%=session.isNew()%><br> <a href="mailLogin.jsp">返回登录</a><br> <a href="mailLogout.jsp">注销登录</a><br> <a href="mailLogout1.jsp">注销登录1</a><br> 当前用户为:<%=username%><br> <a>您共有1000封邮件未读</a><br> </body> </html>
一个mailLogout的jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'mailLogout.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 当前session是否为新:<%=session.isNew()%><br> <% String name =(String )session.getAttribute("username"); session.invalidate(); %> <a><%=name %> 再见</a> <a href="mailLogin.jsp">重新登录</a> </body> </html>
为了与上面mailLogout对比,又另外写了一个无session.invalidate()的mailLogout1的jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'mailLogout1.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 当前session是否为新:<%=session.isNew()%><br> <%String name=(String)session.getAttribute("username"); session.setAttribute("username",name); %> <a><%=name %>再见</a> <a href="mailLogin.jsp">返回登录</a> </body> </html>
运行效果为:
1运行mailLogin 页面显示如下:

2点击登录

3 分别点击注销登录

3.再点击返回登录

则此时session 已经从新重建了一个
4在点击登录

5此时点击注销登录1

6点击返回登录

观察结果是 此时session并没有新建一个 因为此时session并没有invalidate()