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


你可能感兴趣的:(Spring)