tomcat启动时抛出URL检查问题

 

这是什么问题呢?这个问题已经纠结了我好几天了。。。

原来是在项目中加了个过滤器问题

做登录 session检查时出现的问题

 

 

 

解决方法:

1、要么把过滤器给删了(因为你的过滤器配置有问题)

2、正确拦截页面或请求

package org.booking.filter;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
* Created by Administrator on 2017/3/17.
*/
public class CheckLogin implements Filter {

private final static String NAME = "adminName";
/*这个集合存放所有想要拦截的请求url*/
private List<String> chainList = new ArrayList<>();
public CheckLogin(){
chainList.add("../maoYan_background/index.jsp");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String path = req.getServletPath();
/*只要集合存在这个请求的url路径,就放行*/
if(chainList.indexOf(path) == -1){
chain.doFilter(req,res);
}else {
HttpSession session = req.getSession();
if(session.getAttribute(NAME) == null){
if(req.getHeader("x-requested-with")==null){
res.sendRedirect("../maoYao_Login/login.html");
return;
}else{
res.setContentType("text/html;charset=utf-8");
res.getWriter().print("false");
}
}else {
chain.doFilter(req,res);
}
}
}


@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void destroy() {

}

}


 

posted @ 2017-03-17 16:36  _xuanwang  阅读(327)  评论(0编辑  收藏  举报