喜只狼果冻 2019-03-05 15:39 采纳率: 50%
浏览 13185

如何配置filter过滤器,如何放行而不是全部拦截

配置过滤器次次失败,比如我通过servlet验证登录,然后我允许验证登录的servlet请求通过以及注册页面,我该如何配置

web.xml

 <filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>com.lero.filter.LoginFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

为什么我写的拦截器跳不到login.jsp同事resister.jsp也通过不了

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
            throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession session = request.getSession();
        Object object = session.getAttribute("name");
        String path = request.getServletPath();
        if ( path.indexOf("register") >-1) {

            filterChain.doFilter(servletRequest, servletResponse);
            return;
        } else {
            response.sendRedirect("login.jsp");
        }
    }

然后我这样写虽然都通过了,但页面确实空白

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
            throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession session = request.getSession();
        Object object = session.getAttribute("name");
        String path = request.getServletPath();
        if ( path.indexOf("login") >=0) {

            filterChain.doFilter(request, response);
            return;
        } else if(path.indexOf("redister.jsp")>-1){
            filterChain.doFilter(request, response);
        }
    }
  • 写回答

5条回答

  • Dream_to_good 2019-03-05 16:07
    关注

    正常的系统,肯定需要都拦截吧 不然要拦截器干嘛,如果想放行一些不想拦截的 看看这个例子吧,
    https://www.cnblogs.com/liyangxj/p/4506148.html

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?