教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)之jsp入門

更新時間:2016年08月13日18時00分 來源:傳智播客JAVA培訓(xùn)學(xué)員 瀏覽次數(shù):

JSP入門

1.什么是JSP?

JSP是Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它是Java Server Pages的簡稱。JSP技術(shù)有點類似ASP技術(shù),它在傳統(tǒng)的網(wǎng)頁HTML文件中插入了Java程序段和JSP標(biāo)記,從而形成了JSP文件。

2.JSP的作用

我們知道,jsp是一種動態(tài)網(wǎng)頁技術(shù),并且它是服務(wù)器端技術(shù),屬于動態(tài)資源的一種。瀏覽器不能直接顯示。其實,jsp本身也是一個Servlet,這個我們會在后面詳細(xì)講解。jsp與Servlet和HTML都有關(guān)系,下面我們來分析它們的各自的優(yōu)缺點:
  • Servlet的優(yōu)缺點:
我們知道,在Servlet中通過response的response.getWriter().print(“<html>”)方法向瀏覽器端響應(yīng)的,那么可以通過該方法向瀏覽器響應(yīng)回一個HTML文件。這樣來說,Servlet相對于JSP和HTML就有了以下優(yōu)缺點:
缺點:不適合設(shè)置HTML響應(yīng)體,需要大量的response.getWriter().print(“<html>”);
優(yōu)點:相對于HTML來說,Servlet是動態(tài)資源,可以編程;
  • HTML的優(yōu)缺點:
HTML是靜態(tài)資源,瀏覽器可以直接顯示。相對Servlet和JSP來說,它就有以下優(yōu)缺點:
缺點:HTML是靜態(tài)頁面,不能包含動態(tài)信息;
優(yōu)點:由于瀏覽器可以直接顯示,不用為輸出HTML標(biāo)簽發(fā)愁;
  • Jsp的優(yōu)點:
由于jsp本身也是一個Servlet,而且又包含了HTML標(biāo)簽,所以jsp可以說是結(jié)合了Servlet和HTML的優(yōu)點。

3.JSP與Servlet的分工

在之前的開發(fā)中,由于JSP文件中也可以書寫Java代碼,有一段時間JSP取代了Servlet,JSP不僅用來顯示數(shù)據(jù),還用來處理數(shù)據(jù),這種開發(fā)模式,我們稱之為Model1模式,但是它不屬于MVC模式,如圖1-1所示:

圖1-1 Model1
這種模式適合小型的web項目開發(fā),而且對Java web開發(fā)人員的技術(shù)水平要求不高,但是它也有以下缺點:
  • HTML標(biāo)簽與Java代碼耦合在一起,導(dǎo)致頁面設(shè)計與邏輯處理無法分離;
  • 可讀性差,調(diào)試?yán)щy,不利于維護;
  • 功能劃分不清。
而現(xiàn)在開發(fā)中已經(jīng)很少使用此種開發(fā)模式,現(xiàn)在jsp就是用來顯示數(shù)據(jù),而數(shù)據(jù)的處理交給了Servlet來處理,這樣Model1模式的缺點都可以避免了。下面我們來看一下JSP與Servlet是如何分工的:
JSP:
  • 作為請求發(fā)起頁面,例如:顯示表單,超鏈接;
  • 作為請求結(jié)束頁面,例如:顯示數(shù)據(jù)。
Servlet:
  • 作為請求中處理數(shù)據(jù)的環(huán)節(jié)
下面通過一張圖來詳細(xì)了解Servlet與JSP的分工,如圖1-2所示:

圖1-2 jsp與Servlet分工圖
圖1-2中,當(dāng)點擊form.jsp頁面中的“提交”按鈕,就發(fā)送一個請求給Servlet,當(dāng)Servlet處理好數(shù)據(jù),就請求轉(zhuǎn)發(fā)給result.jsp。在result.jsp頁面顯示處理后的數(shù)據(jù)。
其實,我們可以理解jsp頁面就是一個餐廳的服務(wù)器員,jsp就是為顧客提供菜單,然后由顧客來選擇,Servlet就相當(dāng)于餐廳里的廚師,Servlet處理好顧客的請求,然后交給服務(wù)器,由服務(wù)器員將請求結(jié)果呈現(xiàn)給顧客。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://metathetuscanyresort.com/javaee
0 分享到:
和我們在線交談!