資源描述:
《搭建簡單的Web服務(wù)器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、搭建一個簡單的服務(wù)器貝毅君浙江大學(xué)軟件學(xué)院主要內(nèi)容Tomcat總體結(jié)構(gòu)HTTP請求與響應(yīng)Socket與ServerSocket搭建簡單的web服務(wù)器Tomcat是一個基于組件的服務(wù)器,它的構(gòu)成組件都是可配置的,其中最外層的組件是CatalinaServlet容器,其他的組件按照一定的格式要求配置在這個頂層容器中。Tomcat簡介Tomcat簡介/bin:存放windows或Linux平臺上啟動和關(guān)閉Tomcat的腳本文件/conf:存放Tomcat服務(wù)器的各種全局配置文件,其中最重要的是server.xml和web.xml/doc:存放Tomcat文檔/server:包含三個子目
2、錄:classes、lib和webapps/server/lib:存放Tomcat服務(wù)器所需的各種JAR文件Tomcat簡介-目錄結(jié)構(gòu)/server/webapps:存放Tomcat自帶的兩個WEB應(yīng)用admin應(yīng)用和manager應(yīng)用/common/lib:存放Tomcat服務(wù)器以及所有web應(yīng)用都可以訪問的jar文件/shared/lib:存放所有web應(yīng)用都可以訪問的jar文件(但是不能被Tomcat服務(wù)器訪問)/logs:存放Tomcat執(zhí)行時的日志文件Tomcat簡介-目錄結(jié)構(gòu)/src:存放Tomcat的源代碼/work:存放JSP產(chǎn)生的servlet文件/webapp
3、s:Tomcat的主要Web發(fā)布目錄,默認情況下把Web應(yīng)用文件放于此目錄/helloapp:Web應(yīng)用的根目錄,所有的jsp文件和html文件都在此目錄下/helloapp/WEB_INF:存放該web應(yīng)用發(fā)布時的描述文件web.xml/helloapp/WEB_INF/class:存放各種class文件,Servlet文件也存放于此目錄下/helloapp/WEB_INF/lib:存放各鐘Web應(yīng)用所需要的jar文件。比如可以存放JDBC驅(qū)動程序的JAR文件Tomcat簡介-目錄結(jié)構(gòu)以helloapp應(yīng)用為例helloapp(/webapps/helloapp/Web-INF
4、/下的classes,lib子目錄中*.calss及*.jar,僅helloapp可以加載)Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)System($CLASSPATH/*.class和CLASSPATH中指定的jar)Tomcat簡介–加載資源順序Common($CATALINA_HOME/common/下的classes,lib,endores子目錄中*.class及*.jar)Catalina($CATALINA_HOME/server/下的classes,lib子目錄中*.calss及*.jar,僅Tomcat可以加載)Shared($
5、CATALINA_HOME/shared/下的classes,lib子目錄中*.calss及*.jar,僅所有Web應(yīng)用可以加載)Tomcat簡介–加載資源順序Tomcat總體結(jié)構(gòu)Tomcat的各個組件是在confserver.xml文件中配置的,下面通過分析server.xml文件來理解Tomcat的各個組件是如何組織的。Tomcat總體結(jié)構(gòu)????????????????????????????????
6、???Tomcat簡介Server組件對應(yīng)元素,它是配置文件的最頂層元素,代表一個服務(wù)器。一個配置文件中只能有一個元素。Service組件是一些Connector組件的集合,它本身不是一個容器。一個Service組件中只能有一個Engine組件,可以包含多個Connector組件。Connector組件表示一個接口,通過這個接口接收客戶的請求,然戶發(fā)送給其他的容器組件,最后再把服務(wù)器的響應(yīng)結(jié)果傳遞給客戶。容器類元素:為特定的虛擬主機處理所有客戶請求,可包含多個Context容器類元素:為特
7、定的Service組件處理所有客戶請求,可包含多個Host。容器類元素:為特定的Web應(yīng)用處理所有客戶請求Tomcat總體結(jié)構(gòu)Server:一個Server代表整個CatalinaServlet容器。Service:由多個Connector組成,以及一個Engine,處理所有Connector所獲得的客戶請求。Tomcat總體結(jié)構(gòu)–基本組件Connector:一個Connector將在某個指定端口上偵聽客戶請求,并將獲得的請求交給Engine來處理,從Engine處獲得回應(yīng)并返回