读书人

Session机制上的邮件系统小应用

发布时间: 2012-11-05 09:35:11 作者: rapoo

Session机制下的邮件系统小应用
一个mailLogin的jsp页面:

<%@ 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()

读书人网 >编程

热点推荐