Servlet的生命周期
来源:互联网 发布:淘宝爆款运营计划表 编辑:程序博客网 时间:2024/05/29 05:07
Servlet执行的步骤如下:
1, 客户机将请求发送给服务器。
2, 服务器从浏览器的地址栏获得请求的信息。并根据Web.xml配置文件找到响应的Servet执行。如果找不到,会报404错误。
3, 如果是第一次请求,那么会实例化该Servlet,调用init()方法进行初始化,该方法在Servlet 的生命周期里只执行一次。然后分配线程进行响应。如果不是第一次访问,那么会直接分配个线程进行客户的响应。
4, 在Servlet响应之前,服务器会产生request,response对象,并且把客户请求的信息封装到request对象中,然后把这两个对象传递给Servlet的service()方法执行。
5, service()根据请求的方式来调用不同的方法执行。比如get请求,service()方法会request,response对象传递给doGet()方法执行,把执行后的结果保存到response对象里面。返回给客户。
6, 服务器关闭后,会调用Servlet的destroy()方法进行销毁。
下面是Servetl执行的线程执行图:
let与CGI程序的区别:
CGI(Common Gateway Interface)公共网关接口程序也是用来创建响应请求的动态Web内容的。但与CGI相比,Servlet还有自己的优势。Servlet能够提供一个基于组件的,独立于平台的方法来创建Web应用,也没有一般CGI程序的性能限制。Servlet具有以下几个特点:
◆ 可跨平台,跨不同Web服务器进行移植。Servlet使你能够不用编写指定平台的API就能进行服务器端编程。Java Servlet API是标准Java的延伸。
◆ 具有持久性(Persistent)。一个Servlet在装入内存之后,就一直驻留内存,这意味着它能够在请求之间维持系统资源—如数据库连接。
◆ 高效的(Efficient)。当一个客户对某个Servlet发出多个请求时,服务器只创建并装入该Servlet一次。每一次重复请求只不过完成商业逻辑处理。CGI过程则对每个请求都装入一个过程,这会大大降低性能。而且,JVM使用lightweight java thread来处理对Servlet的请求,而不是像CGI那样使用一个weighty操作系统进程。
◆ 能够将表示(presentation)与商业逻辑(business logic)分离。这样一来,将一个项目划分为各个独立部分来进行开发和维护变得容易得多了。
◆ 能够获取给定的HTTP的各种调用并且从Java语言本身的继续开发中获益。
- [Servlet]Servlet的生命周期
- 【Servlet】Servlet的生命周期
- Servlet详解---Servlet的生命周期
- Servlet入门----Servlet的生命周期
- Servlet的生命周期
- Servlet 的生命周期
- Servlet的生命周期
- 关于Servlet的生命周期
- [转]servlet的生命周期
- servlet的生命周期
- servlet的生命周期
- Servlet的生命周期
- Servlet的生命周期
- servlet的生命周期
- Servlet的生命周期
- servlet 的生命周期
- Servlet的生命周期
- Servlet的生命周期【转】
- hibernate 经验谈
- 判断一个文件是否正在被使用
- [diameter] difference between offline charging and online charging
- 长大了要为父母做的8件事
- socket编程中如何实现自动获取本机IP地址和随机获取一个没有占用的端口
- Servlet的生命周期
- Perl: 匿名函数,数组,列表的定义
- Servlet API
- Android中如何使用WIFI来连接ADB
- Web上使用的HTTP Servlet
- 接口 在 程序中的作用
- 驱动案例三:platform按键驱动(一、设备)
- 处理HTTP Servlet的关键方法
- 简单工厂,工厂方法和抽象工厂的区别总结