现在的位置: 首页 > 综合 > 正文

Session的用途一:保存用户信息

2013年03月25日 ⁄ 综合 ⁄ 共 990字 ⁄ 字号 评论关闭

上一篇提到Session有几种常用用法,这一篇主要是关于Session的保存用户信息的用法。

前面用MVC模式设计了一个简单的小系统。不知发现没有,实现分页效果时,为了显示所登录的用户名,每换一次页面就得传一次用户名,显得非常麻烦,引入Session对象就会使问题变得非常简单。

首先理一下思路,用户登录系统后,用户名就是他自己了,这时我们就可以把用户信息保存下来,由于我们只是想显示用户名,于是我用Session对象只保存用户名。怎么做呢?

用户登录系统后,是在控制器LoginServlet中完成验证的,如果登录成功,就用Session对象保存用户名信息,代码如下:

//将用户名放入session,以备后用

  
// request.getSession().setMaxInactiveInterval(3);单位是秒

  
request.getSession().setAttribute(
"user", u);

welcome.jsp页面则用来接收session对象的用户名信息,代码如下:

String u=(String)session.getAttribute(“user”);

还需要加一些判断,如果session保存时间到了(用户发呆时间一般达到30mintimeout,这时用户名为空),则返回到登陆界面,否则直接返回则会出现不友好界面。

if(u==null){      

        
response.sendRedirect(
"login.jsp?error=1");

        
// return;

     
}
else{

        
out.println(u);      

     
}

返回到登录前页面,可以通过error参数判断用户是否正常登陆,没有的话就给出一些提示信息,提示用户非正常登陆,并要求用户登录。

String error=request.getParameter("error");

System.out.println("error:----------------"+error);

if(error!=null){

  
  
if(error.equals("1")){

     
   out.println(
"<font size=6>您没有正常登陆,请登录!</font>");

  
   }

}

Session保存用户信息就是这样做的,希望运行成功!

 

 

抱歉!评论已关闭.