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

上一篇提到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保存用户信息就是这样做的,希望运行成功!

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值