JAVA中nosession问题,今天我要说的是一个sessionid 错误问题 :There is no session with id[xxxxxxx]...

[align=center][align=right]首先我要说的是用到的框架 shiro安全框架 springmvc等

下面我把错误信息拿上来

7F3E00A9B75DB071.png

54B02F1EFC611EA2.png

这个错误主要发生:

我第一次访问登陆页是会出现,登陆方法:

class="java" name="code">@RequestMapping(value = "/login", method = RequestMethod.GET)

public String login(HttpServletRequest request, HttpServletResponse response, Model model) {

logger.info("LoginPage running......");

User user = UserUtils.getUser();

// 如果已经登录,则跳转到管理首页

if(user.getId() != null){

//return "redirect:"+Global.getAdminPath();

return "redirect:/index";

}

return "/commons/index";

}

@RequestMapping(value="/login", method = RequestMethod.POST)

public String login(HttpServletRequest request, Model model){

xxxxxxxxxx

}

这两种,解释下这两种的区别,第一个login 是get 方式传输也就是说如果你第一次用url来访问登陆页那么久走这个方法。

第二个则就是post 当然就是登陆的时候要走的login

我这个错误 第一次访问会出现,logout后也会出现。很奇怪,研究了很久 发现每次出现都是走完get方式, 困扰了很久以后,我改变了思路, 不区分get 和post

因为在shiro配置文件里我们可以/login = authc,先验证后判断去向,所以代码改造后

只有他就行了

/**

* 用户登录

* @return

*/

@RequestMapping(value="/login")

public String login(HttpServletRequest request, Model model){

logger.info("User login......");

String exceptionClassName = (String)request.getAttribute("shiroLoginFailure");

String error = null;

if(UnknownAccountException.class.getName().equals(exceptionClassName)) {

error = "用户名或密码不正确";

} else if(IncorrectCredentialsException.class.getName().equals(exceptionClassName)) {

error = "用户名或密码不正确";

} else if(exceptionClassName != null) {

error = "其他错误:" + exceptionClassName;

}

model.addAttribute("ERROR_LOGIN", error);

return "/commons/index";

}

这时候有同学会问 验证成功怎么办?

那么这里还有个

利用这个方法可以控制你的去向,好了今天就说到这里吧,下次有好的分享会来的[/align][/align]

07008C9CD02714C0.png

大小: 3.7 KB

86B0CEA2407B62F9.png

大小: 15.3 KB

查看图片附件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值