自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)介紹JSP技術(shù)的兩種架構(gòu)模型

開發(fā) 后端
我們都知道,使用JSP技術(shù)開發(fā)WEB應(yīng)用程序,有兩種架構(gòu)模型可供選擇。今天給大家詳細(xì)的介紹這兩種結(jié)構(gòu)模型,希望會(huì)對(duì)你有幫助。

JSP和JavaBean模型將頁面顯示和業(yè)務(wù)邏輯處理分開。JSP實(shí)現(xiàn)頁面顯示,JavaBean對(duì)象用來保存數(shù)據(jù)和實(shí)現(xiàn)商業(yè)邏輯。

運(yùn)用JSP/Servlet實(shí)現(xiàn)的web動(dòng)態(tài)交互,主要采用JSP和JavaBean模型還有JSP和JavaBean+Servlet模型。本文分別介紹這兩種模型,并比較它們的優(yōu)缺點(diǎn)。

一。JSP和JavaBean模型

模型的結(jié)構(gòu)如下圖所示,稱之為JSP和JavaBean模型。其工作原理是:當(dāng)瀏覽器發(fā)出請(qǐng)求時(shí),JSP接收請(qǐng)求并訪問JavaBean.若需要訪問數(shù)據(jù)庫或后臺(tái)服務(wù)器,則通過JavaBean連接數(shù)據(jù)庫或后臺(tái)服務(wù)器,執(zhí)行相應(yīng)的處理。JavaBean將處理的結(jié)果數(shù)據(jù)交給JSP.JSP提取結(jié)果并重新組織后,動(dòng)態(tài)生成HTML頁面,返回給瀏覽器。用戶從瀏覽器顯示的頁面中得到交互的結(jié)果。

JSP和JavaBean模型充分利用了JSP技術(shù)易于開發(fā)動(dòng)態(tài)網(wǎng)頁的特點(diǎn),頁面顯示層的任務(wù)由JSP(但它也含事物邏輯層的內(nèi)容)承擔(dān),JavaBean主要負(fù)責(zé)事務(wù)邏輯層和數(shù)據(jù)層的工作。JSP和JavaBean模型依靠幾個(gè)JavaBean組件實(shí)現(xiàn)具體的應(yīng)用功能,生成動(dòng)態(tài)內(nèi)容,起最大的特點(diǎn)就是簡(jiǎn)單。

二。JSP和JavaBean+Servlet模型

JSP和JavaBean+Servlet模型的體系結(jié)構(gòu)如下圖所示,稱之為JSP和JavaBean和Servlet模型。它是一種采用基于模型視圖控制器(Model和View和Controller)的設(shè)計(jì)模型,即MVC模型。

該模型將JSP程序的功能分為3個(gè)層次:Model(模型)層、View(視圖)層、Controller(控制器層)。Model層實(shí)現(xiàn)業(yè)務(wù)邏輯,包括了Web應(yīng)用程序功能的核心,負(fù)責(zé)存儲(chǔ)與應(yīng)用程序相關(guān)的數(shù)據(jù);View層用于用戶界面的顯示,它可以訪問Model層的數(shù)據(jù),但不能更改這些數(shù)據(jù);Controller層主要負(fù)責(zé)Model和View層之間的控制關(guān)系。

具體實(shí)現(xiàn)時(shí),JavaBean作為模型層,Servlet作為控制層,JSP作為視圖層。每層的作用如下:

1.JavaBean作為Model層,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯和功能。

2.Servlet作為Controller層,負(fù)責(zé)處理HTTP請(qǐng)求,包括:

  • 對(duì)輸入數(shù)據(jù)的檢查和轉(zhuǎn)換。
  • 通過JavaBean訪問數(shù)據(jù)庫。
  • 初始化JSP頁面中要用到的JavaBean或?qū)ο蟆?/li>
  • 根據(jù)處理中不同的分支和結(jié)果,決定轉(zhuǎn)向那個(gè)JSP等。

3.JSP作為View層,負(fù)責(zé)生成交互后返回的界面。它主要通過信息共享,獲取Servlet生成的對(duì)象或JavaBean,從中取出數(shù)據(jù),插入到HTML頁面中。

該模型的工作原理是:所有的請(qǐng)求都被發(fā)送給作為控制器的Servlet.Servlet接收請(qǐng)求,并根據(jù)請(qǐng)求信息將它們分發(fā)給相應(yīng)的JSP頁面來響應(yīng);同時(shí)Servlet還根據(jù)JSP的需求生成相應(yīng)的JavaBean對(duì)象并傳輸給JSP.JSP通過直接調(diào)用方法或利用UseBean的自定義標(biāo)簽,得到 JavaBean中的數(shù)據(jù)。

這種設(shè)計(jì)模式通過Servlet和JavaBean的合作來實(shí)現(xiàn)交互處理,很好的實(shí)現(xiàn)了表示層、事務(wù)邏輯層和數(shù)據(jù)的分離。

三。兩種模型的比較

從以上對(duì)兩種模型的說明來看,JSP和JavaBean模型和JSP和JavaBean+Servlet模型的整體結(jié)構(gòu)都比較清晰,易于實(shí)現(xiàn)。它們的基本思想都是實(shí)現(xiàn)表示層、事務(wù)邏輯層和數(shù)據(jù)層的分離。這樣的分層設(shè)計(jì)便于系統(tǒng)的維護(hù)和修改。兩種模型的主要區(qū)別表現(xiàn)在:

1.處理流程的主控部分不同。JSP和JavaBean模型利用JSP作為主控部分,將用戶的請(qǐng)求、JavaBean和響應(yīng)有效的鏈接起來。JSP和JavaBean+Servlet模型利用Servlet作為主控部分,將用戶的請(qǐng)求、JavaBean和響應(yīng)有效的鏈接起來。

2.實(shí)現(xiàn)表示層、事務(wù)邏輯層和數(shù)據(jù)層的分離程度不同。JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更好的分離效果。當(dāng)事務(wù)邏輯比較復(fù)雜、分支較多或需要涉及多個(gè)JavaBean組件時(shí),JSP和JavaBean模型常常會(huì)導(dǎo)致JSP文件中嵌入大量的腳本或Java代碼。特別是大型項(xiàng)目開發(fā)中,由于頁面設(shè)計(jì)和邏輯處理分別由不同的專業(yè)人員承擔(dān),如果JSP 有相當(dāng)一部分處理邏輯和頁面描述混在一起,這就有可能引起分工不明確,不利于兩個(gè)部分的獨(dú)立開發(fā)和維護(hù),影響項(xiàng)目的施工和管理。在JSP和JavaBean+Servlet模型中,由 Servlet處理HTTP請(qǐng)求,JavaBean承擔(dān)事務(wù)邏輯處理,JSP僅負(fù)責(zé)生成網(wǎng)頁的工作,所以表現(xiàn)層的混合問題比較輕,適合于不同專業(yè)的專業(yè)人員獨(dú)立開發(fā)Web項(xiàng)目中的各層功能。

3.適應(yīng)于動(dòng)態(tài)交互處理的需求不同。當(dāng)事務(wù)邏輯比較負(fù)責(zé)、分支較多或需要涉及很多JavaBean組件時(shí),由于JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更清晰的頁面表現(xiàn)、更明確的開發(fā)模塊的劃分,所以使用JSP和JavaBean+Servlet模型比較適合。然而,JSP和JavaBean+Servlet模型需要編寫Servlet程序,Servlet程序需要的工具是Java集成開發(fā)環(huán)境,編程工作量比較大。

對(duì)于簡(jiǎn)單的交互處理,利用JSP和JavaBean模型,JSP主要是使用HTML工具開發(fā),然后再插入少量的Java代碼就可以實(shí)現(xiàn)動(dòng)態(tài)交互。在這種情況下,使用JSP和JavaBean模型更加方便快捷。

JSP和JavaBean模型和JSP和JavaBean+Servlet模型這兩種用于開發(fā)Web應(yīng)用的方法都有很好的使用性。當(dāng)然,實(shí)現(xiàn)動(dòng)態(tài)交互的Web應(yīng)用,不限于這兩種模型。在實(shí)際Web應(yīng)用的開發(fā)過程中,需要根據(jù)系統(tǒng)特點(diǎn)、客戶需求及處理邏輯的特性,選擇合適的模型,力求使整個(gè)應(yīng)用的體系結(jié)果更加合理,從而實(shí)現(xiàn)不同的交互處理。

【編輯推薦】

  1. Java和JSP編程中常見問題分析
  2. 詳細(xì)了解JSP中九個(gè)隱含對(duì)象
  3. JSP動(dòng)態(tài)網(wǎng)頁程序設(shè)計(jì)詳解
  4. PHP與JSP上演超詳細(xì)性能測(cè)試大PK
  5. 如何成為一個(gè)優(yōu)秀的JSP程序員
責(zé)任編輯:于鐵 來源: 幫考網(wǎng)
相關(guān)推薦

2009-10-27 09:49:38

無線接入技術(shù)

2010-01-06 16:53:57

JS兩種語法

2010-02-01 10:22:51

C++數(shù)據(jù)指針

2009-10-28 10:34:12

2024-04-15 07:50:00

AI架構(gòu)

2009-09-02 09:44:01

JSP和JavaBea

2009-07-06 17:46:41

JSP網(wǎng)站

2021-10-26 17:26:46

JVM架構(gòu)模型

2011-02-28 17:33:19

光纖

2009-07-15 16:11:26

光纖技術(shù)布線

2010-02-24 14:25:48

WCF地址

2009-10-30 11:30:38

2009-06-29 18:11:40

JSP設(shè)計(jì)模式

2009-07-02 15:50:36

JSP體系結(jié)構(gòu)

2009-11-11 16:36:19

路由協(xié)議介紹

2019-11-14 08:42:57

Redis數(shù)據(jù)庫Linux

2011-06-22 14:14:27

pageEncodincontentType

2017-04-18 14:31:39

機(jī)器學(xué)習(xí)模型架構(gòu)

2024-09-02 10:07:52

2024-03-26 13:35:19

模型架構(gòu)框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)