您的位置:首页 > 其它

J2EE之servlet

2017-09-06 21:57 120 查看

Servlet 是用java语言编写的服务器端程序,能够使服务器根据运行时的情况动态生成web页面,具体过程如下:

客户端向服务器端发送请求

服务器将请求信息发送给servlet

servlet根据请求进行响应,产生相应的html语句,并将这些语句传给服务器。

服务器将响应内容返回给客户端。

java Servlet内部采用线程方式提供服务,不需要为每个请求启动一个进程,采用线程的方式,可以同时为多个请求服务。

Servlet完全运行在java虚拟机上,Servlet具有平台无关性,而且是服务器无关的,编写Servlet要用到java servlet开发工具JSDK,JSDK包括了两个用于开发servlet的软件包,javax.servlet和javax.servlet.http

每个servlet程序都需要实现servlet接口,并且作为web容器中的组件,servlet有自己的生命周期,

init()方法在服务器装入servlet时执行,destroy()方法在服务器停止、卸载servlet时执行。Service()方法中实现主要的逻辑功能。


Servlet简介

servlet是一种动态加载的模块,可为服务器接受的请求提供服务,完全运行在java虚拟机上,由于Servlet在服务器端运行,所以并不依赖于浏览器的兼容性。

Servlet容器

负责处理客户请求,将请求传送给Servlet并把结果返回给客户。不同程度的容器实际实现可能有所变化,但容器与Servlet之间的接口是由ServletAPI定义。这个接口定义了Servlet容器在servlet上要调用的函数以及传递给servlet的对象类。

Servlet接口

Servlet提供公共接口public interface Servlet,该接口提供功能函数调用原型说明。其生命周期由javax.servlet.Servlet接口定义,当编写Servlet时必须直接或间接的实现这个接口。一般采用间接实现函数,即通过从javax.servlet.GenericServlet类或javax.servlet.http.HttpServlet类继承。

Servlet生命周期

Servlet的生命周期是指一个Servlet从被加载,初始化,响应请求,提供服务到被销毁的全过程。详细的处理过程如下:

Servlet容器创建Servlet的一个实例。

容器调用该实例的init函数,进行初始化,如果初始化失败则直接卸载该实例。

如果容器对该Servlet有请求,则调用该实例的service函数,提供服务。如果服务请求出错,则抛出异常Unaviable

服务完成后,容器调用该实例的destroy函数。

销毁并标记该实例以供作为垃圾收集。

注意:一旦请求了一个Servl
4000
et,就没有办法阻止容器执行一个完整的生命周期

容器在Servlet首次被调用时,创建一个Servlet实例,并保持该实例在内存中。让其对所有的请求进行处理。容器可以决定在任何时候把这个实例从内存中移走。容器为每个Servlet创建一个单独的实例,但并不会每接到一个请求就创建一个新线程,而是使用一个线程池来动态的将线程分配到来的请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: