Servlet簡(jiǎn)介
Servlet運(yùn)行在服務(wù)器端。
Servlet并不限制所使用的協(xié)議,但使用最多的協(xié)議是HTTP協(xié)議。
Servlet具有跨平臺(tái)突硝、可移植性強(qiáng)等有點(diǎn),但并沒(méi)有被廣泛的使用。
Servlet的生命周期
Servlet運(yùn)行在Servlet容器中,由容器來(lái)管理其生命周期音羞。Servlet的生命周期主要包含4個(gè)過(guò)程:
1. 加載和實(shí)例化:加載和實(shí)例化Servlet是由Servlet容器來(lái)實(shí)現(xiàn)的。
2. 初始化:在Servlet的實(shí)例創(chuàng)建后仓犬,容器會(huì)吊用Servlet的init()方法來(lái)初始化該Servlet對(duì)象嗅绰。
3. 執(zhí)行:當(dāng)客戶端請(qǐng)求到來(lái)后,Servlet容器首先針對(duì)該請(qǐng)求創(chuàng)建ServletRequest和ServletResponse兩個(gè)對(duì)象搀继,然后Servlet容器會(huì)自動(dòng)調(diào)用Servlet的service()方法來(lái)響應(yīng)客戶端請(qǐng)求窘面,同時(shí)把ServletRequest和ServletResponse兩個(gè)對(duì)象傳給service()方法。
4. 清理:當(dāng)Servlet實(shí)例需要從服務(wù)中移除時(shí)叽躯,容器會(huì)調(diào)用destroy()方法财边,讓該實(shí)例釋放掉它所使用的資源,并將實(shí)例中的數(shù)據(jù)保存到持久的存儲(chǔ)設(shè)備中点骑。
下面對(duì)Servlet生命周期中的3個(gè)重要方法做個(gè)說(shuō)明:
1. init()方法:創(chuàng)建Servlet實(shí)例時(shí)會(huì)調(diào)用酣难,只執(zhí)行一次。
2. service()方法:用來(lái)響應(yīng)客戶端發(fā)出的請(qǐng)求黑滴。
3. destroy()方法:當(dāng)不再需要Servlet實(shí)例或重新裝入時(shí)鲸鹦,destroy()方法被調(diào)用,用以釋放掉所有在init方法中申請(qǐng)的資源跷跪。
Servlet的常用類和接口
servlet API包含在兩個(gè)包中,分別是javax.servlet和javax.servlet.http齐板。在Servlet架構(gòu)中吵瞻,Servlet接口是所有類型的Servlet類必須實(shí)現(xiàn)的接口,而最典型的Servlet類則是HttpServlet類甘磨。下面列出Servlet中的常用接口和類
1. Servlet接口
2. GenericServlet抽象類
3. HttpServlet抽象類
4. ServletRequest接口和ServletResponse接口
5. HttpServletRequest接口
6. HttpServletResponse接口
7. HttpSession接口
Servlet示例
基礎(chǔ)Demo