The following listening can be configured in the Web-inf/web.xml file
<listener>
<listener-class>cn.java.listener.event.myhttpsessionattributelistener</ Listener-class>
</listener>
Listener Interface List
Event listener
// Javax.servlet.ServletContextAttributeListener; Javax.servlet.ServletRequestAttributeListener; Javax.servlet.HttpSessionAttributeListener; Javax.servlet.ServletRequestListener; Javax.servlet.HttpSessionIdListener;
Life cycle listener
// Javax.servlet.ServletContextListener; Javax.servlet.http.HttpSessionListener;
Event listeners
Session Property modification, event listener
Package cn.java.listener.event;
Import Javax.servlet.http.HttpSessionAttributeListener;
Import javax.servlet.http.HttpSessionBindingEvent; The public class Myhttpsessionattributelistener implements Httpsessionattributelistener {/** * triggers when adding attributes * Trigger location: Request
. GetSession (). setattribute ("Key1", "value1"); * * @Override public void attributeadded (Httpsessionbindingevent event) {//Event.getsource () = = event.getsession () = =
Org.apache.catalina.session.StandardSessionFacade//Event.getname () = "Key1"//event.getvalue () = = "Value1"}/** * Trigger location When deleting attributes: Request.getsession (). RemoveAttribute ("Key1")/@Override public void attributeremoved (httpses Sionbindingevent event) {//Event.getsource () = = event.getsession () = = = Org.apache.catalina.session.StandardSessionFacade//Event.getname () = "Key1"//event.getvalue () = "Old Value"}/** *
When the property is replaced or modified, the trigger location is triggered: Request.getsession (). setattribute ("Key1", "value1_new"); */@Override public void attributereplaced (HTTPsessionbindingevent event) {//Event.getsource () = = event.getsession () = = =
Org.apache.catalina.session.StandardSessionFacade//event.getname () = = "Key1"//event.getvalue () = = "Old Value"}}
SessionID when modified, event listener
Package cn.java.listener.event;
Import javax.servlet.http.HttpSessionEvent;
Import Javax.servlet.http.HttpSessionIdListener;
The public class Myhttpsessionidlistener implements Httpsessionidlistener {
/**
* Changes the SessionID when the trigger
* Org.apache.catalina.session.StandardSession.tellChangedSessionId (...);
* Trigger Location: Request.changesessionid ();
*/
@Override public
void Sessionidchanged (Httpsessionevent event, String Oldsessionid) {
// Event.getsession () = = = Event.getsource () = = = org.apache.catalina.session.StandardSessionFacade
}
}
ServletContext Context Property modification, event listener
Package cn.java.listener.event;
Import javax.servlet.ServletContextAttributeEvent;
Import Javax.servlet.ServletContextAttributeListener; The public class Myservletcontextattributelistener implements Servletcontextattributelistener {/** * triggers the trigger location when adding properties
: Request.getservletcontext (). setattribute ("Key1", "value1"); */@Override public void attributeadded (Servletcontextattributeevent event) {//event.getservletcontext () = = Event.get Source () = = Org.apache.catalina.core.ApplicationContextFacade//event.getname () = "Key1"//event.getvalue () = "Val" Ue1 "}/** * Trigger location: Request.getservletcontext () removeattribute (" Key1 ")/@Override public void at Tributeremoved (Servletcontextattributeevent event) {//event.getservletcontext () = = Event.getsource () = =
Org.apache.catalina.core.ApplicationContextFacade//event.getname () = = "Key1"//event.getvalue () = "Old Value"}/** * Trigger location when replacing and modifying attributes: Request.getservletcontext () setattribute ("Key1", "Value1_nEW "); */@Override public void attributereplaced (Servletcontextattributeevent event) {//event.getservletcontext () = = Event GetSource () = = Org.apache.catalina.core.ApplicationContextFacade//event.getname () = = "Key1"//event.getvalue () = =
"Old Value"}}
Request property modification, Event listener
Package cn.java.listener.event;
Import javax.servlet.ServletRequestAttributeEvent;
Import Javax.servlet.ServletRequestAttributeListener; The public class Myservletrequestattributelistener implements Servletrequestattributelistener {/** * triggers the trigger location when adding properties: R
Equest.setattribute ("Key1", "value1"); */@Override public void attributeadded (Servletrequestattributeevent event) {//event.getservletcontext () = = Event.get Source () = = Org.apache.catalina.core.ApplicationContextFacade//event.getname () = "Key1"//event.getvalue () = "Value" 1 "//event.getservletrequest () = = Org.apache.catalina.connector.RequestFacade = = Request}/** * trigger when deleting attribute Point: Request.removeattribute ("Key1") */@Override public void attributeremoved (Servletrequestattributeevent event) {// Event.getservletcontext () = = Event.getsource () = = Org.apache.catalina.core.ApplicationContextFacade//Event.getname () = = "Key1"//event.getvalue () = "Old value"//event.getservletrequest () = = Org.apache.catalina. Connector.
Requestfacade = = Request}/** * Trigger location: Request.setattribute ("Key1", "value1_new") when replacing and modifying attributes * * @Override public void attributereplaced (Servletrequestattributeevent event) {//event.getservletcontext () = = event. GetSource () = = Org.apache.catalina.core.ApplicationContextFacade//event.getname () = "Key1"//event.getvalue () = "Old value"
"//event.getservletrequest () = = Org.apache.catalina.connector.RequestFacade = = Request}}
Request creation, destruction, event listeners
Package cn.java.listener.event;
Import javax.servlet.ServletRequestEvent;
Import Javax.servlet.ServletRequestListener;
public class Myservletrequestlistener implements Servletrequestlistener {
/**
* Request Destruction
* Trigger Location: Org.apache.catalina.core.StandardHostValve.invoke (Request request, Response Response)
* * *
@Override Public
void Requestdestroyed (Servletrequestevent event) {
// event.getservletcontext () = = Event.getsource () = = Org.apache.catalina.core.ApplicationContextFacade
// event.getservletrequest () = = Org.apache.catalina.connector.Request
}
/**
* Request Initialization
* Trigger Location: Org.apache.catalina.core.StandardHostValve.invoke (Request request, Response Response)
* * *
@Override Public
void Requestinitialized (Servletrequestevent event) {
// event.getservletcontext () = = Event.getsource () = = Org.apache.catalina.core.ApplicationContextFacade
// event.getservletrequest () = = Org.apache.catalina.connector.Request
}
}
Life cycle Listeners
Session creation, destruction, lifecycle listeners
Package cn.java.listener.lifecycle;
Import javax.servlet.http.HttpSessionEvent;
Import Javax.servlet.http.HttpSessionListener;
/** * Session Lifecycle
* @author Administrator * * */Public
class Myhttpsessionlistener implements Httpsessionlistener {
/**
* Trigger Location 1:
* Request.changesessionid ();
* org.apache.catalina.session.StandardSession.setId (String ID)
* Org.apache.catalina.session.StandardSession.tellNew ()
*/
@Override public
void sessioncreated ( Httpsessionevent event) {
// event.getsource () = = Event.getsource () = = Org.apache.catalina.session.StandardSessionFacade
}
/**
* Trigger Location: Org.apache.catalina.session.StandardSession.expire (Boolean notify)
*/
@Override public
Void Sessiondestroyed (Httpsessionevent event) {
// event.getsource () = = Event.getsource () = = Org.apache.catalina.session.StandardSessionFacade
}
}
ServletContext context creation, destruction, declaring periodic listeners
Package cn.java.listener.lifecycle;
Import javax.servlet.ServletContextEvent;
/** *
server startup, Shutdown
* *
start context, or destroy context when triggering
* @author Administrator */Public
class Myservletcontextlistener implements Javax.servlet.ServletContextListener {
/**
* Trigger location: org.apache.catalina.core.StandardContext.startInternal ()
*/
@Override public
Void Contextinitialized (Servletcontextevent event) {
// event.getsource () = = Event.getservletcontext () = = Org.apache.catalina.core.ApplicationContextFacade
}
/**
* Trigger location: org.apache.catalina.core.StandardContext.stopInternal ()
*/
@Override public
Void Contextdestroyed (Servletcontextevent event) {
// event.getsource () = = Event.getservletcontext () = = Org.apache.catalina.core.ApplicationContextFacade
}
}