웹 애플리케이션은 일반적으로 서버와 클라이언트 간의 일련의 작업/메시지 상태를 저장하기 위해 세션을 도입합니다. 예를 들어 온라인 쇼핑은 사용자가 로그아웃할 때까지 사용자 로그인 정보를 유지합니다. SpringMVC가 세션에 액세스하는 방법에는 다음과 같이 두 가지가 있습니다.
방법 1: 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"; } }
방법 2: SessionAttribute 사용
@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"; } }
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
SpringMVC가 Session에 접근하는 두 가지 방법에 대한 더 많은 관련 글은 PHP 중국어 홈페이지를 참고해주세요!