java servlet

servlet是用java编写的服务端程序。主要功能在于交互式浏览和修改数据,生成动态web内容。狭义是值java语言实现的一个借口,广义是指任何实现这个servlet接口的类。


servlet运行于支持java的应用服务器中。从实现上讲,servlet可以响应任何类型的请求,但绝大多数情况下servlet只用来扩展基于http协议的web服务器。


工作模式

客户端发送请求至服务器,服务器启动并调用servlet,servlet根据客户端请求生成响应内容并将其传给服务器,服务器将响应返回客户端。


通用servlet

servlet由javax.servlet.GenericServlet实现servlet接口。程序设计人员可以通过使用或继承这个类来实现servlet应用


httpservlet

javax.servlet.http.HttpServlet实现了专门用于响应HTTP请求的servlet,提供了响应请求的doGet()和doPost()方法


生命周期

当servlet被部署在应用服务器中(应用服务器用于管理java组件的部分被抽象成为容器)以后,由容器控制servlet的生命周期。除非特殊制定,否则在容器启动的时候

servlet是不会被加载的,servlet只会在第一次请求的时候被加载和实例化。servlet一旦被加载,一般不会从容器中删除,直到应用服务器关闭或重新启动。但当容器做内存回收动作时,servlet有可能被删除。正因为这个原因,第一次访问servlet所以的时间要大大多于以后访问所用的时间。

servlet 1.加载-》2.初始化-》调用-》销毁


与jsp的关系

java服务器页面(jsp)是HttpServlet的扩展。由于HttpServlet大多是用来响应HTTP请求,并返回web页面(例如HTML/XML),所以不可避免地,在编写servlet时会涉及到大量的HTML内容,这给servlet的书写效率和可读性带了了很大障碍,jsp便是在这个基础上产生的。其功能是使用HTML的书写格式,在适当的地方加入java代码片段,将程序从复杂的HTML中解放出来,更专注与servlet本身的内容。

JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet。



java servlet优势

Servlet可以和其他资源(文件、数据库、Applet、Java应用程序等)交互,以生成返回给客户端的响应内容。如果需要,还可以保存请求-响应过程中的信息。

采用Servlet,服务器可以完全授权对本地资源的访问(如数据库),并且Servlet自身将会控制外部用户的访问数量及访问性质

Servlet可以是其它服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活Servlet。

Servlet可被链接(chain)。一个Servlet可以调用另一个或一系列Servlet,即成为它的客户端。

采用Servlet Tag技术,可以在HTML页面中动态调用Servlet。

Servlet API与协议无关。它并不对传递它的协议有任何假设。

像所有的Java程序一样,Servlet拥有面向对象Java语言的所有优势

Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用Servlet 的Tag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。

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


发布了96 篇原创文章 · 获赞 17 · 访问量 47万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章