【叶凡网络】谈谈Servlet的定义和原理的浅析

2014-01-23 10:22:15 | 新闻来源:叶凡网络 | 点击量:535

Servlet运行于JavaenablWebServer中,JavaServlet可以动态地扩展Server能力,Servlet定义是什么呢?Servlet与Java又是什么关系呢?Servlet用Java编写的Server端程序。并采用请求-响应模式提供Web服务。

每个请求都要启动一个新的进程,保守的CGI中。如果CGI顺序自身的执行时间较短,启动进程所需要的开销很可能反而逾越实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)保守CGI中,如果有N个并发的对同一CGI顺序的请求,则该CGI顺序的代码在内存中重复装载了N次;而对于Servlet处置请求的N个线程,只需要一份Servlet类代码。性能优化方面,Servlet也比CGI有着更多的选择,比如缓冲以前的计算结果,坚持数据库连接的活动,等等。

一些其它基于JavaWebServer开始支持规范的ServletAPI最早支持Servlet技术的JavaSoftJavaWebServer尔后。动态地生成Web页面。与传统的CGI和许多其他类似CGI技术相比,ServletJava技术对CGI编程的回答。Servlet顺序在服务器端运行。JavaServlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的Servlet顺序员收入要比Perl顺序员高,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处置Cooki跟踪会话状态等。Servlet提供了大量的实用工具例程。

许多使用保守CGI顺序很难完成的任务都可以轻松地完成。例如,Servlet中。Servlet能够直接和Web服务器交互,而普通的CGI顺序不能。Servlet还能够在各个顺序之间共享数据,使得数据库连接池之类的功能很容易实现。ServletAPI具有完善的规范。因此,Servlet用Java编写。为I-PlanetEnterprisServer写的Servlet无需任何实质上的改动即可移植到ApachMicrosoftIIS或者WebStar几乎所有的主流服务器都直接或通过插件支持Servlet

而且对于现有的服务器,不只有许多廉价甚至免费的Web服务器可供个人或小规模网站使用。如果它不支持Servlet话,要加上这部分功能也往往是免费的或只需要极少的投资)

生成动态Web内容。这个过程为:Servlet主要功能在于交互式地浏览和修改数据。客户端发送请求至服务器端;服务器将请求信息发送至Servlet通常取决于客户端的请求;Servlet生成响应内容并将其传给Server响应内容动态生成。服务器将响应返回给客户端可动态地从网络加载,Servlet看起来像是通常的Java顺序。Servlet导入特定的属于JavaServletAPI包。因为是对象字节码。可以说Servlet对Server就如同Applet对Client一样,但是由于 Servlet运行于Server中,并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject

以生成返回给客户端的响应内容。如果需要,Servlet可以和其他资源(文件、数据库、AppletJava应用顺序等)交互。还可以保管请求-响应过程中的信息。采用Servlet服务器可以完全授权对本地资源的访问(如数据库)并且Servlet自身将会控制外部用户的访问数量及访问性质例如,Servlet可以是其它服务的客户端程序。可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活Servlet

Servlet可被链接chain一个Servlet可以调用另一个或一系列Servlet即成为它客户端。可以在HTML页面中动态调用Servlet采用ServletTag技术。ServletAPI与协议无关。并不对传递它协议有任何假设。拥有面向对象Java语言的所有优势像所有的Java顺序一样。Servlet能够生成嵌于静态HTML页面中的动态内容。Servlet提供了Java应用顺序的所有优势—可移植、稳健、易开发。使用ServletTag技术。

 

然后它将继续运行于后台,一个Servlet被客户端发送的第一个请求激活。等待以后的请求。每个请求将生成一个新的线程,而不是一个完整的进程。多个客户能够在同一个进程中同时得到服务。一般来说,Servlet进程只是WebServer卸载时被卸载。

上一篇:【叶凡网络】日本前首相就安倍参拜靖国神社一事表示该反省 下一篇:【叶凡网络】不明身份武装分子被全部击毙因为突闯中吉边境