spring mvc怎么获取session

2024-12-29 18:49:58
推荐回答(1个)
回答1:

方法一:使用servlet-api

[java] view plain copy print?
@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

[java] view plain copy print?
@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";
}
}