您的位置:首页 > 其它

Filter与Servlet的区别

2014-05-14 11:21 148 查看
Filter
Servlet
接口
实现Filter接口
实现Servlet接口
使用步骤
1、创建类,继承接口
2、实现方法
init()
doFilter()
destroy()

3、配置WEB-INF/web.xml
1、创建类,继承接口
2、实现方法
init()
service()
destroy()
getServletConfig()
getServletInfo()
3、配置WEB-INF/web.xml
初始化时间
Servlet容器启动之后即初始化
Servlet类被调用之后初始化、先于Filter调用。
初始化可以在容器启动后被调用但需要配置。
调用顺序
1. 按照web.xml中的映射配置顺序按照配置条件从后向前调用
2. 层次调用doFilter()方法中FilterChain.doFilter()之前的内容
3. 调用Servlet中的service()方法
4. service方法执行完毕后,层次调用doFilter()中FilterChain.doFilter()之后的方法,顺序与之前的相反

按照web.xml中的映射配置顺序按照配置条件从后向前调用第一个满足条件的Servlet,调用之前事先执行满足条件的Filter,不存在层次调用Servlet问题
销毁
服务器停止后销毁,晚于Servlet销毁之后
服务器停止后销毁
作用
1. 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。
2. 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。
3. 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。
4. 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。
主要是处理客户端的请求并将其结果发送到客户端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: