filter与servlet区别

filter:

      1.线性流程:url传来之后,检查之后,可保持原来的流程继续向下执行,被下一个filter, servlet接收;

        2. 功能 : 用于修改对某一资源的请求,或者修改从某一的响应

             可以对请求或响应(Request、Response)统一设置 编码,简化操作;

             同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等等工作

             随web应用启动而启动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁

           

      Filter有如下几个用处。

 

    • 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。
    • 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。
    • 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。
    • 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。

 

Filter有如下几个种类。

 

    • 用户授权的Filter:Filter负责检查用户请求,根据请求过滤用户非法请求。
    • 日志Filter:详细记录某些特殊的用户请求。
    • 负责解码的Filter:包括对非标准编码的请求解码。
    • 能改变XML内容的XSLT Filter等。
    • Filter可负责拦截多个请求或响应;一个请求或响应也可被多个请求拦截。       

servlet:

        1.流程: url传来以后, 就对其进行处理,之后返回或转向到某一自己指定的 servlet 或是 页面

        2. 功能 : 用于业务处理

 

图解filter与servlet 在程序中的关系:

 

 

具体的如下图:

 

posted on 2015-05-13 16:49  丿易小易  阅读(2021)  评论(0编辑  收藏  举报

导航