基于sh中間件的java web軟件架構(gòu)設(shè)計與應(yīng)用_第1頁
已閱讀1頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第1頁共4頁基于基于SHSH中間件的中間件的JavaJavaWebWeb軟件架構(gòu)設(shè)計與應(yīng)用軟件架構(gòu)設(shè)計與應(yīng)用1.1.引言引言Java技術(shù)是目前流行的開發(fā)Web語言。JavaWeb開發(fā)模式已被廣泛用于開發(fā)BS軟件應(yīng)用。JavaWeb技術(shù)的發(fā)展歸因于互聯(lián)網(wǎng)瀏覽器的發(fā)展?;贐/S結(jié)構(gòu)的軟件與基于C/S結(jié)構(gòu)的軟件相比較有一個顯著的改進?;贑/S結(jié)構(gòu)的軟件,客戶端代碼和服務(wù)器端代碼必須分別存儲在客戶端和服務(wù)器端??蛻舳苏埱蟀l(fā)送到服務(wù)器,然后服

2、務(wù)器響應(yīng)請求并且返回結(jié)果。它在維修和應(yīng)用中帶來了很多不便,因為每個客戶端必須安裝客戶端代碼?;贐S結(jié)構(gòu)軟件的客戶端瀏覽器??蛻舳舜a和服務(wù)器端代碼都存儲在Web容器(Web服務(wù)器)中。用戶通過客戶端瀏覽器發(fā)送一個請求到服務(wù)器客戶端代碼被下載到客戶端計算機,并且在瀏覽器中運行。它不再需要客戶端計算機安裝客戶端代碼這是不同于基于CS結(jié)構(gòu)的軟件。因此不僅在客戶端計算機系統(tǒng)維護的工作能方面顯著簡化同時也使用戶的操作簡單和一致?;贐S結(jié)構(gòu)的J

3、avaWeb軟件不斷改進。模型1(JSPJavaBean)和模型2(JSPServletJavaBean)已先后發(fā)展起來。后者實現(xiàn)了MVC模型(模型視圖控制器)?;贐/S的軟件在結(jié)構(gòu)發(fā)展方面變得越來越有層次。層次結(jié)構(gòu)的目的是從程序中分離出數(shù)據(jù)將業(yè)務(wù)邏輯從顯示邏輯中分離出來,將數(shù)據(jù)庫管理從業(yè)務(wù)邏輯中分離出來。層次結(jié)構(gòu)有利于系統(tǒng)擴張以便對整個系統(tǒng)因某層的改變所造成的影響可以最小化。表示層:提供用戶特定的操作接口接收客戶端請求并顯示響應(yīng)結(jié)果

4、。它也可以識別小數(shù)量的業(yè)務(wù)邏輯。業(yè)務(wù)層:識別主要的業(yè)務(wù)邏輯。業(yè)務(wù)代碼是獨立的不需要知道如何以及在哪里顯示。此外它也是獨立的后端數(shù)據(jù)庫。數(shù)據(jù)層:是一個獨立的后端數(shù)據(jù)資源。數(shù)據(jù)可以被不同的程序使用。目前典型的數(shù)據(jù)資源是關(guān)系數(shù)據(jù)庫。由于上述幾個優(yōu)點,分層網(wǎng)絡(luò)軟件應(yīng)用程序已迅速成為主流的Web應(yīng)用程序。2.2.SHSH框架技術(shù)框架技術(shù)作者研究了基于SH中間件的JavaWeb軟件應(yīng)用程序的體系結(jié)構(gòu)和設(shè)計技術(shù)并應(yīng)用在開發(fā)項目上。A.Struts第3

5、頁共4頁DAO實現(xiàn):DAO接口的實現(xiàn)類調(diào)用管理Hibernate類的方法來創(chuàng)建Hibernate會話對象和實現(xiàn)CRUD(創(chuàng)建、檢索、更新、刪除)數(shù)據(jù)訪問。ManageHibernate:它是一個Hibernate管理的工具類。它直接接觸Hibernate。它根據(jù)“hibernate.cfg.xml”文件和M映射文件提供了初始化Hibernate和創(chuàng)建Hibernate會話工廠對象的方法。它還提供了創(chuàng)建Hibernate會話對象的方法打開

6、關(guān)閉會話等等。與此同時為了方便的恢復(fù)數(shù)據(jù)日志數(shù)據(jù)層應(yīng)提供機制可以通過使用Hibernate3Log4J實現(xiàn)。Hibernate3:Hibernate3框架用于封裝數(shù)據(jù)庫。每個SessionFacty對象對應(yīng)一個數(shù)據(jù)庫和每個會話對象對應(yīng)一個數(shù)據(jù)庫訪問會話。Hibernate會話對象提供各種各樣的數(shù)據(jù)庫訪問方法。數(shù)據(jù)庫:這是一個關(guān)系數(shù)據(jù)庫。作者使用MySQL5.0,它是一個開放的資源關(guān)系數(shù)據(jù)庫。4.4.設(shè)計中的一些技術(shù)問題設(shè)計中的一些技術(shù)問

7、題為了安全來自JSP頁面的每個請求必須充當一個Action請求(通過Struts2FilterDispatcher接收),這樣是為了避免網(wǎng)頁之間的超鏈接。Hibernate會話工廠對象是用于連接數(shù)據(jù)庫并創(chuàng)建連接池。因此它會消耗更多的系統(tǒng)資源。這是一個重量級的和線程安全對象。它應(yīng)該被多個線程共享。為了節(jié)省內(nèi)存提高操作效率應(yīng)該采用靜態(tài)方式使用這個重量級的對象。Hibernate會話對象對應(yīng)一個數(shù)據(jù)訪問會話。它是一個輕量級對象。它應(yīng)該在應(yīng)用軟

8、件中頻繁的被創(chuàng)建和銷毀。為了確保數(shù)據(jù)的完整性數(shù)據(jù)庫訪問的操作集合必須被完全執(zhí)行以便HibernateJTA(Java事務(wù)API)必須應(yīng)用到會話事務(wù)。Session是一個不安全的線程。為了防止沖突,最好在應(yīng)用軟件中為每個線程創(chuàng)建一個會話對象,即每個會話請求應(yīng)該有自己的會話對象實例。一個更好的方法是使用線程本地類分別綁定相應(yīng)的會話對象。結(jié)合會話密鑰代碼對象:privatestaticThreadLocalthreLocal=newThreL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論