Servlet的原理是什么?
Servlet(Server Applet),全稱Java Servlet,未有中文譯文。是用Java編寫的服務(wù)器端程序。[1]其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。狹義的Servlet是指Java語言實現(xiàn)的一個接口,廣義的Servlet是指任何實現(xiàn)了這個Servlet接口的類,一般情況下,人們將Servlet理解為后者。Servlet運(yùn)行于支持Java的應(yīng)用服務(wù)器中。從實現(xiàn)上講,Servlet可以響應(yīng)任何類型的請求,但絕大多數(shù)情況下Servlet只用來擴(kuò)展基于HTTP協(xié)議的Web服務(wù)器。最早支持Servlet標(biāo)準(zhǔn)的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服務(wù)器開始支持標(biāo)準(zhǔn)的Servlet。
原理:
1、Servlet執(zhí)行過程
用戶請求一個Servlet,Servlet容器自動構(gòu)建請求和響應(yīng)對象,然后執(zhí)行Servlet的service()方法,該方法會接收請求和響應(yīng)對象,通過響應(yīng)對象將處理結(jié)果發(fā)送給用戶。
2、怎么請求Servlet
用戶通過一個URL來請求一個Servlet。
3、怎么處理請求
當(dāng)用戶請求Servlet時,容器構(gòu)建ServletRequest對象request,并傳遞給Servlet的Service()方法,Service通過request對象獲取到請求的參數(shù),然后,根據(jù)參數(shù)做出相應(yīng)的處理,通過ServletResponse對象來向客戶端發(fā)送響應(yīng)內(nèi)容。
4、怎么響應(yīng)客戶端
當(dāng)用戶請求一個Servlet時候,容器會自動創(chuàng)建ServletResponse對象response,然后通過response對象向客戶端發(fā)送響應(yīng)內(nèi)容。
5、Servlet的生命周期
a、Servlet的class經(jīng)過部署,并啟動容器
b、(當(dāng)請求該Servlet時候)容器自動創(chuàng)建Servlet對象xServlet,然后xServlet調(diào)用其init()方法。到此,Servlet初始化結(jié)束。
c、一旦客戶端請求該Servlet,xServlet自動調(diào)用service()來處理請求。
d、一旦很長時間都沒有請求該Servlet(或者說該Servlet超時),則容器會將xServlet從容器中清除掉。
二、Servlet接口API
1、接口五個方法
2、Servlet的分支
3、Servlet的請求對象ServletRequest
4、Servlet的響應(yīng)對象ServletResponse
5、Http相關(guān)的Servlet
三、總結(jié)
1、Servlet是一種規(guī)范,稱為Servlet規(guī)范,是J2EE規(guī)范的一部分。
2、Servlet規(guī)范定義了Servlet相關(guān)的一組接口、其實現(xiàn)是由Servlet容器開發(fā)商來實現(xiàn),類似于JDBC驅(qū)動。
3、Servlet的也是類,其對象是通過Servlet容器來創(chuàng)建,Servlet只能在Servlet容器中運(yùn)行。打個比方說:容器是青山,Servlet是松柏。
4、當(dāng)客戶端請求Servlet時,容器會做兩件事情:
a、Servlet容器會將請求自動組裝為一個ServletRequest對象,并自動產(chǎn)生一個ServletResponse對象,這兩個對象一并傳遞給Servlet的service(request,response)方法。
b、在該Servlet對象上調(diào)用service(request,response)方法來處理并響應(yīng)用戶的請求。
5、用戶無法直接調(diào)用Servlet的方法,也無法去創(chuàng)建Servlet的實例。
總結(jié)
以上是生活随笔為你收集整理的Servlet的原理是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: J2EE学习笔记(四)之Servlet原
- 下一篇: MATLAB图像的读取和显示