java filter

FandyKing 2015-06-25 04:33:45
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
UserBean user = (UserBean) session.getAttribute("user");
String url = req.getRequestURL().toString();//

if (url.contains(".jsp") || url.contains(".action")) {
if (session == null || user == null) {// Session invalidate
if (!this.ignoreUrl(url)) {
request.getRequestDispatcher("/login.jsp").forward(request, response);
// return;
// res.sendRedirect(req.getContextPath() + "/login.jsp");
}
} else {
if (user.getId() != 0) {
ClientUserHolder.setCurUserId(user.getId());
chain.doFilter(request, response);
} else {
res.sendRedirect(req.getContextPath() + "/login.jsp");
}
}
}

}

public void init(FilterConfig config) throws ServletException {
}

private boolean ignoreUrl(String url) {
String[] ignoreList = { "login_login.action", "login.jsp" };
for (String ignore : ignoreList) {
// if (url.contains(ignore)) {
if (url.indexOf(ignore) > -1) {
return true;
}
}
return false;
}


比如我现在打开了一个页面,然后我把项目重新启动了
我不刷新之前的页面,直接点击注销。
界面不跳转到登录页面。

希望大家可以帮助下,在线求助!
...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
番茄鲨鱼面 2015-06-26
  • 打赏
  • 举报
回复
设个断点,单步执行一下看看到没到这个if里面。

if (session == null || user == null) {// Session invalidate
	if (!this.ignoreUrl(url)) {
		request.getRequestDispatcher("/login.jsp").forward(request, response);
		//	return;
		//	res.sendRedirect(req.getContextPath() + "/login.jsp");
	}
}
FandyKing 2015-06-25
  • 打赏
  • 举报
回复
<filter> <filter-name>LoginSessionCheckFilter</filter-name> <filter-class>com.mck.ops.basic.filter.LoginSessionCheckFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginSessionCheckFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 这是我web.xml中的代码

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧