java中public private protected,java和jsp交互 structs_Struts與jsp+javabean+servlet區別

 2023-12-06 阅读 25 评论 0

摘要:采用Struts框架技術和直接使用jsp+javabean技術開發各有什么優勢?各自的缺點又是什么?java中public private protected,在Javaweb開發領域存在2種開發模式, 模式一,jsp+javabean模式二,jsp+javabean+servlet,即所謂的MVC設計,struts只不過是遵

采用Struts框架技術和直接使用jsp+javabean技術開發各有什么優勢?各自的缺點又是什么?

java中public private protected,在Javaweb開發領域存在2種開發模式, 模式一,jsp+javabean

模式二,jsp+javabean+servlet,即所謂的MVC設計,struts只不過是遵循MVC的一個開源框架.

在模式一中(jsp+javabean),這種設計模式適合,小規模web開發,體現在輕巧興,也就是更輕量級一些(內存加載的類少,相對struts而言),但是jsp中會嵌入大量的html和Java腳本,規模小還好,如果大型企業web,隨著規模的加大,太多的html和java腳本交織在一起,可讀性差,而且修改一個jsp可能會牽連到其他的頁面. 現在大規模的企業開發都選擇struts,因為他成功的吧web分為三層,即模型,視圖,控制器,在開發團隊中更容易分工,而且邏輯部分和顯示部分被分離到,module和jsp中去了,可讀性也好了,但是struts在啟動的時候要加載一些額外的類(struts的類),這對于小型企業用的低端服務器來說,會站內存,降低速度.

所以,本人在開發中得到的總結是小規模開發用jsp+javabean,大規模的用struts。

一.JSP和JavaBean模型

模型的結構如下圖所示,稱之為JSP和JavaBean模型。其工作原理是:當瀏覽器發出請求時,JSP接收請求并訪問JavaBean。若需要訪問數據庫或后臺服務器,則通過JavaBean連接數據庫或后臺服務器,執行相應的處理。JavaBean將處理的結果數據交給JSP。JSP提取結果并重新組織后,動態生成HTML頁面,返回給瀏覽器。用戶從瀏覽器顯示的頁面中得到交互的結果。

66d34eb5a0a84de8db60faa36f875e5e.png

JSP和JavaBean模型充分利用了JSP技術易于開發動態網頁的特點,頁面顯示層的任務由JSP(但它也含事物邏輯層的內容)承擔,JavaBean主要負責事務邏輯層和數據層的工作。JSP和JavaBean模型依靠幾個JavaBean組件實現具體的應用功能,生成動態內容,起最大的特點就是簡單。

二.JSP和JavaBean+Servlet模型

JSP和JavaBean+Servlet模型的體系結構如下圖所示,稱之為JSP和JavaBean和Servlet模型。它是一種采用基于模型視圖控制器(Model和View和Controller)的設計模型,即MVC模型。該模型將JSP程序的功能分為3個層次:Model(模型)層、View(視圖)層、Controller(控制器層)。Model層實現業務邏輯,包括了Web應用程序功能的核心,負責存儲與應用程序相關的數據;View層用于用戶界面的顯示,它可以訪問Model層的數據,但不能更改這些數據;Controller層主要負責Model和View層之間的控制關系。

50cbc722c2ee2895aed681a54e7a8a9d.png

具體實現時,JavaBean作為模型層,Servlet作為控制層,JSP作為視圖層。每層的作用如下:

1.JavaBean作為Model層,實現各個具體的應用邏輯和功能。

2.Servlet作為Controller層,負責處理HTTP請求,包括:

◆對輸入數據的檢查和轉換。

◆通過JavaBean訪問數據庫。

◆初始化JSP頁面中要用到的JavaBean或對象。

◆根據處理中不同的分支和結果,決定轉向那個JSP等。

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

該模型的工作原理是:所有的請求都被發送給作為控制器的Servlet。Servlet接收請求,并根據請求信息將它們分發給相應的JSP頁面來響應;同時Servlet還根據JSP的需求生成相應的JavaBean對象并傳輸給JSP。JSP通過直接調用方法或利用UseBean的自定義標簽,得到 JavaBean中的數據。

這種設計模式通過Servlet和JavaBean的合作來實現交互處理,很好的實現了表示層、事務邏輯層和數據的分離。

三.兩種模型的比較

從以上對兩種模型的說明來看,JSP和JavaBean模型和JSP和

JavaBean+Servlet模型的整體結構都比較清晰,易于實現。它們的基本思想都是實現表示層、事務邏輯層和數據層的分離。這樣的分層設計便于系統的維護和修改。兩種模型的主要區別表現在:

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

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

3.適應于動態交互處理的需求不同。當事務邏輯比較負責、分支較多或需要涉及很多JavaBean組件時,由于JSP和JavaBean+Servlet模型比JSP和JavaBean模型有更清晰的頁面表現、更明確的開發模塊的劃分,所以使用JSP和JavaBean+Servlet模型比較適合。然而,JSP和JavaBean+Servlet模型需要編寫Servlet程序,Servlet程序需要的工具是Java集成開發環境,編程工作量比較大。對于簡單的交互處理,利用JSP和JavaBean模型,JSP主要是使用HTML工具開發,然后再插入少量的Java代碼就可以實現動態交互。在這種情況下,使用JSP和JavaBean模型更加方便快捷。

JSP和JavaBean模型和JSP和JavaBean+Servlet模型這兩種用于開發Web應用的方法都有很好的使用性。當然,實現動態交互的Web應用,不限于這兩種模型。在實際Web應用的開發過程中,需要根據系統特點、客戶需求及處理邏輯的特性,選擇合適的模型,力求使整個應用的體系結果更加合理,從而實現不同的交互處理。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/188792.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息