日期:2014-05-20  浏览次数:20816 次

关于过滤器
Java code
<filter-mapping>
        <filter-name>signOnFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

如果在web.xml中配置了"/*"是不是该工程中所有的请求都会走过滤器验证?这样的话,服务器的压力会不会很大。

------解决方案--------------------
是过滤所有。不过服务器表示鸭梨不大!
------解决方案--------------------
过滤所有的东西,相当于你的每个请求都会经过web容器的检查,虽然这个压力不是很大,但是必定还是会有一定的开销,如果不是特别的功能,当然不建议这样做,可以根据你自己的需求而定是否需要每次请求都要过滤
------解决方案--------------------
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest httpReq = (HttpServletRequest)request;

HttpServletResponse httpRes = (HttpServletResponse)response;

String servletPath = httpReq.getServletPath();

}

通过servletPath就可以判断当前提交上来的路径。
------解决方案--------------------
一般只过滤action和jsp就足够了
------解决方案--------------------
想不过滤特定的jsp可以自己写个Filter。
探讨
引用:
是过滤所有。不过服务器表示鸭梨不大!

如果我的某个jsp不想被过滤呢?应该在什么地方配置?

------解决方案--------------------
我想应该没有什么压力吧,容器用的可能就是观察者模式。即使你什么filter都不配置,容器在接到请求的时候也是要自己做一些事情的,加上你的filter只不过就是多跑了一个方法而已。
------解决方案--------------------
个人观点:一般还是过滤什么,写什么好点,清楚明白