您的位置:首页 > 其它

Servlet-01- 环境设置和生命周期

2017-12-27 09:42 369 查看
参考:http://7c0bab95.wiz03.com/share/s/1Y2WKl218k5e2gpBCl2BeEsq1Hk1Mx2xiAPU2rcUAv3yBrIg


Servlet 简介

1、Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层;
使用 Servlet,可以实现收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页;

2、Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于 CGI,Servlet 有以下几点优势:

性能明显更好。

Servlet 在 Web 服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。

Servlet 是独立于平台的,因为它们是用 Java 编写的。

服务器上的 Java 安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet 是可信的。

Java 类库的全部功能对 Servlet 来说都是可用的。它可以通过 sockets 和 RMI 机制与 applets、数据库或其他软件进行交互。

3、Servlet 在 Web 应用中的位置



4、Servlet 的主要任务

读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单;

读取客户端(浏览器)发送的隐式的 HTTP 请求数据(包括 cookies、媒体类型和浏览器能理解的压缩格式等);

处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应;

发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等;

发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务;


Servlet 环境配置

1、配置 JDK 环境;

2、配置 Web 服务器环境(如Tomcat等);

Tomcat 下载的程序包中在其根目录下的lib路径下,已经包含 servelt-api.jar 依赖包;

3、将 servelt-api.jar的路径添加到系统环境变量CLASSPATH中;


Servlet 程序生命周期

Java Web 应用的生命周期由 Servlet 的生命周期控制,Servlet 的生命周期可以分为3个阶段:初始化阶段,运行阶段,销毁阶段

一般用户开发自己的Servlet类时,会通过继承 GenericServlet 或 HttpServlet类来实现,在 java.servlet.Servlet 接口中,定义了 init()、service()、destroy()3个方法对应Servlet生命周期的3个阶段;

1、初始化阶段

Servlet 的初始化阶段包括4个步骤:

Servlet容器加载Servlet类,把相关的.class文件的数据读取到内存中;

Servlet容器创建ServletConfig对象,同时使ServeltConfig与当前Web应用的ServletContext对象关联;

Servlet容器创建Servlet对象;

Servlet容器调用Servlet对象的init(ServletConfig config)方法;

2、运行时阶段

这是Servlet声明周期中最重要的阶段,在该阶段,Servelt可以随时响应客户端的请求;

当Servlet接收到访问特定Servlet的客户端请求时,会针对该请求创建 ServletRequest 和 ServletReponse 对象,然后调用Servlet对象的service()方法,该方法从ServeltRequest获取客户端请求,处理后通过ServeltReponse生成响应结果;

3、销毁阶段

当Web应用终止时,Servlet容器会调用 Web 应用中所有 Servlet 对象的 destroy() 方法,在销毁这些 Servlet 对象;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: