当前位置:主页 > 软件编程 > JAVA代码 >

SpringMVC存取Session的两种方法

时间:2021-08-01 08:55:10 | 栏目:JAVA代码 | 点击:

WEB 应用通常会引入 Session,用来在服务端和客户端之间保存一系列动作/消息的状态,比如网上购物维护 user 登录信息直到 user 退出。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"; 
  } 
} 

您可能感兴趣的文章:

相关文章