Java Web应用容器的主要功能就是运行Servlet和JSP,而JSP本质上就是Servlet。因此本文提到的Java Web应用容器、Servlet/JSP容器或者Servlet容器,实际上都是同一个概念的不同说法。
SUN的Servlet规范对JavaWeb应用作了这样的定义:“JavaWeb应用由一组Servlet/JSP、HTML文件、相关Java类,以及其他可以被绑定的资源构成,它可以在由各种供应商提供的符合Servlet规范的Servlet容器中运行。”
Servlet组件:标准Servlet接口的实现类,运行在服务器端。包含了被Servlet容器动态调用的程序代码。
JSP组件:包含Java程序代码的HTML文档,运行在服务器端。当客户端请求访问JSP文件时,Servlet容器先把它编译成Servlet类,然后动态调用它的程序代码。
Web应用的主要特点在于以可交互的HTML网页为客户端界面,并且由浏览器来展示客户端界面。此外,Web应用由Web服务器来发布和运行,浏览器与Web服务器之间的远程数据交互遵循HTTP协议。在技术上,Web服务器具备动态执行特定程序代码的能力,这是Web应用得以存在和发展的前提。
Web服务器可以访问任意一个Web应用中实现Servlet接口的类;
Web应用中用于被Web服务器动态调用的程序代码位于Servlet接口的实现类中。
Servlet规范把能够发布和运行JavaWeb应用的Web服务器称为Servlet容器,它的最主要的特征是动态执行JavaWeb应用中的Servlet实现类中的程序代码。