当前位置:Gxlcms > JavaScript > SpringMVC存取Session的两种方法

SpringMVC存取Session的两种方法

时间:2021-07-01 10:21:17 帮助过:69人阅读

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"; 
  } 
}

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

更多SpringMVC存取Session的两种方法相关文章请关注PHP中文网!

人气教程排行