邹瑞20201109

总结

过滤器

Filter :是Java中预先定义好了的接口,可以过滤不同的内容,具体怎么过滤,需要使用者定义一个 实现类,然后实现接口中的过滤方法,在方法中书写过滤的条件。filter是对客户端访问资源的过滤,符 合条件放行,不符合条件不放行

我们可以使用过滤器来过滤非法字符,以及登陆权限检查等等。

创建过滤器

public interface Filter

  1. 我们创建一个过滤器的话需要实现 Filter 这个接口
  2. doFilter 方法执行过滤器的功能

使用步骤

  1. 编写一个 Servlet ,路径为 /captcha
  2. 创建一个类实现过滤器接口 javax.servlet.Filter
  3. xml方式或者注解方式配置 过滤器拦截的请求路径(urlPatterns = "/captcha"
  4. 在 doFilter 方法中书写过滤任务
  5. filterChain.doFilter 方法放行

注解参数介绍s

总结

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

重定向到index.jsp: resp.sendRedirect(req.getContextPath()+"/index.jsp");

无论是直接访问还是重定向访问 index.jsp ,都会执行过滤器

forward

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

请求转发:req.getRequestDispatcher("index.jsp").forward(req, resp);

配置

注解 dispatcherTypes = DispatcherType.FORWARD

xml FORWARD

过滤器链

过滤器链中多个过滤器的执行顺序

在 xml 配置方式中,过滤器的执行顺序是通过各自的 标签在 web.xml 的顺序执 行的,谁在上面谁先执行.
在注解配置方式中,过滤器的执行顺序是通过过滤器的类名的字符顺序决定的.

监听器

一旦被监视的对象发生相应的变 化,我们应该采取相应的操作。这就需要用到java中的监听器

web监听器是一种 Servlet 中的特殊的类,它们能帮助开发者监听web中的特定事件,比如 ServletContext , HttpSession , ServletRequest 的创建和销毁等。可以在某些动作前后增加处理, 实现监控

监听器开发步骤

监听器在web开发中使用的比较少,见的机会就更少了,今天我们使用ServletContextListener来带领 大家学习下监听器,因为这个监听器是监听器中使用率高的一个,且监听器的使用方式都差不多.
我们使用这个监听器可以在项目启动和销毁的时候做一些事情,例如,在项目启动的时候加载配置文件.

使用步骤

1.创建一个类实现 ServletContextListener 接口
2.给这个类在xml中配置或者添加注解 @WebListener
3.实现 ServletContextListener 的 contextInitialized 和 contextDestroyed 方法。

标签

评论

this is is footer