jsp中过滤器的使用

jsp中过滤器的使用

ID:33624742

大小:58.50 KB

页数:27页

时间:2019-02-27

jsp中过滤器的使用_第1页
jsp中过滤器的使用_第2页
jsp中过滤器的使用_第3页
jsp中过滤器的使用_第4页
jsp中过滤器的使用_第5页
资源描述:

《jsp中过滤器的使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Servlet过滤器一、什么是Servlet过滤器过滤器是在数据交互之间过滤数据的中间组件,独立于任何平台或者Servlet容器。Servlet过滤器可以应用在客户机和servlet之间、servlet和servlet或JSP页面之间,以及所包括的每个JSP页面之间。二、实现一个Servlet过滤器Servlet过滤器API包含javax.servlet包中的3个接口,分别是Filter、FilterChain和FilterConfig。实现一个Servlet过滤器的确要经历三个步骤。1、编写Servlet过滤器实现类。2、配置Servlet过滤器。把该过滤器添加到W

2、eb应用程序中(通过在Web部署描述符/web.xml中声明它);3、部署Servlet过滤器。把过滤器与应用程序一起打包并部署它;Servlet容器对部署描述符中声明的每一个过滤器,只创建一个实例(或实例池)。与Servlet类似,容器将在同一个过滤器实例上运行多个线程来同时为多个请求服务,因此,开发过滤器时,也要注意线程安全的问题。三、编写过滤器实现类1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口a、init(FilterConfig):这是Servlet过滤器的初始化方法,Servlet容器创建Servl

3、et过滤器实例后将调用这个方法。在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。b、doFilter(ServletRequest,ServletResponse,FilterChain):这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器。c、destroy():Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。2、过滤器实现类创建步骤(过滤器实现类生命周期):a.实现javax

4、.servlet.Filter接口。b.初始化:实现init方法,读取过滤器的初始化参数。c.过滤:实现doFilter方法,完成对请求或响应的过滤。d.转发或阻塞:调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应。e.析构:destroy方法销毁过滤器,释放过滤器占用的资源。四、配置Servlet过滤器(在web.xml中配置)过滤器通过web.xml文件中的两个XML标签来声明:1、:定义过滤器的名称,并且声明过滤器实现类和init()参数。:指定过滤器的名字;

5、s>:指定过滤器类的类名,包括类的路径;:为过滤器实例提供初始化参数,可以有多个;2、:将过滤器与servlet或URL模式相关联。:指定过滤器的名字,与中的子元素相对应;:指定和过滤器关联的URL,为”/*”表示所有URL;3、元素还可以包含0到4个,指定过滤器对应的请求方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST

6、.REQUEST当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问时,那么该过滤器就不会被调用。INCLUDE如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。FORWARD如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。ERROR如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此

7、之外,过滤器不会被调用。在web.xml中配置Servlet和Servlet过滤器,应该先声明过滤器元素,再声明Servlet元素。两个或更多个过滤器应用到同一个资源,按照它们在配置文件中显示的先后次序调用它们。例子1:单个过滤器配置:容器将其应用于所有接收的请求FilterNameFilterName

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。