将登录等信息保存到session中和退出session

做项目时,可能会将某些信息保存在session中,如登录等信息,这样方便在某些页面使用这些保存的信息。

要想保存这些信息,需要创建一个类,该类里面定义需要保存的变量等信息,当登录后就通过new一个该类来保存登录等信息,然后放在session中,需要用到这些信息时直接用例如EL表达式等取出来就OK了。例子如下:

1.保存用户信息的类

[java] view plain copy

print?

  1. <span style="font-size:14px;"><span style="font-family:Microsoft YaHei;">public class WSessionInfo implements java.io.Serializable {<span style="white-space:pre">    </span>
  2. private String id;// 用户ID
  3. private String loginname;// 登录名
  4. private String name;// 姓名
  5. private String ip;// 用户IP
  6. private String userimg; //图片
  7. private RegisterUser user;  //用户注册信息
  8. private String usertype;//用户类型
  9. private String chengsid;//城市编号
  10. private String cityname;//城市名
  11. private List<String> resourceList;// 用户可以访问的资源地址列表
  12. private List<String> resourceAllList;
  13. public String getId() {
  14. return id;
  15. }
  16. public void setId(String id) {
  17. this.id = id;
  18. }
  19. public String getChengsid() {
  20. return chengsid;
  21. }
  22. public void setChengsid(String chengsid) {
  23. this.chengsid = chengsid;
  24. }
  25. <span style="white-space:pre">    </span>......
  26. }</span>
  27. </span>
<span style="font-size:14px;"><span style="font-family:Microsoft YaHei;">public class WSessionInfo implements java.io.Serializable {<span style="white-space:pre"> </span>    private String id;// 用户ID    private String loginname;// 登录名    private String name;// 姓名    private String ip;// 用户IP    private String userimg; //图片    private RegisterUser user;  //用户注册信息        private String usertype;//用户类型    private String chengsid;//城市编号    private String cityname;//城市名    private List<String> resourceList;// 用户可以访问的资源地址列表    private List<String> resourceAllList;        public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getChengsid() {        return chengsid;    }    public void setChengsid(String chengsid) {        this.chengsid = chengsid;    }<span style="white-space:pre">    </span>......}</span></span>

2.在Controller中保存登录等信息

[java] view plain copy

print?

  1. <span style="font-size:14px;"><span style="font-family:Microsoft YaHei;"><span style="white-space:pre">   </span>@RequestMapping("/login")
  2. @ResponseBody
  3. public Json login(Account user, HttpSession session) {
  4. ......
  5. WSessionInfo sessionInfo = new WSessionInfo();//保存用户信息的类
  6. sessionInfo.setId(loginUser.getId());//为类里面的属性赋值,即把登录信息保存在这个类中
  7. sessionInfo.setLoginname(loginUser.getLoginname());
  8. sessionInfo.setUsertype(loginUser.getUsertype());
  9. sessionInfo.setUser(regUser);
  10. session.setAttribute(GlobalConstant.SESSION_WAP_INFO, sessionInfo);//将信息保存在session中
  11. }
  12. </span></span>
<span style="font-size:14px;"><span style="font-family:Microsoft YaHei;"><span style="white-space:pre">  </span>@RequestMapping("/login")    @ResponseBody    public Json login(Account user, HttpSession session) {        ......        WSessionInfo sessionInfo = new WSessionInfo();//保存用户信息的类        sessionInfo.setId(loginUser.getId());//为类里面的属性赋值,即把登录信息保存在这个类中        sessionInfo.setLoginname(loginUser.getLoginname());        sessionInfo.setUsertype(loginUser.getUsertype());        sessionInfo.setUser(regUser);        session.setAttribute(GlobalConstant.SESSION_WAP_INFO, sessionInfo);//将信息保存在session中     }</span></span>

3.在页面使用

[java] view plain copy

print?

  1. <span style="font-size:14px;"><span style="font-family:Microsoft YaHei;"><%@page import="com.wxm.framework.constant.GlobalConstant"%>
  2. <%@page import="com.wxm.pageModel.base.WSessionInfo"%>
  3. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  4. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  5. <c:set var="ctx" value="${pageContext.request.contextPath}"/>
  6. <%
  7. String path = request.getContextPath();
  8. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  9. <span style="white-space:pre">    </span><strong>WSessionInfo sessionInfo = (WSessionInfo) request.getSession().getAttribute(GlobalConstant.SESSION_WAP_INFO);//获取保存的登录等信息</strong>
  10. if(sessionInfo!=null){//判断保存的信息是否为空,即判断用户是否登录
  11. response.sendRedirect("/bd/wap/ar.jsp");//如果用户登录后就跳转到某个页面
  12. }
  13. %>
  14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  15. <html xmlns="http://www.w3.org/1999/xhtml">
  16. <head>
  17. <base href="<%=basePath%>">
  18. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  19. <meta charset="utf-8">
  20. <title>登录</title>
  21. <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
  22. <meta name="apple-mobile-web-app-capable" content="yes">
  23. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  24. </head>
  25. <body>
  26. </body>
  27. </html>
  28. </span></span>
<span style="font-size:14px;"><span style="font-family:Microsoft YaHei;"><%@page import="com.wxm.framework.constant.GlobalConstant"%><%@page import="com.wxm.pageModel.base.WSessionInfo"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><c:set var="ctx" value="${pageContext.request.contextPath}"/><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<span style="white-space:pre">    </span><strong>WSessionInfo sessionInfo = (WSessionInfo) request.getSession().getAttribute(GlobalConstant.SESSION_WAP_INFO);//获取保存的登录等信息</strong>                    if(sessionInfo!=null){//判断保存的信息是否为空,即判断用户是否登录        response.sendRedirect("/bd/wap/ar.jsp");//如果用户登录后就跳转到某个页面}%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><base href="<%=basePath%>"><meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8"><title>登录</title><meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"></head><body></body></html></span></span>

4.退出session

[java] view plain copy

print?

  1. <span style="font-family:Microsoft YaHei;"><span style="white-space:pre">   </span>@RequestMapping("/logout")
  2. @ResponseBody
  3. public Json logout(HttpSession session) {
  4. <span style="white-space:pre">        </span>Json j = new Json();//这个类是保存成功或失败的信息
  5. if (session != null) {
  6. session.invalidate();//调用session的invalidate()方法,将保存的session删除
  7. }
  8. j.setSuccess(true);
  9. j.setMsg("退出登录成功!");
  10. return j;
  11. <span style="white-space:pre">    </span>}</span>
<span style="font-family:Microsoft YaHei;"><span style="white-space:pre">   </span>@RequestMapping("/logout")    @ResponseBody    public Json logout(HttpSession session) {<span style="white-space:pre">        </span>Json j = new Json();//这个类是保存成功或失败的信息        if (session != null) {            session.invalidate();//调用session的invalidate()方法,将保存的session删除        }        j.setSuccess(true);        j.setMsg("退出登录成功!");        return j;<span style="white-space:pre">    </span>}</span>

时间: 2024-11-10 14:47:17

将登录等信息保存到session中和退出session的相关文章

DOS命令将黑框中查询到的信息保存到TXT等文件中

DOS命令将黑框中查询到的信息保存到TXT等文件中,布布扣,bubuko.com

爬取今日头条历史图集将信息保存到MongDB,并且下载图片到本地

写在前面:学习<崔庆才_Python3爬虫入门到精通课程视频>动手写的小项目. (一) 分析页面 访问今日头条页面(https://www.toutiao.com/)在输入框中输入要搜索的关键字,搜索出的页面点击图集.要爬取的就是这里的所有图集. 查看页面的URL可以发现这是一个POST请求,然后我们就检查页面找到POST请求包,进行分析. 这个就是POST请求服务器返回的response 这是一个JSON格式的数据,复制下来放在解析器中查看.(使用jsonView) 可以看到data字段中的

SWIFT中将信息保存到plist文件内

在项目中可能我们需要保存一些数据到plist文件中,以下就本人在学习过程中的笔记,不成熟的地方请指出. 可能我有一个类叫做Student import UIKit class Student: NSObject { var text:String var age:Bool init(text:String,age:Int) { self.text = text self.age = age } //从nsobject中解析回来 init(coder aDecoder:NSCoder){ self

DOS命令将黑框中查询到的信息保存到TXT等文件里

利用Application对象存储登录用户信息

Application对象非常适合用于存储一些与整个应用相关数据,例如应用版本,应用登录账户,数据缓存等. 如activity的切换是很频繁的,差不多可以和一个网站中不同网页之间的切换一样,那么不同的activity之间需要存储公共信息(如只有一个当前登录用户)以及数据传递等. 利用Application对象存储登录用户信息的方法,可以很方便的不同activity之间获取登录用户信息. 首先,新建一个java类继承Application类:BaseApplication.java import

将tomcat的session信息保存在memcached中

一.简介 MSM(memcached-session-manager)支持tomcat6和tomcat7 ,利用Value(Tomcat 阀对Request进行跟踪.Request请求到来时,从memcached加载session,Request请求结束时,将tomcat session更新至memcached,以达到session共享之目的,支持sticky和 non-sticky 模式. Sticky 模式:tomcat session为主session, memcached为备sessio

解决 php的session无法保存到redis

解决 php的session无法保存到redis php的session写入redis配置vim /etc/php-fpm.d/www.conf user = nginx group = nginxphp_value[session.save_handler] = Redisphp_value[session.save_path] = 'tcp://192.168.1.2:6688'php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache v

关于Struts2中Action从表单取值并且存到Web元素中(session)

声明:本博客非原创,[转载:http://blog.csdn.net/Cece_2012/article/details/7617775] 在struts2中,Action不同于struts1.x中的Action.在struts2中Action并不需要继承任何控制器类型或实现相应接口.比如struts1.x中的Action需要继承Action或者DispatcherAction. 同时struts2中的Action并不需要借助于像struts1.x中的ActionForm获取表单的数据.可以直接

Python获取个人网站的所有课程下载链接和密码,并保存到Mongodb中

1.获取网站课程的分类地址: ''' 爬取屌丝首页,获取每个分类名称和链接 ''' import requests from lxml import etree headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36', } def get_class_data(): list_dat