Springmvc获取session,session里存取值得方法

  1. session对象的获取:
  2. 1:最简单当形参注入

     @RequestMapping("/main/login")
        public String userLogin(String yhdm,
                HttpSession httpSession, HttpServletRequest request) {
             
            httpSession.setAttribute("clientUser", "a");
            request.getRemodeAddr();
            return "main/framework";
        }

  3. 2:先获取request(通过web.xml配监听,详细在点击打开链接(上一章怎么获取request里)),在通过request获取session


  4. RequestAttributes ra = RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = ((ServletRequestAttributes)ra).getRequest();
    request.getSession().setAttribute("sessionMessage", "im'sessionMessage!");






  5. 方法一:使用servlet-api


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


  1. 方法二:使用SessionAttributes

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


你可能感兴趣的:(springmvc,session)