Listener
Posted huangyi-427
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Listener相关的知识,希望对你有一定的参考价值。
一 Listener简介
Listener是JavaWeb三大组件之一 Web中的监听器
事件监听机制
事件: 一件事情
事件源: 事件发生的地方
监听器: 一个对象
注册监听: 将事件 事件源 监听器绑定在一起 当事件源上发生某个事件后 执行监听器代码
二 新建一个Listener
2. 自定义一个类 实现ServletContextListener接口
/** * Listener快速入门 * Created by Hy on 2020/7/3. */ public class ListenerDemo1 implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { // 监听ServletContext对象创建 当服务器启动后 ServletContext对象自动创建 System.out.println("contextInitialized()"); // 获取初始化参数 ServletContext context = servletContextEvent.getServletContext(); String name = context.getInitParameter("name"); System.out.println("name = " + name); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { // 监听ServletContext对象销毁 当服务器正常关闭后 ServletContext对象被销毁 System.out.println("contextDestroyed()"); } }
3. 配置Listener web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <!-- 配置Listener --> <listener> <listener-class>com.hy.listener.ListenerDemo1</listener-class> </listener> <!-- 初始化参数 --> <context-param> <param-name>name</param-name> <param-value>hy</param-value> </context-param> </web-app>
启动项目
三 Servlet3.0注解
使用注解代替web.xml配置
/** * Servlet3.0注解 * Created by Hy on 2020/7/3. */ @WebListener public class ListenerDemo2 implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { // 监听ServletContext对象创建 当服务器启动后 ServletContext对象自动创建 System.out.println("contextInitialized..."); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { // 监听ServletContext对象销毁 当服务器正常关闭后 ServletContext对象被销毁 System.out.println("contextDestroyed..."); } }
以上是关于Listener的主要内容,如果未能解决你的问题,请参考以下文章
JSF:-DataType 和 Action Listener 的问题
servlet,filter,listener,intercepter区别