过滤器:
(
Filter
,javax.servlet包下)
● 对Servlet容器调用Servlet的过程进行拦截,在Servlet进行响应处理的前后实现一些特殊的功能
● Servlet API中定义了三个接口类来供开发人员编写Filter程序:Filter、FilterChain、FilterConfig
● Filter程序是一个实现了Filter接口的Java类,与Servlet程序相似,它由Servlet容器进行调用和执行
● 需要在web.xml文件中进行注册和设置它所拦截的资源( Jsp, Servlet, 静态图片文件和静态html文件)
------------------------------------------------------------------------------------------------------------------
基本工作原理:
● 当注册了Filter拦截处理时,这个Filter就成了Servlet容器与该Servlet程序的通信线路上的一道关卡,可以对Servlet容器发送给Servlet程序的请求和回送进行相应拦截,决定是否将请求继续传递,以及对请求和相应信息是否进行修改
● 可以注册多个Filter程序,每个Filter程序都可以对一个或一组 Servlet 程序进行拦截
● 多个Filter程序对某个Servlet程序的访问过程进行拦截,web容器将把这多个Filter程序组合成一个Filter链(过滤器链)。Filter链中各个Filter的拦截顺序与它们在应用程序的web.xml中映射的顺序一致
------------------------------------------------------------------------------------------------------------------
Filter接口:
init():
在web应用程序启动时,web 服务器将根据 web.xml 文件中的配置信息来创建每个注册的 Filter 实例对象,并将其保存在服务器的内存中。Web容器创建 Filter 对象实例后,将立即调用该 Filter 对象的 init 方法。Init 方法在 Filter 生命周期中仅执行一次,web 容器在调用 init 方法时,会传递一个包含 Filter 的配置和运行环境的 FilterConfig 对象(FilterConfig的用法和ServletConfig类似)。利用FilterConfig对象可以得到ServletContext对象,以及部署描述符中配置的过滤器的初始化参数。在这个方法中,可以抛出ServletException异常,通知容器该过滤器不能正常工作
● 对Servlet容器调用Servlet的过程进行拦截,在Servlet进行响应处理的前后实现一些特殊的功能
● Servlet API中定义了三个接口类来供开发人员编写Filter程序:Filter、FilterChain、FilterConfig
● Filter程序是一个实现了Filter接口的Java类,与Servlet程序相似,它由Servlet容器进行调用和执行
● 需要在web.xml文件中进行注册和设置它所拦截的资源( Jsp, Servlet, 静态图片文件和静态html文件)
------------------------------------------------------------------------------------------------------------------
基本工作原理:
● 当注册了Filter拦截处理时,这个Filter就成了Servlet容器与该Servlet程序的通信线路上的一道关卡,可以对Servlet容器发送给Servlet程序的请求和回送进行相应拦截,决定是否将请求继续传递,以及对请求和相应信息是否进行修改
● 可以注册多个Filter程序,每个Filter程序都可以对一个或一组 Servlet 程序进行拦截
● 多个Filter程序对某个Servlet程序的访问过程进行拦截,web容器将把这多个Filter程序组合成一个Filter链(过滤器链)。Filter链中各个Filter的拦截顺序与它们在应用程序的web.xml中映射的顺序一致
------------------------------------------------------------------------------------------------------------------
Filter接口:
init():
在web应用程序启动时,web 服务器将根据 web.xml 文件中的配置信息来创建每个注册的 Filter 实例对象,并将其保存在服务器的内存中。Web容器创建 Filter 对象实例后,将立即调用该 Filter 对象的 init 方法。Init 方法在 Filter 生命周期中仅执行一次,web 容器在调用 init 方法时,会传递一个包含 Filter 的配置和运行环境的 FilterConfig 对象(FilterConfig的用法和ServletConfig类似)。利用FilterConfig对象可以得到ServletContext对象,以及部署描述符中配置的过滤器的初始化参数。在这个方法中,可以抛出ServletException异常,通知容器该过滤器不能正常工作