Servlet容器主要是JavaWeb應用提供運行時環境,所以也可以稱之為JavaWeb應用容器,或者Servlet/JSP容器。Servlet容器主要負責管理Servlet、JSP的生命周期以及它們的共享數據。
目前最流行的Servlet容器軟件包括: Tomcat、Jetty、Jboss等。
Tomcat
Tomcat和IIS等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。
Jetty
Jetty 是一個開源的servlet容器,它為基于Java的web容器,例如JSP和servlet提供運行環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式發布。開發人員可以將Jetty容器實例化成一個對象,可以迅速為一些獨立運行(stand-alone)的Java應用提供網絡和web連接。
Jboss
Jboss是一個基于J2EE的開放源代碼的應用服務器。 JBoss代碼遵循LGPL許可,可以在任何商業應用中免費使用。JBoss是一個管理EJB的容器和服務器,支持EJB 1.1、EJB 2.0和EJB3的規范。但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。
Servlet是和平臺無關的服務器端組件(java編寫的,跨平臺),它運行在Servlet容器中。
Servlet容器負責Servlet和客戶的通信以及調用Servlet的方法,Servlet和客戶的通信采用“請求/響應”的模式 Servlet可完成如下功能:
1、創建并返回基于客戶請求的動態HTML頁面
2、創建可嵌入到現有HTML 頁面中的部分HTML 頁面(HTML 片段)
3、與其它服務器資源(如數據庫或基于Java的應用程序)進行通信
Servlet容器響應客戶請求過程: