Servlet(session的使用)
来源:互联网 发布:南宁广电网络营业厅 编辑:程序博客网 时间:2024/04/29 01:14
出处:http://blog.csdn.net/zhaoming262350/article/details/8776735
Web服务器跟踪客户状态通常的方法:
建立含有跟踪的数据隐藏字段:
重写包含额外参数的URL
使用持续的session
使用Servlet API中的Session(会话)机制。
Session用于跟踪客户状态。Session指在一段时间内,单个客户与Web服务器的一连串相关的交互过程。在一个Session中,客户可能会多次请求同一个网页,也有可能请求访问各种不同的服务资源。
Session的运行机制:
当一个Session开始时,Servlet容器将创建一个HttpSession的对象,在HttpSession对象中可以存放客户状态的信息。
Servlet容器为HttpSession分配一个惟一的标识符,称为Session ID。Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
每次客户发出Http请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获得与用户的状态信息。
session中常用的方法:
<body>
//得到一个session ID
session id:<%=session.getId() %>
//设置一个session ID存在的时间
<%session.setMaxInactiveInterval(10);%>
//判断是否有一个新的sessionID产生
<%=session.isNew() %>
</body>
Session的生命周期:当客户第一次访问Web应用中支持Session的某个网页时,就会开始一个新的session.
接下来当客户浏览这个Web应用的不同网页时,始终处于同一个session 中。
默认情况下JSP网页都是支持session的。
<%@ page session = "true"%>如果把“true”改成“false”这个网页就不支持session了。
Session生命周期结束的标志(只要生命周期结束,Servlet容器会将session所占有的资源释放掉):
客户端关闭浏览器:严格说不行,做不到这一点,可以做一点努力的办法是在所有的客户端页面里使用javascrip代码window。onclose来监听浏览器的关闭动作,然后再向服务器发送一个请求删除session。
Session过期:指当Session开始后,在一段时间内客户没有和Web服务器交互,这个session会失效。
服务器调用了HttpSession的invalidate()方法;
maillogin.jsp
<body>
<%
String username="";
if(!session.isNew())
{
username=(String)session.getAttribute("username");
if(null == username)
{
username="";
}
}
%>
<p>username ID:<%=session.getId() %></p>
<form action="mailCheck.jsp">
username:<input type="text" name="username" value="<%=username %>"><br>
<input type="submit" value="submit">
</form>
</body>
mailCheck.jsp
<body>
<%
String username=request.getParameter("username");
session.setAttribute("username",username);
%>
<a href=maillogin.jsp>转向登录</a><br>
<a href=maillogout.jsp>注销</a><br>
<p>当前用户:<%=username %></p>
<p>你的邮件有100封邮件</p>
</body>
maillogout.jsp
<body>
<%String username = (String)session.getAttribute("username");
session.invalidate();
%>
<%=username %>
<br>
<p>再见</p><br>
<a href="maillogin.jsp">重新登录</a>
</body>
- Servlet(session的使用)
- Servlet(session的使用)
- Servlet(session的使用)
- servlet session的使用
- servlet中session的使用
- servlet中session的使用
- Servlet中对象session的使用
- Servlet 第六课: Session的使用
- servlet中使用session
- servlet中使用session
- servlet中使用session
- servlet中使用session
- 【Servlet】04-使用Session
- Servlet(五)servlet Session
- servlet的session管理
- servlet的session管理
- Servlet的session问题
- servlet session的学习
- 黑马程序员--11期年薪15W的万元哥分享面试经验喽!!!
- C运行时库(C Run-time Library)详解
- 使用HTML5捕捉音频与视频信息概述及实例
- 关于技术博客的一点说明
- OpenBTS for bladeRF代码修改
- Servlet(session的使用)
- POJ-1486-Sorting Slides
- 关于登录验证码的实现:
- Word Break II
- css3 如何让div里面的元素垂直居中
- drawable文件夹详解
- 开源第五周 SIM900模块指令调试+数据传输—乐联平台
- Windows上安装OpenSSL和生成证书
- svn github 中 trunk branches tags 的意思