监听器(Listener)
Listener(监听器)——Servlet中的事件监听器(上)—第一类
Listener(监听器)——Servlet中的事件监听器(下)—第二类和第三类
什么是监听器
监听器的用途
用来监听其他对象的变化的。主要应用在图形化界面开发上。
Java中GUI、Android
监听器可以用来检测网站的在线人数,统计网站的访问量等等!
监听器的术语
监听器可以想象成现实生活中的例子:
汽车都有报警器,你踹一脚汽车,汽车的报警器就会报警,这就是监听。
监听器的入门
监听器典型案例——监听window窗口的事件监听器
首先创建一个窗口(事件源),然后再创建一个MyWindowListener类(监听器),再将事件源和监听器绑定,在MyWindowListener类中设置一个事件,程序中的事件是当关闭窗口的时候触发,所以在关闭窗口的时候就会执行事件类。
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
/**
* GUI的小窗口演示监听器
*
* @author 25858
*
*/
public class MyFrame extends JFrame {
public static void main(String[] args) {
// 1. 创建小窗口对象(被监听对象/事件源)
MyFrame myFrame = new MyFrame();//代表一个window窗口
// 设置窗口的宽高
myFrame.setBounds(0, 0, 200, 200);
// 2. 设置窗口显示
myFrame.setVisible(true);
// 在事件源上绑定监听器/事件源和监听器的绑定
myFrame.addWindowListener(new MyWindowListener());
}
}
/**
* 监听器对象/监听器
*
* @author 25858
*
*/
class MyWindowListener implements WindowListener {
@Override
// 事件
/*
* 当window窗体关闭时,MyWindowListener 这个监听器就会监听到,
* 监听器就会调用windowClosing方法处理window窗体关闭时的动作
*/
public void windowClosing(WindowEvent e) {
System.out.println("窗口关闭");
}
@Override
public void windowOpened(WindowEvent e) {
// TODO 自动生成的方法存根
}
@Override
public void windowClosed(WindowEvent e) {
// TODO 自动生成的方法存根
}
@Override
public void windowIconified(WindowEvent e) {
// TODO 自动生成的方法存根
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO 自动生成的方法存根
}
@Override
public void windowActivated(WindowEvent e) {
// TODO 自动生成的方法存根
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO 自动生成的方法存根
}
}
运行结果:
在运行程序后再关闭程序,会触发事件,然后执行事件方法。
监听器的执行过程
Servlet中的监听器
Listener(监听器)——Servlet中的事件监听器(上)
Servlet中的监听器简介
在Servlet中定义了多种类型的监听器,它们用于监听的事件源分别是ServletContext、HttpSession和ServletReguest这三个域对象。
Servlet中的监听器分类
在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为ServletContext,HttpSession和ServletRequest这三个域对象。Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:
ServletContextListener监听器
ServletContextListener监听器的作用
用来监听ServletContext 域对象的创建和销毁的监听器。
ServletContext对象创建和销毁
ServletContextListener监听器的方法
监听ServletContext对象的创建:
监听ServletContext对象的销毁:
编写监听器监听ServletContext对象创建和销毁
监听器类:
/**
* ServletContextListener监听器
*
* @author 25858
* * 事件源:ServletContext
* * 监听器:MyServletContextListener
* * 事件源和监听器绑定