监听servlet创建
package com. hspedu. listener ; import javax. servlet. ServletContext ;
import javax. servlet. ServletContextEvent ;
import javax. servlet. ServletContextListener ;
public class HspServletContextListener implements ServletContextListener { @Override public void contextInitialized ( ServletContextEvent servletContextEvent) { ServletContext servletContext = servletContextEvent. getServletContext ( ) ; System . out. println ( "HspServletContextListener 监听到 " + servletContext + " 被创建.." ) ; } @Override public void contextDestroyed ( ServletContextEvent servletContextEvent) { ServletContext servletContext = servletContextEvent. getServletContext ( ) ; System . out. println ( "HspServletContextListener 监听到 " + servletContext + " 被销毁.." ) ; System . out. println ( "进行处理工作....." ) ; }
}
HspHttpSessionListener 监听到 session销毁= FAEC215D4C92B5325848CF7438FC7138
用户id= FAEC215D4C92B5325848CF7438FC7138 离线
HspHttpSessionListener 监听到 session销毁= 2785 B79C0D9A36C33CA215EA5C23D254
用户id= 2785 B79C0D9A36C33CA215EA5C23D254 离线
监听文本属性的变化
package com. hspedu. listener ; import javax. servlet. ServletContextAttributeEvent ;
import javax. servlet. ServletContextAttributeListener ; public class HspServletContextAttributeListener implements ServletContextAttributeListener { @Override public void attributeAdded ( ServletContextAttributeEvent servletContextAttributeEvent) { System . out. println ( "HspServletContextAttributeListener 监听到添加属性.." + servletContextAttributeEvent. getName ( ) + "=" + servletContextAttributeEvent. getValue ( ) ) ; } @Override public void attributeRemoved ( ServletContextAttributeEvent servletContextAttributeEvent) { System . out. println ( "HspServletContextAttributeListener 监听到删除属性.." + servletContextAttributeEvent. getName ( ) + "=" + servletContextAttributeEvent. getValue ( ) ) ; } @Override public void attributeReplaced ( ServletContextAttributeEvent servletContextAttributeEvent) { System . out. println ( "HspServletContextAttributeListener 监听到修改属性.." + servletContextAttributeEvent. getName ( ) + "=" + servletContextAttributeEvent. getValue ( ) ) ; }
}
package com. hspedu. servlet ; import javax. servlet. ServletContext ;
import javax. servlet. ServletException ;
import javax. servlet. http. HttpServlet ;
import javax. servlet. http. HttpServletRequest ;
import javax. servlet. http. HttpServletResponse ;
import javax. servlet. http. HttpSession ;
import java. io. IOException ; public class HiServlet extends HttpServlet { protected void doPost ( HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException { ServletContext servletContext = request. getServletContext ( ) ; servletContext. setAttribute ( "name" , "韩顺平教育" ) ; servletContext. setAttribute ( "name" , "老韩教育" ) ; servletContext. removeAttribute ( "name" ) ; HttpSession session = request. getSession ( ) ; session. setAttribute ( "age" , 100 ) ; session. setAttribute ( "age" , 400 ) ; session. removeAttribute ( "age" ) ; System . out. println ( "HiServlet 处理完毕...." ) ; } protected void doGet ( HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException { doPost ( request, response) ; }
}
HspHttpSessionListener 监听到 session销毁= FAEC215D4C92B5325848CF7438FC7138
用户id= FAEC215D4C92B5325848CF7438FC7138 离线
HspHttpSessionListener 监听到 session销毁= 2785 B79C0D9A36C33CA215EA5C23D254
用户id= 2785 B79C0D9A36C33CA215EA5C23D254 离线
HspRequestListener 监听到 request对象创建
记录访问日志. . . .
访问IP = 127.0 .0 .1
访问的资源= http: / / localhost: 8080 / filter/ hi
HspServletContextAttributeListener 监听到添加属性. . name= 韩顺平教育
HspServletContextAttributeListener 监听到修改属性. . name= 韩顺平教育
HspServletContextAttributeListener 监听到删除属性. . name= 老韩教育
HspHttpSessionListener 监听到 session创建= A8714B2384A7FF7505EA20A456952DAC
用户id= A8714B2384A7FF7505EA20A456952DAC 上线
HspHttpSessionAttributeListener 监听到session添加属性age= 100
HspHttpSessionAttributeListener 监听到session修改属性age= 100
HspHttpSessionAttributeListener 监听到session删除属性age
HiServlet 处理完毕. . . .
HspRequestListener 监听到 request对象被销毁
监听session创建
package com. hspedu. listener ; import javax. servlet. http. HttpSession ;
import javax. servlet. http. HttpSessionEvent ;
import javax. servlet. http. HttpSessionListener ; public class HspHttpSessionListener implements HttpSessionListener { @Override public void sessionCreated ( HttpSessionEvent httpSessionEvent) { HttpSession session = httpSessionEvent. getSession ( ) ; session. setMaxInactiveInterval ( 30 ) ; System . out. println ( "HspHttpSessionListener 监听到 session创建= " + session. getId ( ) ) ; System . out. println ( "用户id=" + session. getId ( ) + " 上线" ) ; } @Override public void sessionDestroyed ( HttpSessionEvent httpSessionEvent) { HttpSession session = httpSessionEvent. getSession ( ) ; System . out. println ( "HspHttpSessionListener 监听到 session销毁= " + session. getId ( ) ) ; System . out. println ( "用户id=" + session. getId ( ) + " 离线" ) ; }
}
监听session属性改变
package com. hspedu. listener ; import javax. servlet. http. HttpSession ;
import javax. servlet. http. HttpSessionAttributeListener ;
import javax. servlet. http. HttpSessionBindingEvent ; public class HspHttpSessionAttributeListener implements HttpSessionAttributeListener { @Override public void attributeAdded ( HttpSessionBindingEvent httpSessionBindingEvent) { System . out. println ( "HspHttpSessionAttributeListener 监听到session添加属性" + httpSessionBindingEvent. getName ( ) + "=" + httpSessionBindingEvent. getValue ( ) ) ; } @Override public void attributeRemoved ( HttpSessionBindingEvent httpSessionBindingEvent) { HttpSession session = httpSessionBindingEvent. getSession ( ) ; System . out. println ( "HspHttpSessionAttributeListener 监听到session删除属性" + httpSessionBindingEvent. getName ( ) ) ; } @Override public void attributeReplaced ( HttpSessionBindingEvent httpSessionBindingEvent) { System . out. println ( "HspHttpSessionAttributeListener 监听到session修改属性" + httpSessionBindingEvent. getName ( ) + "=" + httpSessionBindingEvent. getValue ( ) ) ; }
}
监听request
package com. hspedu. listener ; import javax. servlet. ServletRequest ;
import javax. servlet. ServletRequestEvent ;
import javax. servlet. ServletRequestListener ;
import javax. servlet. http. HttpServletRequest ; public class HspRequestListener implements ServletRequestListener { @Override public void requestInitialized ( ServletRequestEvent servletRequestEvent) { System . out. println ( "HspRequestListener 监听到 request对象创建" ) ; ServletRequest servletRequest = servletRequestEvent. getServletRequest ( ) ; System . out. println ( "记录访问日志...." ) ; System . out. println ( "访问IP= " + servletRequest. getRemoteAddr ( ) ) ; System . out. println ( "访问的资源= " + ( ( HttpServletRequest ) servletRequest) . getRequestURL ( ) ) ; } @Override public void requestDestroyed ( ServletRequestEvent servletRequestEvent) { System . out. println ( "HspRequestListener 监听到 request对象被销毁" ) ; } }