- 浏览: 499863 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (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 510在JAVA的泛型集合中,默认都可以添加null,除此以外, ... -
Differences between notify() and notifyAll()
2018-07-16 09:01 517Notification to number of th ... -
【转】深度解析Java多线程的内存模型
2018-07-16 09:00 481https://www.jianshu.com/p/a3f ... -
【转】java rmi
2018-01-03 18:57 392此处讲的是Java中的RMI ... -
Java Annotation认知(包括框架图、详细介绍、示例说明)
2017-10-09 19:49 385摘要 Java Annotation是JDK5.0引入的 ... -
【转】web.xml 配置404和500错误的自定义页面
2016-01-03 15:16 1304web.xml Xml代码 &l ... -
【转】Servlet 和filter 执行顺序
2015-06-10 17:55 1020一,servlet容器对url的匹配过程:当一个请求发送到 ... -
关于java的binding
2013-06-16 22:51 655//file: MyMain.class class B ... -
【转】session在何时被创建
2012-08-24 19:20 684一个常见的误解是以为session在有客户端访问时就被创建 ... -
【转】web.xml 中的listener、 filter、servlet 加载顺序及其详解
2012-08-23 11:09 783在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过 ... -
【转】servlet-api源码的获取以及打包
2012-08-22 10:15 1986servlet-api源码的获取打包 使用Ant打包 ... -
【转】解决get方法传递参数的中文乱码问题
2012-08-15 17:25 1170在tomcat下,我们通常这样来解决中文乱码问题: 过滤 ... -
【转】servlet filter初探
2012-08-15 17:24 843参考文章 [http://www ... -
【转】Servlet——Filter技术
2012-08-15 17:24 826一、Filter的介绍 Filter也称之为过 ... -
html中get和post的区别
2012-06-06 09:48 9811. get是从服务器上获取数据,post是向服务器传送数据。 ... -
【转】Request的getParameter和getAttribute方法的区别
2012-05-29 15:42 847HttpServletRequest.getParameter ... -
【转】Java程序员的良药:应用程序的开发技巧
2012-05-11 18:04 741【IT168 技术】 假如你是一名Java开发者,正在开发 ... -
javax.servlet.Servlet和javax.servlet.ServletConfig接口
2012-01-09 21:06 18251.Servlet不是独立的应用程序,没有main()方法。而 ... -
tomcat中自带的例子
2012-01-08 19:36 979//Source Code for RequestHeader ... -
try-catch-finally与return的执行顺序
2011-11-16 17:30 1992写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中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties ``` - 接着,使用`...
下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置项。 1. **监听器(Listener)** `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework....
web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...
web.xml中等配置的作用 了解 web.xml 的配置信息和加载顺序对于理解框架的流程至关重要。在 web.xml 中,<context-param> 配置起着非常重要的作用,它在 web 项目启动时发挥着关键的作用。 首先,让我们来了解一下...
- 这个文件本身不包含任何内容,其作用是作为`web.xml`配置中的引用。 3. **修改web.xml文件** - 在`web.xml`中找到`<welcome-file-list>`标签,并在其中添加刚创建的`go.action`文件名。 ```xml ...
web.xml的模式文件由Sun公司定义,并规定了web.xml中可以使用的标签元素。在Tomcat这样的Web容器中,web.xml文件的作用非常基础但又至关重要。容器启动时会加载并读取web.xml文件,因此理解web.xml的配置项对于Web...
WEB.xml详解主要涉及了Java EE Web应用程序的标准配置文件web.xml的详细使用说明,这是Servlet规范中定义的一个配置文件,用于配置web应用的初始化参数、servlet和filter、监听器等组件。 首先,web.xml文件在Web...
理解`web.xml`的加载顺序和各个节点的作用对于开发和维护高质量的Web应用至关重要。 1. **加载顺序**: - 当应用服务器启动并加载Web应用程序时,首先读取`web.xml`文件。 - 首先解析的是`<context-param>`节点,...
在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文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...
`<listener>`标签中的`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`定义了一个监听器,它会在Web应用启动时自动加载默认的Spring配置文件,即`/WEB-INF/...
### Web.xml 文件的作用详解 #### 一、概述 在Java EE开发中,`web.xml`文件扮演着极其重要的角色。虽然并非所有Web应用程序都必须包含`web.xml`文件,但在大多数场景下,为了更好地配置和管理Web应用,开发者通常...