SpringMVC框架在Controller中对于Session的处理

Controller中的代码:

@Controller
@SessionAttributes({"User","Y"})		//此处定义此Controller中将要创建和使用哪些session中的对象名
public class UserController {
	@Resource
	private UserService userService;
	
	@RequestMapping("user_login")
	public String login(User user, ModelMap modelMap){		
		//modelMap自动与session对应,你在往modelmap中添加对应属性便是往session中添加属性(前提是你已经在@SessionAttributes注解中定义好)
		User userTemp = this.userService.findByName(user.getName());
		if((userTemp.getState() == 1) && (userTemp.getPassword().equals(user.getPassword())){
			modelMap.addAttribute("User", userTemp);		//成功将userTemp存入session中
			modelMap.addAttribute("Y",1);					//成功将1存入session中
			return "/user/index";
		}else {
			return "index";
		}
	
	@RequestMapping("user_logout")
	public String logout(@ModelAttribute("User") User user, SessionStatus sessionStatus){	
		//@ModelAttribute("User")相当于将session中名为"User"的对象注入user对象中
		//sessionStatus中的setComplete方法可以将session中的内容全部清空
		sessionStatus.setComplete();
		return "index";
	}
}
User类的代码:

public class User {
    private Integer id;

    private String name;

    private String password;

    private String email;

    private String activecode;

    private Integer state;

  //省略set和get方法
}
总结:

如果用@SessionAttributes注解的话,博主暂时没有找出好方法可以单独删除session中的一个对象,即便是在action中传入参数HttpSession依然是只能获得session中的内容,无法删除,如果大家找到好办法能解决这个问题,还望能在评论中留下解决方法或者联系方式,博主将感激不尽!!


  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值