1方式一 实现servletContextListener,代码如下:

package com.ask.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class Demo1 implements ServletContextListener{
public Demo1(){
System.out.println("Demo1");
}
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("contextDestroyed");
}
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("contextInitialized");
}
  1. 方式二 实现servletRequestListener,代码如下:

package com.ask.listener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
public class Demo2 implements ServletRequestListener{
public Demo2(){
System.out.println("Demo2");
}
public void requestDestroyed(ServletRequestEvent arg0) {
System.out.println("requestDestroyed");
}
public void requestInitialized(ServletRequestEvent arg0) {
System.out.println("requestInitialized");
}
}
  1. 方式三 实现 httpSessionListener,代码如下:

package com.ask.listener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class Demo3 implements HttpSessionListener {
public Demo3(){
System.out.println("Demo3");
}
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("sessionCreated");
}
public void sessionDestroyed(HttpSessionEvent arg0) {
System.out.println("sessionDestroyed");
}
}

4.servlet中show类中代码如下:

package com.ask.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Show extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
HttpSession session=req.getSession();
session.setMaxInactiveInterval(1);
System.out.println("实现监听的三种方式");
res.getWriter().write("实现监听的三种方式");
}
}
  1. xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>firstServlet</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<listener>
<listener-class>com.ask.listener.Demo1</listener-class>
</listener>
<listener>
<listener-class>com.ask.listener.Demo2</listener-class>
</listener>
<listener>
<listener-class>com.ask.listener.Demo3</listener-class>
</listener>
<servlet>
<servlet-name>show</servlet-name>
<servlet-class>com.ask.servlet.Show</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>show</servlet-name>
<url-pattern>/show</url-pattern>
</servlet-mapping>
</web-app>
  1. 程序运行如下:先加载构造方法-在初始化-发送请求-创建session-请求结束