1. 程式人生 > >Springmvc獲取session,session裡存取值得方法

Springmvc獲取session,session裡存取值得方法

  1. session物件的獲取:
  2. 1:最簡單當形參注入
  3.  @RequestMapping("/main/login")
        public String userLogin(String yhdm,
                HttpSession httpSession, HttpServletRequest request) {
             
            httpSession.setAttribute("clientUser", "a");
            request.getRemodeAddr();
            return "main/framework";
        }

  4. 2:先獲取request(通過web.xml配監聽,詳細在
    點選開啟連結
    (上一章怎麼獲取request裡)),在通過request獲取session
  5. RequestAttributes ra = RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
    request.getSession().setAttribute("sessionMessage", "im'sessionMessage!");

  6. 方法一:使用servlet-api
  1. @Controller
  2. public
    class ManagerController {  
  3.   //存
  4.     @Resource
  5.     private ManagerService managerServiceImpl;  
  6.     @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)    
  7.     public ModelAndView login(ManagerModel managerModel,HttpSession httpSession){  
  8.         ManagerModel manager = managerServiceImpl.getManager(managerModel);  
  9.         if(manager!=null){  
  10.             manager.setPassword("");  
  11.             httpSession.setAttribute("manager", manager);  
  12.             returnnew ModelAndView(new RedirectView("../admin/main.jsp"));  
  13.         }else{  
  14.             returnnew ModelAndView(new RedirectView("../admin/login.jsp"));  
  15.         }  
  16.     }  
  17.       //取
  18.     @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)  
  19.     public String logout(HttpSession httpSession){  
  20.         httpSession.getAttribute("manager");  
  21.         return"success";  
  22.     }  
  23. }  
  1. 方法二:使用SessionAttributes
  1. @Controller
  2. @SessionAttributes("manager")  
  3. publicclass ManagerController {  
  4.     @Resource
  5.     private ManagerService managerServiceImpl;  
  6.      //存
  7.     @RequestMapping(value = "manager/login.do",method = RequestMethod.GET)    
  8.     public ModelAndView login(ManagerModel managerModel,ModelMap model){  
  9.         ManagerModel manager = managerServiceImpl.getManager(managerModel);  
  10.         if(manager!=null){  
  11.             manager.setPassword("");  
  12.             model.addAttribute("manager", manager);  
  13.             returnnew ModelAndView(new RedirectView("../admin/main.jsp"));  
  14.         }else{  
  15.             returnnew ModelAndView(new RedirectView("../admin/login.jsp"));  
  16.         }  
  17.     }  
  18.      //取 
  19.     @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET)  
  20.     public String logout(@ModelAttribute("manager")ManagerModel managerModel){  
  21.         return"success";  
  22.     }  
  23. }