现在就想实现几个页面(但不是全部页面)包括servlet(全部servlet)不能直接从url里访问,如果有访问的全部返回到index.html
但是我这里实验了半天filter就是不成功。
请大家帮帮我,应该怎样实现啊,谢谢

解决方案 »

  1.   

    首先写一个Filter,其中的doFilter方法可如下写:public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,ServletException   
    {   
        HttpServletResponse response = (HttpServletResponse)response;   
        response.sendRedirect("index.html");
    } 然后在web.xml中:<filter>
    <filter-name>goto</filter-name>
    <filter-class>你写的Filter的完全限定名</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>goto</filter-name>
    <url-pattern>/需要进行过滤的请求路径</url-pattern>
    </filter-mapping>
      

  2.   

    感谢回复,谢谢,有个问题
    <url-pattern>/需要进行过滤的请求路径</url-pattern>
    这里比如我要过滤a.jsp,b.jsp,c.jsp还有一些servlet,这里怎样写?谢谢
      

  3.   

    /*     --当前web应用的所有请求都过滤
    /*.do  --当前web应用的所有后缀为.do的请求都过滤
    /jsp/* --当前web应该根目录下对jsp文件夹中的所有请求都过滤
      

  4.   

    1楼的要实现  implements Filter   接口