我有2个页面需要过滤
1. http://localhost:8080/testProject/test/test/Test1.jsp
2. http://localhost:8080/testProject/test/Test2.jsp映射如下 <filter-mapping>
<filter-name>TestFilter</filter-name>
<url-pattern>/test/test/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Test</filter-name>
<url-pattern>/test/*</url-pattern>
</filter-mapping>
当我访问 /test/test/Test1.jsp页面的时候,2个过滤器同时有效请问,我如何配置,可以让过滤器只过滤/test/的请求,而不过滤子文件夹/test/test/.

解决方案 »

  1.   

     用<filter-mapping>
            <filter-name>Test</filter-name>
            <url-pattern>/test/*</url-pattern>
        </filter-mapping>的话会过滤/test/的所以请求
    只能把*改成某一个特定文件夹了吧。
      

  2.   

    这个有点类似于捕捉异常
    catch(SQLException e) {
         do something;
    }catch(Exception e) {
         do something else;
    }如果写成catch(Exception e) {
         do something;
    }catch(SQLException e) {
         do something else;
    }
    do something else;语句就不会被执行了但是web.xml中不象JAVA代码中,讲究先后次序,你把
        <filter-mapping>
            <filter-name>TestFilter</filter-name>
            <url-pattern>/test/test/*</url-pattern>
        </filter-mapping>
    写在前头也不管用
    还是给Test1.jsp换个文件夹得了
      

  3.   

    可以在filter中让test/test/*这种形式的直接通过
    if(request.getRequestURI().matches("test/test/.+")){
        fc.doFilter(request, response);
    }
      

  4.   

    /test/* 过滤的时候,通过请求取得,请求的路径。
    如果路径匹配/test/*/...,就直接doFilter(request, response)
      

  5.   

    照你这样写那第一个根本没必要写了?
    /test/*
    只要是路径有/test的话就会过滤了
    那个/test/test/前面没有/test吗?
      

  6.   


    <filter-mapping>
            <filter-name>TestFilter</filter-name>
            <url-pattern>/test/test/*</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>Test</filter-name>
            <url-pattern>/test/*.*</url-pattern>
        </filter-mapping>
    这个再试试
      

  7.   

        <filter-mapping>
            <filter-name>TestFilter</filter-name>
            <url-pattern>/test/test/*</url-pattern>
        </filter-mapping>
        <filter-mapping>
            <filter-name>Test</filter-name>
            <url-pattern>/test/*.*</url-pattern>
        </filter-mapping>