戚权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 域中移除
总结
今天的知识是相当有趣的,就是课后作业很难
近期评论