java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringMVC存取Session

SpringMVC存取Session的两种方法

作者:南蛮虫

Spring MVC是个非常优秀的框架,本篇文章主要介绍了SpringMVC存取Session的两种方法,具有一定的参考价值,有兴趣的可以了解一下。

WEB 应用通常会引入 Session,用来在服务端和客户端之间保存一系列动作/消息的状态,比如网上购物维护 user 登录信息直到 user 退出。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,HttpSession httpSession){ 
     
    ManagerModel manager = managerServiceImpl.getManager(managerModel); 
    if(manager!=null){ 
      manager.setPassword(""); 
      httpSession.setAttribute("manager", manager); 
      return new ModelAndView(new RedirectView("../admin/main.jsp")); 
    }else{ 
      return new ModelAndView(new RedirectView("../admin/login.jsp")); 
    } 
  } 
   
  @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) 
  public String logout(HttpSession httpSession){ 
    httpSession.getAttribute("manager"); 
    return "success"; 
  } 
} 

方法二:使用SessionAttributes

@Controller 
@SessionAttributes("manager") 
public class ManagerController { 
 
  @Resource 
  private ManagerService managerServiceImpl; 
   
  @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)  
  public ModelAndView login(ManagerModel managerModel,ModelMap model){ 
     
    ManagerModel manager = managerServiceImpl.getManager(managerModel); 
    if(manager!=null){ 
      manager.setPassword(""); 
      model.addAttribute("manager", manager); 
      return new ModelAndView(new RedirectView("../admin/main.jsp")); 
    }else{ 
      return new ModelAndView(new RedirectView("../admin/login.jsp")); 
    } 
  } 
   
  @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) 
  public String logout(@ModelAttribute("manager")ManagerModel managerModel){ 
    return "success"; 
  } 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文