session学习

1:登录界面验证用户登录信息,如果登录正确,就把用户信息以及登录时间保存进Session,然后转到欢迎页面welcome.jsp。welcome.jsp中从Session中获取信息,并将用户资料显示出来。

2:Session对应的类为javax.servlet.http.HttpSession类。每个来访者对应一个Session对象,所有该客户的状态信息都保存在这个Session对象里。Session对象是在客户端第一次请求服务器的时候创建的。Session也是一种key-value的属性对,通过getAttribute(String key)和setAttribute(String key,Object value)方法读写客户状态信息。Servlet里通过request.getSession()方法获取该客户的Session,例如:

  1. HttpSession session = request.getSession();     // 获取Session对象  
  2. session.setAttribute("loginTime"new Date());      // 设置Session中的属性        
  3. out.println("登录时间为:" + (Date)session.getAttribute("loginTime"));  // 获取Session属性                                                 

 request还可以使用getSession(boolean create)来获取Session。区别是如果该客户的Session不存在,request.getSession()方法会返回null,而getSession(true)会先创建Session再将Session返回。

Servlet中必须使用request来编程式获取HttpSession对象,而JSP中内置了Session隐藏对象,可以直接使用。如果使用声明了<%@ page session="false" %>,则Session隐藏对象不可用。下面的例子使用Session记录客户账号信息。源代码如下:

 

posted @ 2013-03-11 15:40  歌颂者  阅读(268)  评论(0编辑  收藏  举报