Java Servlet系列之Servlet入门
什么是Servlet
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Servlet相关名称
Web服务器
Web服务器,即Web Server,是Web(互联网)上的一台或多台机器。这些机器上部署了系统软件以及需要在网络中共享的信息。客户端可以通过HTTP协议访问部署到服务器上的资源。
应用服务器
应用服务器,即Application Server,是网络上一台或多台机器。这些机器上部署了系统软件用以为客户端以及其他服务器比如Web服务器提供数据服务、业务处理服务等。常见的应用服务器包括文件服务器、打印服务器以及运行着EJB组件的EJB服务器等。
Servlet容器
Servlet容器,即Servlet Container,是Web服务器或应用服务器的组成部分,它可以为Servlet提供请求和响应的服务,同时也负责管理Servlet的生命周期。Servlet容器也可以为Servlet提供其它的服务,比如资源服务、安全服务、线程的服务等。Servlet容器即可以集成到Web服务器或应用服务器中,也可以作为独立的程序嵌入到Web服务器或应用服务器中。
Servlet作用
Servlet规范通过规定一个编程的框架来达到扩展服务器功能的目的,采用请求-响应模式提供基于Web的服务。当客户机发送请求至服务器时,服务器将请求信息转发给Servlet,Servlet处理请求并生成响应内容并将其传给Web服务器,然后再由Web服务器将响应返回给客户端。
Servlet实现过程
最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
- 客户端发送请求至服务器端
- 服务器将请求信息发送至Servlet
- Servlet生成响应信息并将其传给服务器。响应内容动态生成,通常取决于客户端的请求
- 服务器将响应返回给客户端
Web容器
Web容器有两大功能,分别是:
- 提供编写Servlet程序所需要的API
- 提供驻留并执行Servlet程序的环境
PS:Servlet入门只是Java Servlet系列的第一篇文章,作为Java Servlet的入门基础知识,后续还会有几篇文章来继续深入的研究Servlet。文章还存在不足之处,欢迎各位大神批评指正。
参考:《servlet详细讲解》