java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java过滤器 监听器

深入了解Java中的过滤器Filter和监听器Listener

作者:共饮一杯无

这篇文章主要为大家详细介绍了Java中的过滤器Filter和监听器Listener的使用以及二者的区别,文中的示例代码讲解详细,需要的可以参考一下

Filter:过滤器

概念

生活中的过滤器:净水器,空气净化器,土匪、 web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用:

一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤...

快速入门

步骤

1.定义一个类,实现接口Filter

2.复写方法

3.配置拦截路径

代码

@WebFilter("/*")//访问所有资源之前,都会执行该过滤器
public class FilterDemo1 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("filterDemo1被执行了....");


		//放行
		filterChain.doFilter(servletRequest,servletResponse);

	}

	@Override
	public void destroy() {

	}
}

过滤器细节

web.xml配置

<filter>
	<filter-name>demo1</filter-name>
	<filter-class>cn.zjq.web.filter.FilterDemo1</filter-class>
</filter>
<filter-mapping>
	<filter-name>demo1</filter-name>
	<!-- 拦截路径 -->
	<url-pattern>/*</url-pattern>
</filter-mapping>

过滤器执行流程

过滤器生命周期方法

过滤器配置详解

拦截路径配置:

拦截方式配置:资源被访问的方式

注解配置:

web.xml配置 设置标签即可

过滤器链(配置多个过滤器)

执行顺序:如果有两个过滤器:过滤器1和过滤器2

过滤器先后顺序问题:

如: AFilter 和 BFilter,AFilter就先执行了。 2. web.xml配置: 谁定义在上边,谁先执行

Listener:监听器

概念:web的三大组件之一。 事件监听机制

ServletContextListener:监听ServletContext对象的创建和销毁 方法: void contextDestroyed(ServletContextEvent sce) :ServletContext对象被销毁之前会调用该方法 void contextInitialized(ServletContextEvent sce) :ServletContext对象创建后会调用该方法 步骤:

web.xml

<listener>
  <listener-class>cn.zjq.web.listener.ContextLoaderListener</listener-class>
</listener>

指定初始化参数

注解:

@WebListener

到此这篇关于深入了解Java中的过滤器Filter和监听器Listener的文章就介绍到这了,更多相关Java过滤器 监听器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文