关于Session的保存用户信息的用法。
2016-05-15 15:28
295 查看
关于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保存时间到了(用户发呆时间一般达到30min则timeout,这时用户名为空),则返回到登陆界面,否则直接返回则会出现不友好界面。
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保存用户信息就是这样做的,希望运行成功!
前面用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保存时间到了(用户发呆时间一般达到30min则timeout,这时用户名为空),则返回到登陆界面,否则直接返回则会出现不友好界面。
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保存用户信息就是这样做的,希望运行成功!
相关文章推荐
- CSDN博客中使用超链接
- 自定义view 园环交替等待效果
- 229. Majority Element II 【M】【52】
- IOS小知识点总结
- Binder学习笔记(八)—— 客户端如何组织Test()请求 ?
- NSLock/NSRecursiveLock/NSConditionLock/@synchronized 详细解释
- JS(JavaScript)插入节点的方法appendChild与insertBefore
- 蓝桥杯:排序
- 239. Sliding Window Maximum
- Android开发,30行代码集成图片轮播RollViewpager,你说快吗?
- GridView中日期不显示时分秒的完美解决方法
- 封装类:即8种基本类型对应8种封装类
- iOS开发系列—Objective-C之Foundation框架
- C还可以这么玩第二期
- FromBottomToTop第十一周项目博客
- bootstrap table 显示行号
- c语言中包含math.h的时用gcc编译要加-lm参数
- Binder学习笔记(七)—— ServiceManager如何响应addService请求 ?
- iOS @synchronized(self) 解释
- ListView中常用Adapter