servlet 運(yùn)行在servlet容器中掂摔,servlet容器負(fù)責(zé)servlet和客戶端的通信以及調(diào)用servlet方法螟左,servlet和客戶端的通信一般采用“請(qǐng)求通信”的模式。
servlet 的主要功能是讓我們可以進(jìn)行交互式瀏覽和修改數(shù)據(jù)谈喳,從以前的靜態(tài)網(wǎng)頁(yè)轉(zhuǎn)變到動(dòng)態(tài)web
servlet容器的作用
1、支持通信拷况,提供交互方法
2瀑晒、生命周期的管理维苔,容器控制servlet的創(chuàng)建和銷(xiāo)毀
3、支持多線程采郎,負(fù)責(zé)管理線程(但可能遇到線程同步問(wèn)題)
4千所、可以讓開(kāi)發(fā)人員在xml中管理和修改安全策略
5、可以將jsp代碼翻譯成java代碼
下面看一個(gè)處理http請(qǐng)求的過(guò)程
1蒜埋、用戶打開(kāi)網(wǎng)站——客戶端發(fā)送對(duì)servlet的請(qǐng)求到服務(wù)器
2淫痰、servlet容器接受請(qǐng)求,創(chuàng)建httpServletRequest和httpServletResponse 兩個(gè)對(duì)象
3整份、容器通過(guò)http請(qǐng)求中的url地址待错,找到所請(qǐng)求的servlet ,創(chuàng)建或分配一個(gè)線程烈评,將上面的兩個(gè)對(duì)象傳遞給該線程
4火俄、容器調(diào)用service() 方法 ,service() 方法調(diào)用doGet() 方法
5讲冠、doGet() 方法 產(chǎn)生動(dòng)態(tài)頁(yè)面瓜客,填充到響應(yīng)對(duì)象
6、線程結(jié)束竿开,容器將響應(yīng)對(duì)象轉(zhuǎn)換成http響應(yīng) 谱仪,發(fā)回給客戶端,然后刪除請(qǐng)求和響應(yīng)對(duì)象
寫(xiě)到這里你就會(huì)明白否彩,為什么程序是這樣寫(xiě)的了