912设计过滤器 1.过滤器基本结构 个过滤器程序的基本结构如下: package…; Import public class Filter?1 implements Filter《〃/这里是给出 Filter的一个实现类 Filter1 public void destroy (i /添加代码 public void doFilter Servletrequest request servletresponse response Filter Chain filter Chain )throws IOException, ServletException( /添加代码 public void init(Filter Config filter Config throws ServletExceptiont /添加代码
9.1.2 设计过滤器 package …; import …; public class Filter1 implements Filter{ //这里是给出Filter的一个实现类Filter1 public void destroy(){ //添加代码 } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException,ServletException{ //添加代码 } public void init(FilterConfig filterConfig) throws ServletException{ //添加代码 } } 1. 过滤器基本结构 一个过滤器程序的基本结构如下:
91,2设计过滤器 2.过滤器的建立 在 MyEclipse开发环境下创建过滤器是很方便的,其创建过程: ·创建实现 Filter接口的类:在项目的src下,创建一个或多个过 滤器,并采用“包”结构的方式组织所有的过滤器 实现int方法,读取过滤器的初始化函数。 将过滤行为放入 dofilter()方法中:实现 dofilter(),完成该过滤 器所需要过滤功能。 ·调用 filterchain对象的 dofilter方法: filterchain对象是过滤器接 口的 dofilter方法的一个参数,调用 Filterchair的 do filter方法时 ,下一个关联的过滤器将被调用,若没有其他与 Servlet或JSP 相关联的过滤器,就调用Ser√et或JSP本身。 ·将过滤器与特定的 Serve或SP页面关联:使用部署配置文件 ( web. xm)中的fte元素和 filter-mapping元素
9.1.2 设计过滤器 • 创建实现Filter接口的类:在项目的src下,创建一个或多个过 滤器,并采用“包”结构的方式组织所有的过滤器。 • 实现init方法,读取过滤器的初始化函数。 • 将过滤行为放入doFilter()方法中:实现doFilter(),完成该过滤 器所需要过滤功能。 • 调用filterchain对象的doFilter方法:filterChain对象是过滤器接 口的doFilter方法的一个参数,调用Filterchain的doFilter方法时 ,下一个关联的过滤器将被调用,若没有其他与Servlet或JSP 相关联的过滤器,就调用Servlet或JSP本身。 • 将过滤器与特定的Servlet或JSP页面关联:使用部署配置文件 (web.xml)中的filter元素和filter-mapping元素。 2.过滤器的建立 在MyEclipse开发环境下创建过滤器是很方便的,其创建过程:
第1步:实现Fter的接口,建立过滤器 选中工程,右击工程src目录,选择“new",再选择 “cass",显示如图9-2所示的对话框,并按提示输入有关的信 息:在包 filter下新建过滤器类 Filter first. java 输入包名 输入过滤器 添加要实现的接口 名称 缸fEr java servlet Filtere I rlis astir wad sainctrinI wn) 9 Tartet attert stads 图9-2过滤器创建对话框 点击图9-2中的“ Finish"按钮后,就建立了过滤器程序的基本框 架。新建的 Servlet的基本结构代码
第1步:实现Filter的接口,建立过滤器 选中工程,右击工程src目录,选择“new”,再选择 “class”,显示如图9-2所示的对话框,并按提示输入有关的信 息:在包filter下新建过滤器类Filter_first.java。 点击图9-2中的“Finish”按钮后,就建立了过滤器程序的基本框 架。新建的Servlet的基本结构代码:
第2步:将过滤行为放入 dofilter()方法中,按功能需要,实现 dofilter(0)方法。 第3步:过滤器与相关联的 Servlet、JSP注册, 过滤器的配置信息要在web.xm注册。配置过滤器需要使用 <fter和< filter-mapping>元素,并且要放在<app>与</ap之间。 其配置格式: <filter <filter-name> Filter Name </filter-name> <filter-class>package className </filter-class> <init-param> <param-name>Param 1</param-name> <param-value>ParamValue 1</param-value> </init-param> </filter> <filter-mapping> <filter-name>FilterName </filter-name> <url-pattern>/paths/url-pattern> </filter-mapping> <filter-mapping> <filter-name>Filter Name s /filter-name> <servlet-name>ServletName</servlet-name> </filter-mapping>
第2步:将过滤行为放入doFilter()方法中,按功能需要,实现 doFilter()方法。 第3步: 过滤器与相关联的servlet、JSP注册, 过滤器的配置信息要在web .xml注册。配置过滤器需要使用 <filter>和<filter-mapping>元素,并且要放在<app>与</app>之间。 其配置格式: <filter> <filter-name> FilterName </filter-name> <filter-class>package.className </filter-class> <init-param> <param-name>ParamName1</param-name> <param-value>ParamValue1</param-value> </init-param> </filter> <filter-mapping> <filter-name>FilterName </filter-name> <url-pattern>/path</url-pattern> </filter-mapping> <filter-mapping> <filter-name>FilterName </filter-name> <servlet-name>ServletName</servlet-name> </filter-mapping>