- 浏览: 486529 次
- 性别:
- 来自: 沈阳
-
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
概述: Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。 接口: 目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中HttpSessionAttributeListener与 HttpSessionBindingListener 皆使用HttpSessionBindingEvent;HttpSessionListener和 HttpSessionActivationListener则都使用HttpSessionEvent;其余Listener对应的Event如下所 示: Listener接口 Event类 ServletContextListener ServletContextEvent ServletContextAttributeListener ServletContextAttributeEvent HttpSessionListener HttpSessionEvent HttpSessionActivationListener HttpSessionAttributeListener HttpSessionBindingEvent HttpSessionBindingListener ServletRequestListener ServletRequestEvent ServletRequestAttributeListener ServletRequestAttributeEvent 分别介绍: 一 ServletContext相关监听接口 补充知识: 通过ServletContext 的实例可以存取应用程序的全局对象以及初始化阶段的变量。 在JSP文件中,application 是 ServletContext 的实例,由JSP容器默认创建。Servlet 中调用 getServletContext()方法得到 ServletContext 的实例。 注意: 全局对象即Application范围对象,初始化阶段的变量指在web.xml中,经由<context-param>元素所设定的变量,它的范围也是Application范围,例如: <context-param> <param-name>Name</param-name> <param-value>browser</param-value> </context-param> 当容器启动时,会建立一个Application范围的对象,若要在JSP网页中取得此变量时: String name = (String)application.getInitParameter("Name"); 或者使用EL时: ${initPara.name} 若是在Servlet中,取得Name的值方法: String name = (String)ServletContext.getInitParameter("Name"); 1.ServletContextListener: 用于监听WEB 应用启动和销毁的事件,监听器类需要实现javax.servlet.ServletContextListener 接口。 ServletContextListener 是 ServletContext 的监听者,如果 ServletContext 发生变化,如服务器启动时 ServletContext 被创建,服务器关闭时 ServletContext 将要被销毁。 ServletContextListener接口的方法: void contextInitialized(ServletContextEvent sce) 通知正在接受的对象,应用程序已经被加载及初始化。 void contextDestroyed(ServletContextEvent sce) 通知正在接受的对象,应用程序已经被载出。 ServletContextEvent中的方法: ServletContext getServletContext() 取得ServletContext对象 2.ServletContextAttributeListener:用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。 ServletContextAttributeListener接口方法: void attributeAdded(ServletContextAttributeEvent scab) 若有对象加入Application的范围,通知正在收听的对象 void attributeRemoved(ServletContextAttributeEvent scab) 若有对象从Application的范围移除,通知正在收听的对象 void attributeReplaced(ServletContextAttributeEvent scab) 若在Application的范围中,有对象取代另一个对象时,通知正在收听的对象 ServletContextAttributeEvent中的方法: java.lang.String getName() 回传属性的名称 java.lang.Object getValue() 回传属性的值 二、HttpSession相关监听接口 1.HttpSessionBindingListener接口 注意:HttpSessionBindingListener接口是唯一不需要再web.xml中设定的Listener 当我们的类实现了HttpSessionBindingListener接口后,只要对象加入 Session范围 (即调用HttpSession对象的setAttribute方法的时候)或从Session范围中移出(即调用HttpSession对象的 removeAttribute方法的时候或Session Time out的时候)时,容器分别会自动调用下列两个方法: void valueBound(HttpSessionBindingEvent event) void valueUnbound(HttpSessionBindingEvent event) 思考:如何实现记录网站的客户登录日志, 统计在线人数? 2.HttpSessionAttributeListener接口 HttpSessionAttributeListener监听HttpSession中的属性的操作。 当 在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent se) 方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。这和ServletContextAttributeListener比较类似。 3.HttpSessionListener接口 HttpSessionListener监听 HttpSession的操作。当创建一个Session时,激发session Created(HttpSessionEvent se)方法;当销毁一个Session时,激发sessionDestroyed (HttpSessionEvent se)方法。 4.HttpSessionActivationListener接口 主要用于同一个Session转移至不同的JVM的情形。 三、ServletRequest监听接口 1.ServletRequestListener接口 和ServletContextListener接口类似的,这里由ServletContext改为ServletRequest 2.ServletRequestAttributeListener接口 和ServletContextListener接口类似的,这里由ServletContext改为ServletRequest 四、举例:有的listener可用于统计网站在线人数及访问量。 如下: 服务器启动时(实现ServletContextListener监听器contextInitialized方法),读取数据库,并将其用一个计数变量保存在application范围内 session创建时(实现HttpSessionListener监听器sessionCreated方法),读取计数变量加1并重新保存 服务器关闭时(实现ServletContextListener监听器contextDestroyed方法),更新数据库
发表评论
-
【转】JAVA泛型通配符(PECS)
2018-07-29 10:43 485在JAVA的泛型集合中,默认都可以添加null,除此以外, ... -
Differences between notify() and notifyAll()
2018-07-16 09:01 487Notification to number of th ... -
【转】深度解析Java多线程的内存模型
2018-07-16 09:00 453https://www.jianshu.com/p/a3f ... -
【转】java rmi
2018-01-03 18:57 373此处讲的是Java中的RMI ... -
Java Annotation认知(包括框架图、详细介绍、示例说明)
2017-10-09 19:49 357摘要 Java Annotation是JDK5.0引入的 ... -
【转】web.xml 配置404和500错误的自定义页面
2016-01-03 15:16 1284web.xml Xml代码 &l ... -
【转】Servlet 和filter 执行顺序
2015-06-10 17:55 976一,servlet容器对url的匹配过程:当一个请求发送到 ... -
关于java的binding
2013-06-16 22:51 638//file: MyMain.class class B ... -
【转】session在何时被创建
2012-08-24 19:20 664一个常见的误解是以为session在有客户端访问时就被创建 ... -
【转】web.xml 中的listener、 filter、servlet 加载顺序及其详解
2012-08-23 11:09 760在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过 ... -
【转】servlet-api源码的获取以及打包
2012-08-22 10:15 1962servlet-api源码的获取打包 使用Ant打包 ... -
【转】解决get方法传递参数的中文乱码问题
2012-08-15 17:25 1145在tomcat下,我们通常这样来解决中文乱码问题: 过滤 ... -
【转】servlet filter初探
2012-08-15 17:24 821参考文章 [http://www ... -
【转】Servlet——Filter技术
2012-08-15 17:24 806一、Filter的介绍 Filter也称之为过 ... -
html中get和post的区别
2012-06-06 09:48 9591. get是从服务器上获取数据,post是向服务器传送数据。 ... -
【转】Request的getParameter和getAttribute方法的区别
2012-05-29 15:42 828HttpServletRequest.getParameter ... -
【转】Java程序员的良药:应用程序的开发技巧
2012-05-11 18:04 724【IT168 技术】 假如你是一名Java开发者,正在开发 ... -
javax.servlet.Servlet和javax.servlet.ServletConfig接口
2012-01-09 21:06 18051.Servlet不是独立的应用程序,没有main()方法。而 ... -
tomcat中自带的例子
2012-01-08 19:36 960//Source Code for RequestHeader ... -
try-catch-finally与return的执行顺序
2011-11-16 17:30 1969写java程序经常碰到异常,try-catch-f ...
相关推荐
Web.xml 中的 listener、filter、servlet 加载顺序及其详解 在 Web 应用程序中,web.xml 文件扮演着非常重要的角色,它定义了 Web 应用的结构和配置。其中,listener、filter、servlet 是三个非常重要的概念,它们...
javaweb项目中web.xml的作用 web.xml是javaweb项目中一个非常重要的配置文件,它是每一个javaWeb工程都必需的配置文件。web.xml文件的主要作用是用于初始化工程配置信息,例如welcome页面、filter、listener、...
Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...
在 web.xml 文件中,第一个元素是 XML 头,用于声明 XML 版本和字符编码。紧接着是 DOCTYPE 声明,用于指定 Servlet 规范的版本和文档类型定义(DTD)。最后是 web-app 元素,作为根元素,包含了所有其他元素。 ...
web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...
理解`web.xml`的加载顺序和各个节点的作用对于开发和维护高质量的Web应用至关重要。 1. **加载顺序**: - 当应用服务器启动并加载Web应用程序时,首先读取`web.xml`文件。 - 首先解析的是`<context-param>`节点,...
web.xml中等配置的作用 了解 web.xml 的配置信息和加载顺序对于理解框架的流程至关重要。在 web.xml 中,<context-param> 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,让我们来了解一下...
在Java Web开发中,`web.xml`文件是核心配置文件,它是应用服务器启动时加载的部署描述符,用于定义Web应用程序的结构、配置及行为。本篇将深入探讨`web.xml`的重要概念、元素、属性以及在实际项目中的应用。 1. **...
在Java Web开发中,`web.xml`是Web应用程序的部署描述符,它是服务器理解和运行Web应用的关键配置文件。本文将详细解释`web.xml`配置的各个方面,帮助开发者更好地理解和掌握其使用。 1. **定义头和根元素** `web....
本文将深入探讨web.xml文件中的加载顺序和常用元素,帮助开发者更好地理解和使用。 首先,加载顺序是web.xml配置的核心概念。加载顺序遵循以下规则:context-param -> listener -> filter -> servlet。context-...
本文将对 web.xml 的配置进行详细的解释,包括加载顺序、context-param、listener、filter、servlet 等配置节的使用和顺序。 加载顺序 ---------- 加载顺序是指 web.xml 文件中的元素出现的顺序,它对 Web 应用...
下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置项。 1. **监听器(Listener)** `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework....
`<listener>`标签中的`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`定义了一个监听器,它会在Web应用启动时自动加载默认的Spring配置文件,即`/WEB-INF/...
关于filter、servlet在web.xml配置及加载顺序
- 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties ``` - 接着,使用`...
下面我们将深入探讨`web.xml`的各个主要部分及其作用。 1. **Servlet定义** 在`web.xml`中,你可以定义Servlet类,指定其URL路径和初始化参数。例如: ```xml <servlet-name>MyServlet <servlet-class>...
在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...
在Java Web应用中,`Web.xml`文件是核心的部署描述符,它定义了应用程序的结构、行为以及服务器如何处理请求。这份文档将深入探讨`Web.xml`配置文件的各个关键元素,帮助开发者更好地理解和使用。 一、Web.xml概述 ...