濮阳杆衣贸易有限公司

主頁 > 知識庫 > 淺談JSP serverlet的區(qū)別與聯(lián)系

淺談JSP serverlet的區(qū)別與聯(lián)系

熱門標簽:如何用中國地圖標注數(shù)字點 百度地圖添加標注圖標樣式 南昌市地圖標注app 地圖標注市場怎么樣 好操作的電話機器人廠家 企業(yè)怎么在聯(lián)通申請400電話 聊城智能電銷機器人外呼 泰州泰興400電話 怎么申請 南京新思維電話機器人

jsp是html包含java

servlet是java包含html

jsp請求到tomcat---tomcat封裝了jsp到servlet實現(xiàn)。

所以jsp請求時候,會自動創(chuàng)建session

而不用在servlet中request.getSession(true)

servlet是服務器端的程序,動態(tài)生成html頁面發(fā)到客戶端,但是這樣

程序里有許多out.println(),java和html語言混在一起很亂。所以

后來推出了jsp。其實jsp就是servlet,每一個jsp在第一次運行時被

轉(zhuǎn)換成servlet文件,再編譯成.class來運行。

有了jsp,因此在MVC模式中servlet不再負責生成html頁面,轉(zhuǎn)而擔任

控制程序邏輯的作用,控制jsp和javabean之間的流轉(zhuǎn)。

-----------------------------------------------------------------

Servlet與Jsp的區(qū)別

* Servlet中沒有內(nèi)置對象,原來Jsp中的內(nèi)置對象都是必須通過HttpServletRequest對象,或由

HttpServletResponse對象生成。

* 對于靜態(tài)的HTML標簽,Servlet都必須使用頁面輸出流諑行輸出。

總之,Jsp是Servlet的一種簡化,使用Jsp只需要完成程序員需要輸出到客戶端的內(nèi)容,至于Jsp中的

Java腳本如何鑲嵌到一個類中,由Jsp容器完成。而Servlet則是個完整的Java類,這個類的Service

方法用于生成對客戶端的響應。

-Servlet的開發(fā) 

Servlet通常稱為服務器端小程序,用于處理和響應客戶端的請求。

Servlet是個特殊的Java類,這個Java類必須繼承HttpServlet。每個Servlet可以響應客戶端的請求。

Servlet提供了不同的方法用于響應客戶端請求。

* doGet   :  用于響應客戶端的get請求
* doPost  :  用于響應客戶端的post請求
* doPut   :  用于響應客戶端的put請求
* doDelete:  用于響應客戶端的delete請求
* service(HttpServletRequest  request,   [可以響應客戶端所有類型的請求] 

HttpServletResponse response) 

throws ServletException,java.io.IOException

其他方法

* init(Servletconfig config)  : 創(chuàng)建Servlet實例時,調(diào)用的初始化方法。

* destory()   : 銷毀Servlet實例時,自動調(diào)用的資源回收方法。

-Servlet的配置

編譯好的Servlet源文件并不能響應用戶請求,還必須將其編譯成class文件。將編譯后的.class

文件放在WEB-INF/classes路徑下,如果Servlet有包,則還應該將class文件放在對應的包路徑下。

為了讓Servlet能響應用戶請求,還必須將Servlet配置在Web應用中。配置Servlet時,需要修改

web.xml文件

配置Servlet需要配置兩個部分:  

* 配置Servlet的名字:對應web.xml中的servlet/>元素

* 配置Servlet的URL :對應web.xml中的servlet-mapping/>元素

-Servlet的生命周期

Servlet在容器中運行,其實例的創(chuàng)建以及銷毀等都不是由程序員決定的,而是由容器進行控制的。

Servlet的創(chuàng)建有兩個選擇:

*客戶端請求對應的Servlet時,創(chuàng)建Servlet實例:大部分的Servlet都是這種Servlet

*Web應用啟動時,立刻創(chuàng)建Servlet實例:即load-on-startup Servlet

Servlet的生命周期:

Begin
    ---> 創(chuàng)建實例完成
    ---> 初始化[init]
    ---> 響應客戶端請求[doGet,doPost,service]
    ---> 被銷毀[destroy] --->   
End

-使用Servlet作為控制器

使用Servlet作為表現(xiàn)層的工作量太大,所有的HTML標簽都需要使用頁面輸出流生成。

因此使用Servlet作為表現(xiàn)層有如下三個劣勢:

* 開發(fā)效率低,所有的HTML標簽都需使用頁面輸出流完成

* 不利于團隊協(xié)作,美工人員無法參與Servlet界面的開發(fā)

* 程序可維護性差,即使修改一個按鈕的標題,讀需要重新編輯Java代碼,并重新編譯

使用Servlet的MVC的架構(gòu)實現(xiàn):

Jsp頁面--> Servlet程序 --> Servlet根據(jù)條件轉(zhuǎn)發(fā)新的Jsp頁面

-load-on-startup Servlet

Servlet實例化的時機還有在Web應用啟動時,即load-on-startup Servlet

應用啟動時就啟動的Servlet,通常是用于某些后臺服務的Servlet,或者攔截很多請求的Servlet;

這種Servlet通常作為基礎(chǔ)的Servlet使用,提供重要的后臺服務。

web.xml中的配置:

在servlet/>元素中增加元素

load-on-startup>1/load-on-startup>

-訪問Servlet的配置參數(shù)

配置Servlet時,還可以增加附加的配置參數(shù),通過使用配置參數(shù),可以實現(xiàn)更好的解除耦合,

避免將所有的參數(shù)以硬編碼方式寫在程序中。

訪問Servlet配置參數(shù)要通過ServletConfig類的實例完成,ServletConfig提供如下方法:

java.lang.String getInitParameter(java.lang.String name) [獲取初始化參數(shù)]

以上這篇淺談JSP serverlet的區(qū)別與聯(lián)系就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • JSP與Servlet的介紹說明

標簽:烏蘭察布 自貢 吉林 白銀 開封 銅川 山南 臨汾

巨人網(wǎng)絡通訊聲明:本文標題《淺談JSP serverlet的區(qū)別與聯(lián)系》,本文關(guān)鍵詞  淺談,JSP,serverlet,的,區(qū)別,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談JSP serverlet的區(qū)別與聯(lián)系》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談JSP serverlet的區(qū)別與聯(lián)系的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    米林县| 咸宁市| 巴林左旗| 敦煌市| 观塘区| 绵阳市| 肥西县| 开原市| 新竹县| 双桥区| 东阳市| 循化| 渑池县| 江源县| 贵州省| 昌平区| 大庆市| 隆子县| 阜城县| 南乐县| 博兴县| 留坝县| 张掖市| 沾益县| 乡城县| 巴马| 山阴县| 卢湾区| 海兴县| 北安市| 永济市| 长宁区| 邮箱| 突泉县| 甘德县| 玛沁县| 淮南市| 新津县| 敦煌市| 磴口县| 盱眙县|