为了减少servlet容器在服务器端对信息的判断量,产生了servlet过滤器。

servlet过滤器是在java servlet规范2.3中定义的,他能够对servlet容器的请求和响应对象进行检查和修改,servlet过滤器本身不产生请求和响应对象,它只是提供过滤作用。

servlet过滤器能够在servlet被调用之检查request对象,修改request header和request内容。

          在servlet被调用之检查request对象,修改request header和request内容。

                         servlet过滤器负责过滤的web组件可以是servlet、jsp或HTML文件

 

所有的servlet过滤器都必须实现javax.servlet.Filter接口,这个接口有三个过滤器类必须时间的方法。

init():可以读取web.xml文件servlet过滤器的初始化参数,在一启动服务器就开始执行

doFilter():执行过滤器操作

destory():释放servlet过滤器占用的资源

串行过滤器的工作流程,即多个Filter一次过滤

问题:

1.在servlet过滤器能否访问application范围内的共享数据?

可以的,因为servlet过滤器首先调用FilterConfig的getServletContext()方法,获取servletContext,再调用servletContext的getAttribute方法来获得application范围内的共享数据。

在web.xml中,配置

<Filter>

  <init-param>

  <param-name>hello</param-name>

  <param-value>world</param-value>

  </init-param>

</Filter>

2.servlet过滤器只能对servlet容器进行过滤?

不正确,servlet过滤器可以对servlet、jsp、html文件过滤

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
  • 2021-12-20
  • 2021-05-31
  • 2022-12-23
  • 2021-12-05
  • 2021-10-03
猜你喜欢
  • 2021-12-28
  • 2021-12-08
  • 2021-10-21
  • 2021-07-17
  • 2022-12-23
  • 2022-12-23
  • 2021-08-02
相关资源
相似解决方案