(一)Servlet 简介

Servlet技术是jsp技术的基础。java

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是做为来自 Web 浏览器或其余 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。web

1、Servlet的核心类和接口数据库

在javaEE规范中,每一个与Servlet有关的类或接口都与Servlet的状态有必定关系。而Servlet API有两个软件包:浏览器

1.javax.servlet包:定义了全部的Servlet类都必须实现或扩展的通用接口和类,主要提供了Web容器可以使用的Servlet基本类和接口。
2.javax.servlet.http包:定义了采用HTTP协议通讯的HttpServlet类,包括和Http协议相关的Servlet类和接口。服务器

2、Servlet生命周期网络

Servlet程序自己不是直接在Java虚拟机上运行的,它须要Web容器程序控制其载入和运行过程。Web容器控制整个Servlet的生命周期。并发

Servlet 生命周期可被定义为从建立直到毁灭的整个过程。如下是 Servlet 遵循的过程:jsp

1.加载和实例化Servletspa

Web容器在如下状况下加载和实例化Servlet线程

(1)某些Servlet在配置文件web.xml中有设置<load-on-startup>且值不为负数时,则在Web容器启动时自动加载。

(2)Web容器启动后,Servlet首次收到客户请求。

(3)Servlet类文件被更新后,从新装载Servlet

『load-on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,若是配置了大于等于0 ,容器在配置的时候就加载并初始化这个servlet,优先级是根据load-on-startup 的值来定的,值小的优先级比较高 』

 

2.初始化Servlet

当 Servlet被 实例化后, Web容器将调用每一个Servlet的init()方法来初始化 Servlet 实例。

『init()方法对于每一个Servlet只能被调用一次』

3.处理Web请求

每次服务器接收到一个 Servlet 请求时,经过建立特定于请求的一个“请求”对象和一个“响应”对象并调用service()方法,service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。

在Servlet对象的生命周期中,service()方法可能屡次被调用。当网络中不一样主机(客户端)并发访问服务器中的同一资源,服务器将开设多个线程处理不一样的请求。

4.终止服务

当Web容器须要在终止Servlet时,将会调用destroy() 方法使Servlet中止服务并将其清除,由 JVM 的垃圾回收器进行垃圾回收的。

相关文章
相关标签/搜索