1 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
通俗點(diǎn)說,所謂容器,就是放東西的地方。Servlet容器自然就是放Servlet的地方。J2EE開發(fā),是有分工的。一般的程序員,寫得都是應(yīng)用開發(fā),我們會按照一定的規(guī)則,開發(fā)我們的系統(tǒng),比如用Servlet開發(fā),我們就要按照Servlet的規(guī)則寫代碼。 那么我們寫的代碼就是在Servlet容器中運(yùn)行。容器會按照規(guī)則加載類,并運(yùn)行它。 有一部份程序員就是寫容器的,如Tomcate就是web容器。tomcat就是一個(gè)Servlet容器。
servlet容器基本概念:
1,Tomcat是Servlet的運(yùn)行環(huán)境,即一個(gè)Servlet容器。
2,Servlet容器的作用是負(fù)責(zé)處理客戶請求,當(dāng)客戶請求來到時(shí),Servlet容器獲取請求,然后調(diào)用某個(gè)Servlet,并把Servlet的執(zhí)行結(jié)果返回給客戶。
3,Servlet容器的工作過程是:當(dāng)客戶請求某個(gè)資源時(shí),Servlet容器使用ServletRequest對象把客戶的請求信息封裝起來,然后調(diào)用java Servlet API中定義的Servlet的一些生命周期方法,完成Servlet的執(zhí)行,接著把Servlet執(zhí)行的要返回給客戶的結(jié)果封裝到 ServletResponse對象中,最后Servlet容器把客戶的請求發(fā)送給客戶,完成為客戶的一次服務(wù)過程。每一個(gè)Servlet的類都執(zhí)行 init()、service()、destory()三個(gè)函數(shù)的自動(dòng)調(diào)用,在啟動(dòng)時(shí)調(diào)用一次init()函數(shù)用以進(jìn)行參數(shù)的初始化,在服務(wù)期間每當(dāng)接收到對該Servlet的請求時(shí)都會調(diào)用Service()函數(shù)執(zhí)行該Servlet的服務(wù)操作,當(dāng)容器銷毀時(shí)調(diào)用一次destory()函數(shù)。
4,典型的Servlet應(yīng)用是監(jiān)聽器、過濾器的實(shí)現(xiàn)。
JSP運(yùn)行原理:當(dāng)Web服務(wù)器上的JSP頁面第一次被請求執(zhí)行時(shí),JSP引擎先將JSP頁面文件轉(zhuǎn)譯成一個(gè)Java文件,即Servlet,Java Servlet是基于服務(wù)器端編程的API,用Java Servlet編寫的Java程序稱為servlet,servlet通過HTML與客戶交互。服務(wù)器將前面轉(zhuǎn)譯成的Java文件編譯成字節(jié)碼文件,再執(zhí)行這個(gè)字節(jié)碼文件來響應(yīng)客戶的請求。當(dāng)這個(gè)JSP頁面再次被請求時(shí),只要該JSP文件沒有被改動(dòng),JSP引擎就直接調(diào)用已裝載的Servlet。
- 1 回答
- 0 關(guān)注
- 914 瀏覽
添加回答
舉報(bào)