文档章节

Java Web容器的启动与处理请求的过程

武哥
 武哥
发布于 2017/02/12 17:45
字数 485
阅读 11
收藏 0

阅读目录

回到顶部

容器启动时的加载顺序

一、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<context-param>结点。
二、容创建一个ServletContext(servlet上下文),这个 web项目的所有部分都将共享这个上下文。 
三、容器将<context-param>转换为键值对,并交给 servletContext。 因为listener, filter 等在初始化时会用到这些上下文中的信息,所以要先加载。 
四、容器创建<listener>中的类实例,创建监听器。
五、加载filter和servlet 
load- on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,它的值必须是一个整数。

如果它的值是一个负整数或是这个元素不存在,那么容器会在该servlet被调用的时候,加载这个servlet。如果值是正整数或零,容器在配置的时候就加载并初始化这个servlet,容器必须保证值小的先被加载。如果值相等,容器可以自动选择先加载谁。

web.xml 的加载顺序是:context-param -> listener -> filter -> servlet。

回到顶部

容器处理请求的过程

当Web容器接收到来自客户端的请求信息之后,会根据URL中的Web元件地址信息到Servlet 队列中查找对应的Servlet对象,如果找到则直接使用,如果没有找到则加载对应的类,并创建对象。

也就是说,Servlet对象是在第一次被使用的时 候才创建的,并且一旦创建就会被反复使用,不再创建新的对象。所有创建出的Servlet对象会在Web服务器停止运行的时候统一进行垃圾回收。

 

参考文献:

http://blog.csdn.net/seelye/article/details/8469575

本文转载自:http://blog.csdn.net/seelye/article/details/8469575

共有 人打赏支持
武哥
粉丝 0
博文 7
码字总数 0
作品 0
程序员
linux web篇---之三--tomcat

一、java概述 1、java的四个独立却又相关的技术: java程序设计语言: java源程序 java API: 以连接java的库文件,官方提供很多库文件,以提高java的开发速度,通过API连接到相应的库文件。...

kuang_hp
07/04
0
0
9.java web的发展 javaweb是什么 J2EE发展历史 规范 J2EE是什么 发展背景 组件标准 J2EE好处作用 Servlet 含义 本质 发展 java在web中的发展 servlet工作流程 java 开发web项目发展 javaBean jsp

javaweb 本质上来说就是使用java 语言来解决企业web应用中一系列技术体系与规范; jdk1.2 playground 此版本中把java技术体系拆分为三个方向 J2SE J2EE J2ME 这个大家都知道 其中之一的J2EE,...

noteless
06/29
0
0
Apache/Tomcat/JBOSS/Nginx区别

先说Apache和Tomcat的区别: Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 ...

Sheamus
2015/02/06
0
0
JAVA企业级应用TOMCAT实战

精彩视频讲解,请猛戳–>JAVA企业级应用TOMCAT实战视频课程 1. Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一...

想飞的鱼8
06/26
0
0
web应用中动态部分的java和cgi实现原理的简单总结

一、初始web 最初知道网站是用html写的,静态的,会动的那个显示效果,内容完全没变,只是有时候移动了,有时候隐藏了。 这个时候,我认为: 浏览器是一个html的解释器和http的解释器的合体。...

hulubo
2012/05/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
16分钟前
1
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
27分钟前
0
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
11
0
一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部