JSP和Servlet的區別與聯繫

JSP(Java Server Pages):jsp 文件在容器中會轉換成Servlet中執行。
  Servlet (Server Applet)用於交互式地瀏覽和修改數據,生成動態Web內容。
  jsp就是在html裏面寫java代碼,servlet就是在java裏面寫html代碼
  jsp更側重於前端頁面顯示,servlet更側重於業務邏輯。
Jsp 本質上是servlet,用jsp實現的頁面用servlet也能實現。

jsp是對servlet的一種高級封裝。本質還是servlet。  在第一次加載jsp頁面的時候,會生成一個java文件,在虛擬機編譯爲.class文件,最後加載並初始化爲一個servlet。 

   jsp可以放在和html同樣位置(webapps根目錄下或者webapps根目錄下的子目錄下)而且不需要配置,可以直接使用。
   要使用servlet必須把它放在特定位置而且必須對其映射配置。

在struts框架中,JSP位於MVC設計模式的視圖層,Servlet位於控制層。

Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML裏分離開

MVC架構:

這裏寫圖片描述

 

這裏寫圖片描述

 1、Web瀏覽器發送HTTP請求到服務端,被Controller(Servlet)獲取並進行處理(例如參數解析、請求轉發) 
 2、Controller(Servlet)調用核心業務邏輯——Model部分,獲得結果 
 3、Controller(Servlet)將邏輯處理結果交給View(JSP),動態生成的HTML內容並返回到瀏覽器顯示

Servlet程序各模塊介紹
1.JSP             用於顯示、收集數據的部分。
2.Servlet        用於驗證數據、實例化JavaBean、調用DAO連接數據庫、控制頁面跳轉
3.DAO           用於連接數據庫及進行數據庫的操作如:查詢、刪除、更改等
4.JavaBean     用於數據的封裝,方便將查詢結果在servlet與jsp頁面之間進行傳遞等
5.servlet過濾器    它能夠在一個request到達servlet之前預處理request,也可以在離開servlet時處理response
6.servlet監聽器  監聽Web的各種操作,當相關的操作觸發後將產生的事件,並對此事件進行處理
以上 1,2,3,4部分共同構成了MVC模式,JSP爲MVC模式當中的V,Servlet爲C,DAO與JavaBean合在一起爲M。

模式運行流程
       用戶首先打開一個JSP頁面,這個JSP頁面用於收集用戶輸入的數據(使用Form表單實現),當用戶單擊提交按鈕時,此JSP頁面被提交到對應的Servlet,此時工作轉向Servlet。Servlet將提交到的數據進行處理,處理過程如下:
1、(可選)對數據進行合法性驗證、亂碼處理等
2.    實例化DAO,調用DAO的方法(進行數據庫數據的更新查詢操作)
3.    將DAO返回的數據進行保存,保存的位置可選(request,session等)
4.     進行頁面的跳轉
在Servlet調用DAO的方法過程中,DAO的處理過程如下:
1.       連接數據庫(這些操作可以放在DAO的構造函數當中,也可以寫成單獨的方法)
2.       處理查詢方法,這裏給出基本步驟。先按查詢語句及傳過來的參數進行數據庫的查詢得到一個ResultSet結果集,爲了方便將結果返回給Servlet及方便後面的顯示,現將結果進行封裝並以ArraryLis或者JSON串,xml串等等t的形式返回給servlet。爲了進行數據的封裝,這裏就需要實例化一個JavaBean,這個JavaBean的字段與數據庫表當中的字段一一對應,併爲各個字段添加get(),set()方法。
Serlvet在得到數據後,再將頁面進行跳轉,此時數據已保存下來。我們可以在另外一個JSP頁面當中將數據提取出來,並按一定的格式進行排列。至此,一個完整的查詢操作就完成了。
此操作雖然比較簡單,但是卻充分體現了MVC模式的思想。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章