监听器Listener
监听器是一个接口,主要是对三大对象进行监听:Request、Session、Appliaction(ServletRequest、HttpSession、ServletContext)
监听内容:1.监听对象域的创建和销毁、也就是生命周期的监听
2.监听域对象的创建、更新、移除,
3.监听被加入域对象的对象
创建一个监听器的方法:1.实现接口,不同的监听器,实现不同的接口,2.在xml里面注册监听器,
ServletRequest对象的生命周期监听,监听生命周期ServletRequestListener,属性监听:ServletRequestAttributeListener监听请求,
HttpSesson对象,监听生命周期:HttpSessionListener,属性监听HttpSessionAttributeListener,属性绑定监听:HttpSessionBinBingListener,对象钝化活化监听:HttpSessionActionListener
ServletContext对象,监听生命周期ServletContextListener,属性监听:ServletContextAttributeListener
案例1,创建一个ServletRequest监听器(使用注解的方法),
package com.ty.TestLisent;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/submit")
public class Test extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = resp.getWriter();
writer.write("<input type='text' name='username'><button>提交</button>");
}
}
package com.ty.TestLisent;
import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annota