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

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

JAVA培訓之jsp入門

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

JSP入門

1.什么是JSP?

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

2.JSP的作用

我們知道,jsp是一種動態(tài)網(wǎng)頁技術,并且它是服務器端技術,屬于動態(tài)資源的一種。瀏覽器不能直接顯示。其實,jsp本身也是一個Servlet,這個我們會在后面詳細講解。jsp與Servlet和HTML都有關系,下面我們來分析它們的各自的優(yōu)缺點:
  • Servlet的優(yōu)缺點:
我們知道,在Servlet中通過response的response.getWriter().print(“<html>”)方法向瀏覽器端響應的,那么可以通過該方法向瀏覽器響應回一個HTML文件。這樣來說,Servlet相對于JSP和HTML就有了以下優(yōu)缺點:
缺點:不適合設置HTML響應體,需要大量的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標簽發(fā)愁;
  • Jsp的優(yōu)點:
由于jsp本身也是一個Servlet,而且又包含了HTML標簽,所以jsp可以說是結合了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ā)人員的技術水平要求不高,但是它也有以下缺點:
  • HTML標簽與Java代碼耦合在一起,導致頁面設計與邏輯處理無法分離;
  • 可讀性差,調試困難,不利于維護;
  • 功能劃分不清。
而現(xiàn)在開發(fā)中已經(jīng)很少使用此種開發(fā)模式,現(xiàn)在jsp就是用來顯示數(shù)據(jù),而數(shù)據(jù)的處理交給了Servlet來處理,這樣Model1模式的缺點都可以避免了。下面我們來看一下JSP與Servlet是如何分工的:
JSP:
  • 作為請求發(fā)起頁面,例如:顯示表單,超鏈接;
  • 作為請求結束頁面,例如:顯示數(shù)據(jù)。
Servlet:
  • 作為請求中處理數(shù)據(jù)的環(huán)節(jié)
下面通過一張圖來詳細了解Servlet與JSP的分工,如圖1-2所示:

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

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