首頁  >  文章  >  web前端  >  SpringMVC存取Session的兩種方法

SpringMVC存取Session的兩種方法

高洛峰
高洛峰原創
2017-01-07 09:25:261392瀏覽

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中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn