过滤jsp页面的时候我是这么写的:
<filter>
    <filter-name>UserFilter</filter-name>
    <filter-class>nsiemp.servlet.filter.UserFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>UserFilter</filter-name>
    <url-pattern>/user/*</url-pattern>
</filter-mapping>但是直接访问我的某些servlet也能进入我的后台,但是程序里的servlet该怎么过滤呢?<url-pattern>直接就定位到WEB-ROOT了啊求解:)

解决方案 »

  1.   

    跟JSP没任何区别,实际上JSP在运行时都是编译为Servlet再执行的。所以你的问题,可能来自于你的某个误解;或者其它你没说清楚的原因。
      

  2.   

    是不是我在<url-pattern></url-pattern>里面把我的servlet所在的包的全路径写上就行了呢?因为servlet都放在src下了 所以我以为只能过滤*.jsp请求 如果直接输入servlet我就不知道怎么过滤了=。=
      

  3.   

    不,是Servlet的Mapping路径。跟类包没有任何关系。
      

  4.   

    过滤器的链接截取有几种形式,外网访问,include与forward与all,这几种形式可以共存,一般默认之截取外网访问,如果你全部指定或者选择all,无论合适访问到该jsp都会被截取,即使是程序内部转发,不过你要小心这种形式的转发,因为可能会进入死跳转。