java web listener_JavaWeb:Listener
1、ServletContextListener:
1)、what:监听 ServletContext 对象被创建或销毁的 Servlet 监听器。
2)、how:
》创建一个实现了 ServletContextListener 的类,并且实现其中的两个方法
public class HelloServletContextListner implements ServletContextListener
》在 web.xml 文件中配置 Listener
com.atguigu.javaweb.test.HelloServletContextListner
3)、why:ServletContextListener 是最常用的 Listener ,可以在当前 WEB 应用被加载时对当前 WEB 应用的相关的资源进行初始化操作:闯将数据库连接池,创建 Spring 的 IOC 容器,读取当前 WEB 应用的初始化参数。。。
4)、API:
// SerlvetContext 对象被创建(即, 当前 WEB 应用被加载时)的时候, Servlet 容器调用该方法.
public void contextInitialized(ServletContextEvent sce)
// SerlvetContext 对象被销毁之前(即, 当前 WEB 应用被卸载时)的时候, Servlet 容器调用该方法.
public void contextDestroyed(ServletContextEvent sce)
ServletContextEvent 中的: getServletContext() 获取 ServletContext
2、ServletRequestListener & HttpSessionListener
1)、和 ServletContextListener 类似。
2)、利用ServletRequestListener、HttpSessionListener 以及 ServletContextListener 可以把 request, session
及 application 的生命周期进一步的做一了解。
》request:是一个请求,当一个响应返回时,即被销毁,当发送一个请求时被创建。注意:请求转发的过程是一个 request 对象。重定向是两个请求。
》session:当第一次访问 WEB 应用的一个 JSP 或 Servlet 时,且该 JSP 或 Servlet 中还需要创建 session 对象,此时服务器会创建一个 session 对象。
session 销毁:session 过期,直接调用 session 的 invalidate 方法,当前 web 应用被卸载(session 可以被持久化)。
*关闭浏览器,并不意味着 session 被销毁,还可以通过 sessionid 找到服务器中的 session 对象。
》application:贯穿于当前的 WEB 应用的生命周期。当前 WEB 应用被加载时创建 application 对象,当前 WEB 应用被卸载时销毁 application 对象。
3、XxxAttributeListener
1)、监听 ServletContext, HttpSession, ServletRequest 中添加属性,替换属性,移除属性的事件监听器。
2)、以 ServletRequestAttributeListener 为例:
//添加属性时被调用
public voidattributeAdded(ServletRequestAttributeEvent srae) {
System.out.println("向 request 中添加了一个属性...");
}//移除属性时被调用
@Overridepublic voidattributeRemoved(ServletRequestAttributeEvent srae) {
System.out.println("从 request 中移除了一个属性...");
}//替换属性时被调用.
@Overridepublic voidattributeReplaced(ServletRequestAttributeEvent srae) {
System.out.println("request 中属性替换了...");
}
3)、这三个 ServletContextAttributeListener,ServletRequestAttributeListener,HttpSessionAttributeListener 监听器较少被使用。
4)、API :
ServletRequestAttributeEvent:
> getName(): 获取属性的名字
> getValue(): 获取属性的值.
4、HttpSessionBindingListener
1)、监听实现了该接口的 Java 类的对象被绑定到 session 或从 session 中解除绑定的事件。
//当前对象被绑定到 session 时调用该方法
public void valueBound(HttpSessionBindingEvent event)
//当前对象从 session 中解除绑定调用该方法
public void valueUnbound(HttpSessionBindingEvent event)
2)、 注意: 该监听器不需要在 web.xml 文件中进行配置。
3)、HttpSessionBindingEvent:
getName()
getValue()
getSession()
4)、该监听器较少被使用。
5、HttpSessionActivationListener
1)、监听实现了该接口和 Serializable 接口的 Java 类的对象随 session 钝化和活化事件
> 活化: 从磁盘中读取 session 对象
> 钝化: 向磁盘中写入 session 对象
> session 对象存储在tomcat 服务器的 work\Catalina\localhost\contextPath 目录下. SESSION.SER
2)、该监听器不需要在 web.xml 文件中进行配置。
3)、
//在活化之后被调用.
public void sessionDidActivate(HttpSessionEvent se)
//在钝化之前被调用
public void sessionWillPassivate(HttpSessionEvent se)
HttpSessionEvent: getSession()
4)、该监听器较少被使用。
java web listener_JavaWeb:Listener相关推荐
- Java Web系列:Spring MVC基础
1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...
- java web总结:servlet
一,Servlet 简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间 ...
- java web solr_java:solr
1.solr(数据导入solr自带数据库): ImportItemController.java: packagecom.solr.controller;importorg.springframewo ...
- java web总结:tomcat使用教程
一.简介 Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.因 ...
- 第一个Java web项目:员工管理系统
要求: 做一个登陆页面,实现登录,用户名和密码都是admin,登录成功后,用session记录用户名,登录失败,请提示失败原因. 做一个简单的管理系统,实现注册,修改,查询,删除 员工的功能,注册内容 ...
- Java Web系列:Hibernate 基础
从以下5个方面学习hibernate ORM. (1)配置文件:hibernate.cfg.xml XML文件和hibernate.properties属性文件 (2)实体映射:1对多.多对多 (3) ...
- Java Web篇:导出等比例图片到Excel
这两天帮一朋友做一简单的商品管理的系统,遇到这么一个需求,将想要导出的商品信息及图片导出到Excel中. 起初觉得功能还是比较简单的.做个Excel导入导出的Java开发户都知道,可以利用Apache ...
- java web 服务 构建与运行_Java Web 服务:构建与运行(影印版)
基本详情信息 书名:Java Web 服务:构建与运行 ISBN:9787564119270 作者:卡林(Martin Kalin) 著 出版社:东南大学出版社 出版日期:2010-1-1 其他信息 ...
- Java web 环境搭建-Linux
文章目录 一.初识 Tomcat 二.Java web 环境:Nginx+JDK+Tomcat+MySQL 三.环境部署流程 3.1 安装 JDK(java 解析器) 3.1.1 首先安装 gcc 3 ...
最新文章
- 代理(Proxy)模式
- axios02-其他使用方式(推荐)
- python cross val score_sklearn函数:cross_val_score(交叉验证评分)
- Centos jdk
- 面试复习笔记二(javaweb)
- 循环冗余校验码(CRC)详解
- 迪斯尼计算机动画,迪斯尼经典动画的十大运动规律
- iOS之安装包优化以及瘦身
- C语言实现文件分割功能
- 峰会•沙龙•招聘 | 记零数科技多线并进的一天
- 阿里云的短信服务acsClient+java
- 什么是数字认证?数字认证原理是什么?
- 反射练习- 改变private成员变量的值
- 大前端学习记二开发准备
- mj-trace 代码分析
- MPLS+BGP产生的数据层面的路由黑洞详解
- 中国女式运动和户外短裤行业市场供需与战略研究报告
- 杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活
- ISO20000认证流程是什么,ISO20000认证好处
- 怎么修改淘宝主图尺寸大小?图片尺寸修改的方法