栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java过滤器无限循环

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java过滤器无限循环

这里,

httpResponse.sendRedirect("login.jsp");

您将向目标页面发送 新的
HTTP请求,而不是使用当前请求。如果此新的HTTP请求被映射到过于通用的网址格式(例如),则当然会再次点击过滤器

/*
。并且将执行相同的检查,并将其再次重定向。Etcetera。这是一个永无止境的故事。

FilterChain#doFilter()
当当前请求的页面是登录页面时,您需要添加额外的检查才能执行。

String loginURL = httpRequest.getContextPath() + "/login.jsp";if (httpRequest.getRequestURI().equals(loginURL)) || session.getAttribute("userName") != null) {    chain.doFilter(request, response);} else {    httpResponse.sendRedirect(loginURL);}

请注意,我还删除了对作为用户名的空字符串进行的无意义的检查(但是, 要确保 您的
代码无处将空字符串作为用户名。仅用于

null
表示未登录的用户。还要注意,我修复了也重定向URL,因为当当前请求的URL在子文件夹中时,URL将会失败。

一种不同的方法是把在一个共同的子文件夹中的所有那些受限网页,例如

/app
/secured
/restricted
等,并然后映射滤波器上的URL模式
/app/*
/secured/*
/restricted/*
等代替。如果将登录页面保留在此文件夹之外,则在请求登录页面时将不会调用过滤器。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号