一、概念
1、web中的过滤器
当访问服务器资源的时候,过滤器可以将请求拦截下来,完成一些特殊的功能。
2、过滤器的作用
一般用于完成通用的 *** 作。如:登录验证、统一编码处理、敏感字符过滤...
二、快速入门
1、步骤
(1)定义一个类,实现接口Filter
(2)复写方法
(3)配置拦截路径
-
方式一:web.xml
-
方式二:注解
2.代码
@WebFilter("/*")//访问所有的资源之前,都被执行该过滤器public class FileterDemo1 implements Filter { @Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("过滤器被执行了......");
//放行 filterChain.doFilter(servletRequest,servletResponse; }
@Override
public void destroy() {
}
}
三、过滤器细节
1、web.xml配置
MyFilter01 filter.MyFilter01 MyFilter01 /MyServlet
2、过滤器执行流程
(1)执行过滤器
(2)执行放行后的资源
(3)回来执行过滤器放行代码下边的代码
3、过滤器生命周期方法
(1)init:在服务器启动后,会创建FIlter对象,然后调用init方法。只执行一次,用于加载资源
(2)doFilter:每一次请求被拦截资源后,会执行
(3)destroy:在服务器关闭后,Filter对象被销毁,用于释放资源
4.过滤器拦截路径
① 具体资源路径:/index.jsp
/findUser
只有访问 index.jsp 、findUser 时,过滤器才会被执行
② 拦截目录:/user/*
访问 user 目录下的所有资源时,过滤器都会被执行
③ 后缀名拦截:*.jsp
访问所有后缀名为 jsp 资源时,过滤器都会被执行
④ 拦截所有资源:/*
访问所有资源时,过滤器都会被执行
5.过滤器链
FilterChain 称为过滤器链,web 应用中可以存在很多个 Filter 过滤器,多个 Filter 过滤器组合起来就是一个过滤器链,受同一个 FilterChain 管理。
2.Listener:监听器
1.2.1简介
web 监听器是一种 Servlet 中的特殊的类,它们能帮助开发者监听 web 中的特定事件,比如ServletContext、HttpSession、ServletRequest 的创建和销毁;或者监听变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。框架底层已经帮助我们实现了,此处只做简要介绍。
1.2.2 监听器的使用
① 定义一个类,实现 ServletContextListener 接口,并复写方法
② 配置
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)