5.1.3 Servlet
2025年09月26日
5.1.3 Servlet
Servlet全称为Java Servlet,是在JSP之前的一种采用Java语言实现动态页面的技术,于1997年由Sun和其他的几个公司提出。在JSP技术出现之前,使用Servlet能将HTTP请求和响应封装在标准Java类中来实现各种动态的Web应用。
Servlet最常见的功能包括:处理客户端传来的HTTP请求,并返回一个响应;生成一个HTML片段,并将其嵌入现有HTML页面中;能够在其内部调用其他的Java资源并与多种数据库进行交互;可同时与多个客户端建立连接,等等。
Servlet程序由Servlet引擎负责管理运行。当服务器中的Servlet程序被请求访问时,该Servlet程序被加载到Java虚拟机中,接收HTTP请求并做相应的处理。当多个客户请求一个Servlet时,引擎为每个客户启动一个线程而不是进程,这些线程由支持Servlet引擎的服务器来管理,与传统的CGI为每个客户启动一个进程相比,效率要高得多。
Servlet程序的生命周期由Servlet引擎控制,在被装入服务器内存时开始,在终止或重新加载Servlet程序时结束,包括加载、实例化和初始化Servlet程序,处理来自客户端的请求以及从服务器中销毁几个阶段。
Servlet是传统CGI的替代品,与传统的CGI和许多其他类似CGI技术相比,Servlet具有更好的可移植性、更强大的功能、更高的效率以及更好的安全性等特点。但随着JSP及其他脚本技术的发展,在生成动态页面方面Servlet已经逐渐让位给JSP了。不过在其他方面,Servlet技术仍然存在优势。因此,在目前主流的Web开发模式中,这两种技术都在发挥各自的作用。