首先說(shuō)說(shuō)我們知道的服務(wù)器,比如 IIS, Tomcat, Jboss等.它們都與web利用有關(guān),IIS是1種Web服務(wù)組件,包括Web服務(wù)器,FTP服務(wù)器,NNTP服務(wù)器和SMTP服務(wù)器; Tomcat屬于輕量級(jí)Web服務(wù)器,中小型項(xiàng)目中我們常常用到; Jboss屬于重量級(jí)的Web利用服務(wù)器,包括EJB容器和Web服務(wù)器,我們的ITOO項(xiàng)目用的就是Jboss.
我們來(lái)看看Web服務(wù)器和Web利用的關(guān)系.
Web服務(wù)器與Web利用屬于不同的范疇,它們間需要借助標(biāo)準(zhǔn)的接口來(lái)協(xié)作,Servlet是主要的1個(gè)接口.
Servlet容器:
它是JavaWeb利用中最核心,最經(jīng)常使用的組件.我們還記得在web.xml文件中配置過Servlet元素,這是由于客戶要求訪問特定Servlet前,Servlet容器需要?jiǎng)?chuàng)建1系列與Servlet有關(guān)的對(duì)象.我們來(lái)了解下這1進(jìn)程.
客戶端發(fā)出1個(gè)要求,有求就得有應(yīng)啊,因而Servlet容器就站出來(lái)它說(shuō)要接收,接收完要求得干活啊,因而它得解析這個(gè)要求,因而左創(chuàng)建1個(gè)ServletRequest對(duì)象,(包括了客戶要求等信息).右創(chuàng)建1個(gè)ServletResponse對(duì)象.當(dāng)Servlet容器調(diào)用特定Servlet的service方法的時(shí)候,ServletRequest和ServletResponse就被悄悄地送進(jìn)去做參數(shù)了.特定的Servlet這下高興了,從ServletRequest對(duì)象中獲得客戶要求信息,利用ServletResponse對(duì)象生成相應(yīng)結(jié)果.Servlet容器1看,哇塞,結(jié)果出來(lái)了,轉(zhuǎn)手就發(fā)給客戶了.
Servlet容器是個(gè)神馬玩意呢?好像它并沒干多少活,就是要了客戶的需求,造了兩個(gè)小兵,讓小兵背走需求去弄,它還告知小兵在service方法調(diào)用的時(shí)候,它要把需求倒背如流,弄完了就讓另外一個(gè)小兵把結(jié)果給運(yùn)回來(lái).容器創(chuàng)造了對(duì)象并讓對(duì)象調(diào)和工作,并能對(duì)外進(jìn)行良好的溝通.嘖嘖嘖,很牛.
說(shuō)得好不如畫的好,有圖有真相.
Servlet接口:
所有的Servlet都實(shí)現(xiàn)了Servlet接口,接口中有5個(gè)方法.分別是:
Init();
Service();
destory();
getServletConfig();
getServletInfo();
其中,Init(),Service()和destory()是由容器調(diào)用的,在不同的Servlet生命周期階段分別調(diào)用.容器初始化1個(gè)Servlet對(duì)象時(shí),創(chuàng)建1個(gè)ServletConfig對(duì)象,包括這個(gè)Servlet的初始化參數(shù)信息.ServletConfig對(duì)象只對(duì)1個(gè)Servlet有效,不能被另外一個(gè)Servlet訪問到.
在Servlet相干的對(duì)象中還有1個(gè)ServletContext對(duì)象,ServletContext和ServletConfig不同的是:ServletContext對(duì)任何Servlet都有效,是全局對(duì)象.我們會(huì)在下篇博客中對(duì)這2者進(jìn)行詳細(xì)的了解.
上一篇 [置頂] Android三種實(shí)現(xiàn)Tab界面效果的方法,ViewPager + Fragment
下一篇 Red Hat Enterprise Linux Server release 6.4 x64 安裝 yum 源