日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Servlet學(xué)習(xí)筆記_Servlet

系統(tǒng) 2172 0

1. servlet體系結(jié)構(gòu)

servelt我們可以理解為一個(gè)實(shí)現(xiàn)了可以接受請(qǐng)求并響應(yīng)請(qǐng)求的java類。servlet類的體系結(jié)構(gòu)如下圖
Servlet學(xué)習(xí)筆記_Servlet

GenericServlet抽象類-----實(shí)現(xiàn)了Servlet接口和ServletConfig接口和Serializable接口

HttpServlet抽象類繼-----承于GenericServlet抽象類

2.servlet生命周期

init()方法和destory()方法都只調(diào)用一次,service()方法每接受一個(gè)請(qǐng)求,都會(huì)調(diào)用一次service()方法。

2.1Servlet容器實(shí)例化某個(gè)Servlet對(duì)象

在web.xml里面可以配置一個(gè)標(biāo)簽,讓某個(gè)servlet類在Servlet容器啟動(dòng)的時(shí)候就創(chuàng)建這個(gè)servlet類的一個(gè)對(duì)象。如果不配置servlet容器啟動(dòng)創(chuàng)建servlet對(duì)象,則當(dāng)某個(gè)servlet接收到客戶端的請(qǐng)求時(shí),才創(chuàng)建這個(gè)servlet對(duì)象

2.2 某個(gè)Servlet對(duì)象初始化

Servlet實(shí)例化后,會(huì)調(diào)用servlet的init()方法,這個(gè)方法就是用來初始化的。你可以重寫這個(gè)方法,根據(jù)自己的需求去初始化這個(gè)servlet實(shí)例。

如果你在web.xml為這個(gè)Servlet實(shí)例配置了初始化參數(shù),如下

<servlet>

<servlet-name>LoginDispatcher</servlet-name>

<servlet-class>requestdispatcher.LoginDispatcher</servlet-class>

<init-param>

<param-name>name</param-name>

<param-value>zhangsan</param-value>

</init-param>

</servlet>

你可以調(diào)用ServletConfig接口的getInitParameter()方法去獲得這些初始化參數(shù)。由上面類圖我們可以知道GenericServlet抽象類實(shí)現(xiàn)了ServletConfig接口。

這里有兩個(gè)異常要介紹:

ServletException:一般用來指明某個(gè)servlet初始化失敗,例如找不到初始化參數(shù)

UnavailbleException:用于通知servlet容器該servlet實(shí)例不可用,例如當(dāng)這個(gè)servlet在初始化的時(shí)候調(diào)用數(shù)據(jù)庫連接失敗,那么這個(gè)Servlet就不可用了,于是必須通知Servlet容器,告訴它這個(gè)Servlet對(duì)象不可用

2.3 Servlet處理請(qǐng)求

當(dāng)客戶端發(fā)送請(qǐng)求給某個(gè)servlet的時(shí)候,servlet會(huì)調(diào)用該servlet的service()方法去處理請(qǐng)求。在處理請(qǐng)求期間發(fā)生錯(cuò)誤會(huì)拋出ServletException和UnavialbleException。

當(dāng)UnavialbleException標(biāo)志該servlet為永久不可用的servlet時(shí),servlet容器就會(huì)調(diào)用該servlet的destory()方法銷毀該servlet,并返回給客戶端HTTP404錯(cuò)誤(請(qǐng)求的資源不可用或不存在)。

當(dāng)UnavialbleException標(biāo)志該servlet為暫時(shí)不可用的servlet時(shí),servlet容器將返回給客戶端HTTP503錯(cuò)誤(服務(wù)器忙,不能處理請(qǐng)求)

2.4 Servlet的銷毀

當(dāng)servlet容器要銷毀某個(gè)servlet之前,servlet容器會(huì)調(diào)用該servlet的destory()方法,去釋放一些資源,例如:數(shù)據(jù)庫連接等等

3. servlet生命周期時(shí)序圖

Servlet學(xué)習(xí)筆記_Servlet

Servlet學(xué)習(xí)筆記_Servlet


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 扎囊县| 防城港市| 麻城市| 广宁县| 庆城县| 容城县| 临沧市| 定安县| 南安市| 安阳县| 都昌县| 河曲县| 津南区| 都安| 赤壁市| 高邑县| 会泽县| 扬中市| 广河县| 江北区| 安平县| 鹿邑县| 吉隆县| 宜兰市| 通城县| 甘德县| 浦东新区| 临湘市| 灌阳县| 普兰县| 巴塘县| 白城市| 通州市| 岳西县| 页游| 玉龙| 丹寨县| 闽侯县| 镇沅| 瑞昌市| 山西省|