SpringMVC存取Session的两种方法
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("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";
}
}
获取 ServletContext 对象 ;
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
获取(父Spring容器 )ApplicationContext对象
spring 中获取applicationContext其实也很简单只要类实现ApplicationContextAware 接口即可,这样你就可获取上下文中所有bean,很好使的。
-- - 部分来源网络
方法一:使用servlet-api
@Controllerpublic 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
@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";
}
}
获取 ServletContext 对象 ;
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
获取(父Spring容器 )ApplicationContext对象
spring 中获取applicationContext其实也很简单只要类实现ApplicationContextAware 接口即可,这样你就可获取上下文中所有bean,很好使的。