骑着猪猪去逛街
2014-07-29 18:28:46
完
Springmvc用户注销退出登录功能疑问
Springmvc框架用户登录后记录到Session中
@Controller @RequestMapping({ "/user" }) @SessionAttributes({ GlobalConstants.USER_SESSION }) public class UserController { @Autowired private UserService userService; @ResponseBody @RequestMapping("/login") public String login(ModelMap model, String email, String password) { User user = userService.findUserByEmail(email); SessionStruct session = new SessionStruct(); session.setUser(user); model.addAttribute(GlobalConstants.USER_SESSION, session); return ""; } @RequestMapping(value = "/loginout", method = RequestMethod.GET) public String loginOut(HttpServletRequest request,@ModelAttribute(GlobalConstants.USER_SESSION) SessionStruct session) { // 清除session Enumeration<String> em = request.getSession().getAttributeNames(); while (em.hasMoreElements()) { request.getSession().removeAttribute(em.nextElement().toString()); } request.getSession().removeAttribute(GlobalConstants.USER_SESSION); request.getSession().invalidate(); String path = request.getContextPath(); // 拼接跳转页面路径 String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; System.out.println(request.getSession().getAttribute(GlobalConstants.USER_SESSION)); return "redirect:" + basePath; } }
我的和牛哥的不同之处可能是session是通过注解注入的,牛哥的应该是通过request拿的吧?
<li >欢迎 <c:out value="${sessionScope.USER_SESSION.user.username }"></c:out></li>
清楚之后username依然能够在页面显示。。。
评论
所有回答列表(3)
最代码官方 LV168
2014年7月29日
给你分享下最代码的登录和退出代码片段:
登陆成功代码片段:
session.setAttribute(GlobalConstants.SESSION_LOGIN_USER_NAME, user);
退出登录代码片段:
User user = (User) session.getAttribute(GlobalConstants.SESSION_LOGIN_USER_NAME); session.removeAttribute(GlobalConstants.SESSION_LOGIN_USER_NAME); response.sendRedirect("/");
如果有cookie的操作,则需要登录的时候写入cookie,代码如下:
Cookie cookie = new Cookie(GlobalConstants.COOKIE_NAME_ZUIDAIMA_ID,Security.encryptUserId(userId)); cookie.setPath("/"); cookie.setDomain(".zuidaima.com"); cookie.setMaxAge(60 * 60 * 24 * 365 * 10);
退出的时候需要删除该cookie
Cookie cookie = new Cookie(GlobalConstants.COOKIE_NAME_ZUIDAIMA_ID,Security.encryptUserId(userId)); cookie.setPath("/"); cookie.setDomain(".zuidaima.com"); cookie.setMaxAge(0);
注意:删除客户端cookie只需要设置cookie的max age值为0,并且必须给客户端response时set cookie才会删除。
评论(12)
最佳答案
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
相关问答
- 完 关于springmvc下载大的文件(2G)爆出 溢出 请求帮助
- 等 部署maven springmvc项目抛出异常java.lang.IllegalStateException: ApplicationEventMulticaster not initialized?
- 等 关于springmvc文件上传的问题
- 等 springmvc + mybatis-spring-1.2.2 启动报错
- 等 springmvc怎样整合才能把事务放在控制层?求大神指教!!!
- 等 Springmvc开发中java bean对象自动初始化失败求解
- 等 maven springMVC调用数据库实现用户登录,列表显示代码
- 完 springmvc从3.1.4.RELEASE升级到4.1.1.RELEASE版本后,ajax请求返回json时为什么报错?
- 等 SpringMVC中上传文件MultipartFile对象调用Inputstream方法失败问题
- 完 spring MVC中使用国际化为什么是乱码?
- 等 spring MVC中的@service和@autowired有什么联系么?
- 完 为什么springmvc json在火狐浏览器下显示正常,而IE浏览器乱码呢?
最近浏览
ZZzzzzxxdd
8月3日
暂无贡献等级
robin19712 LV3
2021年12月1日
Sonia666
2021年3月25日
暂无贡献等级
天木纯 LV1
2021年1月14日
我寄愁心 LV8
2020年12月12日
mox23jihhjkg LV1
2020年12月11日
nankou LV1
2020年12月5日
56770091 LV1
2020年12月5日
ddbxAKING
2020年11月3日
暂无贡献等级
lonyon
2020年10月12日
暂无贡献等级