Servlet之运行机制,细节
来源:互联网 发布:淘宝客三段式pid 编辑:程序博客网 时间:2024/05/22 02:17
本文介绍Servlet的运行,细节。
1.Servlet的运行机制。
(1)Web服务器/Servlet容器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。servlet是由Servlet容器进行管理的。
(2)装载并创建该Servlet的一个实例对象。
(3)调用Servlet实例对象的init()方法。
(4)创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
(5)WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
2.Servlet的细节
(1)同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名;
(2)在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。servlet的映射关系采用哪个最像用哪个,但是*.do的优先级最低
(3)装载并创建该Servlet的一个实例对象。针对客户端的多次Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其它请求服务,直至web容器退出,servlet实例对象才会销毁。在Servlet的整个生命周期内,Servlet的init方法只被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。
(4)如果在<servlet>元素中配置了一个<load-on-startup>元素,那么WEB应用程序在启动时,就会装载并创建Servlet的实例对象、以及调用Servlet实例对象的init()方法。这个元素要大于或等于0。
(5)如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前Web应用程序的缺省Servlet。凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省Servlet处理,也就是说,缺省Servlet用于处理所有其他Servlet都不处理的访问请求。在<tomcat的安装目录>\conf\web.xml文件中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是在访问这个缺省Servlet。一般不要配置缺省路径。
- Servlet之运行机制,细节
- Servlet应用之细节
- Servlet之细节
- Servlet运行机制
- Servlet运行机制
- servlet 运行机制
- Servlet学习笔记之---重要细节
- Servlet运行机制与生命周期
- Servlet运行机制与生命周期
- servlet细节
- servlet细节
- Servlet细节
- Servlet细节
- servlet细节
- 细说Servlet Servlet细节
- Servlet的运行机制和生命周期
- [Servlet]Servlet的一些细节
- servlet笔记05:servlet细节
- 集合 collection
- LeetCode 235:Lowest Common Ancestor of a Binary Search Tree
- minicom 工具使用
- Nuget如何管理我们的类库?
- opencv 3.0 vs 2013
- Servlet之运行机制,细节
- 面试题汇总
- 移动WEB前端开发资源整合
- 什么是TCP连接的三次握手
- gdb+gdbserver 调试NE-coredump
- Android在自定义的控件获得该activity的某些变量的值
- 缓存块着色算法和优化的缓存块着色算法
- 自定义控件:开关按钮的实现
- 利用Socket建立网络连接的步骤