prehandle 重复执行_preHandle 刷新页面执行两次

这篇博客探讨了在Spring MVC中SessionInterceptor预处理方法preHandle()执行两次的奇怪现象。作者在代码中检查了Cookie并验证用户令牌,发现每次请求都会打印两个token,并导致问题页面的浏览数增加两倍。问题可能源于配置或逻辑错误,但博客并未给出具体解决方案,暗示这是一个待解决的技术挑战。
摘要由CSDN通过智能技术生成

SessionInterceptor 类中preHandle()方法按照小匠的代码发现,刷新页面会执行两次拦截器,找了半天没有发现原因

下面是我写的代码: 中途有打印token,每次都能打印两个,还有就是进入问题时,会把问题浏览数增加2,代码应该没有错,应该就是拦截器执行了两次,找了半天没有发现原因。

````java

@Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

Cookie[] cookies = request.getCookies();

if (cookies != null && cookies.length != 0)

for (Cookie cookie : cookies) {

if (cookie.getName().equals("token")) {

String token = cookie.getValue();

System.out.println(token);

UserExample userExample = new UserExample();

userExample.createCriteria().andTokenEqualTo(token);

List users = userMapper.selectByExample(userExample);

if (users.size()!=0) {

request.getSession().setAttribute("user", users.get(0));

}

break;

}

}

return true;

}

````

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值