戚权20201109

知识点:

过滤器

在我们实际项目中,我们对访问某些资源的请求需要进条件的筛选、过滤。当这个请求满足特定的情况,才能让这个请求访问目标资源,如果不满足条件,就不让访问目标资源。

过滤器 doFilter 方法默认拦截请求,如果需要经过过滤器之后,可以继续访问资源,要使用filterChain 对象的 doFilter 方法放行。

  • 当服务器启动的时候,过滤器就被初始化了,执行过滤器的 init 方法
  • 每当一个请求的路径是满足过滤器的配置路径,那么就会执行一次过滤器的 doFilter 方法
  • 当服务器停止的时候,销毁过滤器,执行过滤器的 destory 方法

整个应用的配置

  • 1.创建 UrlFilter 过滤器的配置的过滤路径为 /*
  • 2.浏览器发出当前项目的任何请求都会经过当前过滤器

指定目录下的路径配置

  • 修改 UrlFilter 过滤器的注解配置的过滤路径为 /admin/* ,
  • 浏览器发出当前项目下 admin 下的任何请求,都会经过过滤器

指定后缀名的路径配置

  • .修改 UrlFilter 过滤器的注解配置的过滤路径为 *.jsp
  • 浏览器访问当前项目下的任何 jsp 页面,都会经过过滤器

request

request是默认的拦截方式:浏览器 ( 客户端 )发出的请求都会进行拦截。

  • 直接从地址栏访问 index.jsp , Filter 拦截
  • 重定向到 index.jsp , Filter 拦截

forward

按照过滤器默认的拦截方式,我们只能拦截浏览器对服务器的之间访问,但是,如果是服务器资源之间使用转发的方式,就无法访问了,因此,我们还有一种 forward 拦截方式:当前拦截方式表示只有在进行请求转发时,才会拦截请求进行过滤。

监听器

常见的监听器

javax.servlet.ServletContextListener 作用是监听 ServletContext 的创建和销毁

javax.servlet.http.HttpSessionListener 作用是监听 HttpSession 的创建和销毁

javax.servlet.ServletRequestListener 作用是监听 ServletRequest 的创建和销毁

javax.servlet.ServletContextAttributeListener 作用是监听 ServletContext 属性的变 化

javax.servlet.http.HttpSessionAttributeListener 作用是监听 HttpSession 属性的变 化

javax.servlet.ServletRequestAttributeListener 作用是监听 ServletRequest 属性的变 化

ServletContextAttributeListener

  • 将某个属性添加到 ServletContext 域中
  • ServletContext 域中某个属性值被替换
  • 将某个属性从 ServletContext 域中移除

总结

今天的知识是相当有趣的,就是课后作业很难

标签

评论

this is is footer