JavaWeb(十八):HttpSessionListener接口

Posted y1笑而过

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb(十八):HttpSessionListener接口相关的知识,希望对你有一定的参考价值。

1.HttpSessionListener接口

/** * HttpSession生命周期监听器。 * Web应用程序中活动会话列表的更改会通知此接口的实现。 * 要接收通知事件,必须在Web应用程序的部署描述符中配置实现类。 */public interface HttpSessionListener extends EventListener {
/** * HttpSession被创建后调用。 * * @param se HttpSession通知事件。 */ public default void sessionCreated(HttpSessionEvent se) { }
/** * HttpSession被销毁后调用。 * * @param se HttpSession通知事件。 */ public default void sessionDestroyed(HttpSessionEvent se) { }}

2.例子

package main;
import javax.servlet.annotation.WebListener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;
@WebListenerpublic class MyHttpSessionListener implements HttpSessionListener {
/** * HttpSession被创建后调用。 * * @param se HttpSession通知事件。 */ @Override public void sessionCreated(HttpSessionEvent se) { System.out.println("---HttpSession被创建后调用---"); }
/** * HttpSession被销毁后调用。 * * @param se HttpSession通知事件。 */ @Override public void sessionDestroyed(HttpSessionEvent se) { System.out.println("---HttpSession被销毁后调用---"); }}


运行结果:


---ServletContext初始化时被调用---ServletContextAttribute 已添加:name MyServletContextListenerServletContextAttribute 已替换:name MyServletContextListenerServletContextAttribute 已删除:name ServletContextListener[2020-04-30 08:42:24,525] Artifact ServletDemo:war exploded: Artifact is deployed successfully[2020-04-30 08:42:24,525] Artifact ServletDemo:war exploded: Deploy took 268 millisecondsServletRequestAttribute 已添加:listener MyServletRequestListener---进入请求作用域---nullServletRequestAttribute 已更改:org.apache.catalina.ASYNC_SUPPORTED trueServletContextAttribute 已添加:org.apache.jasper.runtime.JspApplicationContextImpl org.apache.jasper.runtime.JspApplicationContextImpl@46f89dd5ServletContextAttribute 已添加:org.apache.jasper.compiler.ELInterpreter org.apache.jasper.compiler.ELInterpreterFactory$DefaultELInterpreter@6139a94---HttpSession被创建后调用------退出请求作用域---nullServletRequestAttribute 已添加:listener MyServletRequestListener---进入请求作用域---nullServletRequestAttribute 已更改:org.apache.catalina.ASYNC_SUPPORTED true---HttpSession被创建后调用------退出请求作用域---nullServletRequestAttribute 已添加:listener MyServletRequestListener---进入请求作用域---nullServletRequestAttribute 已更改:org.apache.catalina.ASYNC_SUPPORTED true---HttpSession被创建后调用------退出请求作用域---null30-Apr-2020 08:42:33.910 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [/Users/admin/Soft/tomcat/apache-tomcat-9.0.34/webapps/manager]30-Apr-2020 08:42:33.946 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/Users/admin/Soft/tomcat/apache-tomcat-9.0.34/webapps/manager] has finished in [36] msServletRequestAttribute 已添加:listener MyServletRequestListener---进入请求作用域---nullServletRequestAttribute 已更改:org.apache.catalina.ASYNC_SUPPORTED true---doFilter---ServletRequestAttribute 已添加:name CharsetFilterServletRequestAttribute 已更改:name CharsetFilterServletRequestAttribute 已移除:name Filter---HttpSession被销毁后调用------doGet---ServletRequestAttribute 已添加:name MyServletServletRequestAttribute 已更改:name MyServletServletRequestAttribute 已移除:name Servlet---HttpSession被创建后调用------HttpSession被销毁后调用------退出请求作用域---null


以上是关于JavaWeb(十八):HttpSessionListener接口的主要内容,如果未能解决你的问题,请参考以下文章

回到javaweb的第十八天(HTTp的格式)

回到javaweb的第十八天(HTTp的格式)

JavaWeb学习总结(十八)i18n国际化

JavaWeb---总结(十八)JSP属性范围

javaweb学习总结十八(软件密码学配置tomcat的https连接器以及tomcat管理平台)

每日算法&面试题,大厂特训二十八天——第二十八天(数组)