SpringMVC存取Session的两种方法 转

方法一:使用servlet-api

[java] view plain copy

print?

  1. @Controller
  2. public class ManagerController {
  3. @Resource
  4. private ManagerService managerServiceImpl;
  5. @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)
  6. public ModelAndView login(ManagerModel managerModel,HttpSession httpSession){
  7. ManagerModel manager = managerServiceImpl.getManager(managerModel);
  8. if(manager!=null){
  9. manager.setPassword("");
  10. httpSession.setAttribute("manager", manager);
  11. return new ModelAndView(new RedirectView("../admin/main.jsp"));
  12. }else{
  13. return new ModelAndView(new RedirectView("../admin/login.jsp"));
  14. }
  15. }
  16. @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)
  17. public String logout(HttpSession httpSession){
  18. httpSession.getAttribute("manager");
  19. return "success";
  20. }
  21. }

方法二:使用SessionAttributes

[java] view plain copy

print?

    1. @Controller
    2. @SessionAttributes("manager")
    3. public class ManagerController {
    4. @Resource
    5. private ManagerService managerServiceImpl;
    6. @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)
    7. public ModelAndView login(ManagerModel managerModel,ModelMap model){
    8. ManagerModel manager = managerServiceImpl.getManager(managerModel);
    9. if(manager!=null){
    10. manager.setPassword("");
    11. model.addAttribute("manager", manager);
    12. return new ModelAndView(new RedirectView("../admin/main.jsp"));
    13. }else{
    14. return new ModelAndView(new RedirectView("../admin/login.jsp"));
    15. }
    16. }
    17. @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)
    18. public String logout(@ModelAttribute("manager")ManagerModel managerModel){
    19. return "success";
    20. }
    21. }
时间: 2024-07-28 21:35:04

SpringMVC存取Session的两种方法 转的相关文章

SpringMVC存取Session的两种方法

方法一:使用servlet-api @Controller public class ManagerController { @Resource private ManagerService managerServiceImpl; @RequestMapping(value = "manager/login.do",method = RequestMethod.GET) public ModelAndView login(ManagerModel managerModel,HttpSe

Struts2访问session的两种方法

Struts2 的Action中若希望访问Session对象,可采用两种方式:     1.从ActionContext中获取:     2.实现SessionAware接口. 1.从ActionContext中获取: import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class SessionTestAc

Struts2中使用Session的两种方法

在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式: 通过ActionContext 类中的方法getSession得到 Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到session的例子 public class SessionTestAction extends ActionSupport { public Stri

SpringMVC中controller返回json数据的两种方法

SpringMVC中controller返回json数据的两种方法 1.jsp的ajax请求: function getJson(){ $.ajax({ type:"get", dataType:"json", url:"<%=basePath %>getJson", success:function(data){ for(var i=0;i<jsonData.length;i++){ alert("Id:"

实现登录状态保持的两种方法 cookie、session和token

实现登录状态保持的两种方法:第一种,cookie和session的配合使用实现原理:当用户请求页面,一般需要先登录,用户第一次输入用户名和密码之后,前台发送post请求,后台获取用户信息,通过查询数据库来验证用户信息是否正确,如果验证通过,则会开辟一块session空间来储存用户数据,并且同时生成一个cookie字符串,由后台返回给前台,前台接收后,会把这个cookie字符串储存到浏览器的cookie空间中,这个cookie就相当于一把钥匙,可以打开后台存储对应用户信息的锁,当用户下一次请求的时

Linux中生成密钥的两种方法

Linux中生成密钥的两种方法 SSH服务支持一种安全认证机制,即密钥认证.所谓的密钥认证,实际上是使用一对加密字符串,一个称为公钥(publickey), 任何人都可以看到其内容,用于加密:另一个称为密钥(privatekey),只有拥有者才能看到,用于解密.通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难. ssh的密钥认证就是使用了这一特性.服务器和客户端都各自拥有自己的公钥和密钥.如何使用密钥认证登录linux服务器呢? 在使用密钥认证远程登入linux之前,我们

在Java Web程序中使用监听器可以通过以下两种方法

之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外.在Java Web程序中使用监听器可以通过以下两种方法:通过注解@WebListener来标识一个自定义的监听器:[java] view plain copy@WebListener public class Custom

PHP中对用户身份认证实现两种方法

用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制. 当访问者浏览受保护页面时,客户端浏览器会弹出对话窗口要求用户输入用户名和密码,对用户的身份进行验证,以决定用户是否有权访问页面.下面用两种方法来说明其实现原理.  一.用HTTP标头来实现  标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串.HTTP采用一种挑战/响应模式对试图进入受密码保护区域的用户进行身份验证.具体来说,当用户首次向W

12c连接pdb的两种方法

连接可插拔数据库的两种方法 <roidb01:cdb:/home/oracle>$sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Sat Jan 20 17:59:56 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1