文档章节

tomcat容器加载web.xml顺序

明舞
 明舞
发布于 2014/08/20 09:59
字数 339
阅读 38
收藏 1

1.启动一个WEB项目的时候,容器(:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>

2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.

3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.

4.容器创建<listener></listener>中的类实例,即创建监听.

5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得
ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的键");

6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.

7.举例.你可能想在项目启动之前就打开数据库.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.

8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.

 


© 著作权归作者所有

明舞
粉丝 227
博文 424
码字总数 516555
作品 0
程序员
私信 提问
Tomcat 容器与servlet的交互原理

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器...

watermelon11
02/25
0
0
[转]通俗易懂Tomcat中Servlet的生命周期,讲的非常详细

我在上一篇文章里详细的介绍了 HTTP协议工作的流程,其中最重要的就是如何理解HTTP请求头和HTTP响应头,现在在这里再来详细的说明Tomcat 容器(即Servlet 容器)到底是如何 管理Servlet的,S...

晨曦之光
2012/04/11
943
0
web.xml 中元素加载顺序及其详解

一、概述 1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 2、紧接着,容器创建一个ServletContext(servlet上下文),这个web...

shanxi_liyong
2014/11/20
0
3
Servlet不能通过Spring依赖注入

在今天这个特殊的日子里(双十一)要在自己的项目中对外暴露一个接口,供其他程序进行访问,使用的是一个统一的Servlet对外来暴露接口,但是出现了一个很棘手的问题,那就是在Tomcat服务起来...

wenqi0501
2017/11/11
0
0
走进JavaWeb技术世界4:Servlet 工作原理详解

本文出自我的公众号:程序员江湖。 满满干货,关注就送。 从本篇开始,正式进入Java核心技术内容的学习,首先介绍的就是Java web应用的核心规范servlet 转自:https://www.ibm.com/developer...

你的猫大哥
2017/09/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
13分钟前
1
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
4
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
9
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部