WEB SYSTEM CLIENT FilterManager Target FilterChain FilterOne FilterTwo FilterThree
1过滤器 ●○ ●定义 ○驻留在服务器端的Web组件,截取客户端和目的资 源间的请求和响应信息,对这些信息进行过滤 Web容器 「迂1迂1厂 滤1 滤 滤 浏览器 器器 器 标文件 过器 目标文 L2T) 2 过滤器在Web应用程序中的位置
1 过滤器 ⚫定义 驻留在服务器端的Web组件,截取客户端和目的资 源间的请求和响应信息,对这些信息进行过滤 浏览器 Web容器 过 滤 器 (1) 过 滤 器 (.) 过 滤 器 (2) 目 标 文 件1 过滤器在Web应用程序中的位置 目 标 文 件2 过 滤 器
1.1过滤器的基本结构 ●过滤器包含在javax.servlet包,要实现过滤器就 必须实现Filter接口, ●javax.servlet.Filter:定义了三个方法 Opublic void init (FilterConfig filterConfig), 化方法。 O public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)类似与 Servlet的service方法。在调用service方法前,调用该方 法。 O public void destroy()方法,销毁方法
1.1 过滤器的基本结构 ⚫ 过滤器包含在javax.servlet包,要实现过滤器就 必须实现Filter接口, ⚫ javax.servlet.Filter:定义了三个方法 public void init(FilterConfig filterConfig),初始 化方法 。 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)类似与 Servlet的service方法。在调用service方法前,调用该方 法。 public void destroy()方法,销毁方法
1.1过滤器的基本结构 ●相关接口 Ojavax.servlet.FilterConfig ●类似于Servlet:接口的ServletConfig,是实现Filter接口的 类上使用标注或Web.xml过滤器设置信息的代表对象由容器 实现,作为参数传入Filter的init方法 Ojavax.servlet.FilterChain ●由容器实现,作为参数传入Filter的doFilter,方法,使 用FilterChain.对象调用下一个过滤器,若为最后一个 则调用目标文件 ●若因为某种情况没有调用doFilter方法,则请求不会 继续交给过滤器或目标文件,这就是所谓的拦截请求
1.1 过滤器的基本结构 ⚫相关接口 javax.servlet.FilterConfig ⚫类似于Servlet接口的ServletConfig,是实现Filter接口的 类上使用标注或Web.xml过滤器设置信息的代表对象由容器 实现,作为参数传入Filter的init方法 javax.servlet.FilterChain ⚫由容器实现,作为参数传入Filter的doFilter方法,使 用FilterChain对象调用下一个过滤器,若为最后一个 则调用目标文件 ⚫若因为某种情况没有调用doFilter方法,则请求不会 继续交给过滤器或目标文件,这就是所谓的拦截请求
过滤器实例 ● 举例:test,jsp,SimpleFilter,java package cc.openhome; import java.io.*; import javax.servlet.*; public class SimpleFilter implements Filter {//init方法 public void init(FilterConfig filterConfig) throws ServletException l/destroy方法 public void destroy(){}
过滤器实例 ⚫ 举例: test.jsp, SimpleFilter.java package cc.openhome; import java.io.*; import javax.servlet.*; public class SimpleFilter implements Filter { //init方法 public void init(FilterConfig filterConfig) throws ServletException { } //destroy方法 public void destroy(){} }