邹瑞20201109
总结
过滤器
Filter :是Java中预先定义好了的接口,可以过滤不同的内容,具体怎么过滤,需要使用者定义一个 实现类,然后实现接口中的过滤方法,在方法中书写过滤的条件。filter是对客户端访问资源的过滤,符 合条件放行,不符合条件不放行
我们可以使用过滤器来过滤非法字符,以及登陆权限检查等等。
创建过滤器
public interface Filter
- 我们创建一个过滤器的话需要实现 Filter 这个接口
- doFilter 方法执行过滤器的功能
使用步骤
- 编写一个 Servlet ,路径为 /captcha
- 创建一个类实现过滤器接口 javax.servlet.Filter
- xml方式或者注解方式配置
过滤器拦截的请求路径(urlPatterns = "/captcha" - 在 doFilter 方法中书写过滤任务
- filterChain.doFilter 方法放行
注解参数介绍
总结
- 当服务器启动的时候,过滤器就被初始化了,执行过滤器的 init 方法
- 每当一个请求的路径是满足过滤器的配置路径,那么就会执行一次过滤器的 doFilter 方法
- 当服务器停止的时候,销毁过滤器,执行过滤器的 destory 方法
重定向到index.jsp: resp.sendRedirect(req.getContextPath()+"/index.jsp");
无论是直接访问还是重定向访问 index.jsp ,都会执行过滤器
forward
按照过滤器默认的拦截方式,我们只能拦截浏览器对服务器的之间访问,但是,如果是服务器资源之间 使用转发的方式,就无法访问了,因此,我们还有一种 forward 拦截方式:当前拦截方式表示只有在进 行请求转发时,才会拦截请求进行过滤
请求转发:req.getRequestDispatcher("index.jsp").forward(req, resp);
配置
注解 dispatcherTypes = DispatcherType.FORWARD
xml
过滤器链
过滤器链中多个过滤器的执行顺序
在 xml 配置方式中,过滤器的执行顺序是通过各自的
在注解配置方式中,过滤器的执行顺序是通过过滤器的类名的字符顺序决定的.
监听器
一旦被监视的对象发生相应的变 化,我们应该采取相应的操作。这就需要用到java中的监听器
web监听器是一种 Servlet 中的特殊的类,它们能帮助开发者监听web中的特定事件,比如 ServletContext , HttpSession , ServletRequest 的创建和销毁等。可以在某些动作前后增加处理, 实现监控
监听器开发步骤
监听器在web开发中使用的比较少,见的机会就更少了,今天我们使用ServletContextListener来带领 大家学习下监听器,因为这个监听器是监听器中使用率高的一个,且监听器的使用方式都差不多.
我们使用这个监听器可以在项目启动和销毁的时候做一些事情,例如,在项目启动的时候加载配置文件.
使用步骤
1.创建一个类实现 ServletContextListener 接口
2.给这个类在xml中配置或者添加注解 @WebListener
3.实现 ServletContextListener 的 contextInitialized 和 contextDestroyed 方法。
近期评论