一个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()

