freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

碩士學位論文-基于j2ee應用框架的設計與實現(xiàn)(參考版)

2025-07-26 13:24本頁面
  

【正文】 ade 前后的流程圖 加入 Facade 模式后, Event 模塊是對接口進行編程的,按照面向?qū)ο笤O計理論, Event 類和實 體 Bean 進行了分。ade 示意圖 我們再看一下使用 Session Fa231。 下圖表示兩者之間的一些區(qū)別。ADE 模式 加入事件機制后,框架會處理用戶定義的一些事件,當處理事件時, Event 要訪問各種實體 Bean,調(diào)用實體 Bean 的方法,修改實體 Bean 的狀態(tài),這樣有個缺陷,Event 模塊就和各種實體 Bean 緊密地耦合起來,修改、維護、擴展都非常困難。 圖 :加入 Filter 后的框架 這樣由 Filter 可以進行一些必要的過濾,無論對系統(tǒng)的安全性,還是系統(tǒng)的可 重用性都是很有好處的。 } } filtermapping filternameAFilter/filtername servletnameaction/servletname /filtermapping 第四章 WEB 應用框架的擴展 20 Web 項目調(diào)用,當多個 Filter 時, Filter 和 Filter 無關,如果要實現(xiàn)一個 Filter組合,可以使用超類來實現(xiàn)。 而下一步僅僅只需要在部署描述文件( )中添加 Filter,如下。這里FilterChain 是通過配置文件來實現(xiàn)多個 Filter 驗證的,也就是說 Filter 是可以動態(tài)插卸的。 當客戶端發(fā)出請求時, servlet或者 ActionServlet直接接收的請求進行處理,這樣就帶了一個很大的弊端,如果用戶沒有登陸的情況下,也可以進行操作 ,而我們在后面的代碼中要進行處理,這樣對代碼的重用性降低了,而且也提高了程序的耦合度。如圖 所示: 圖 :擴展 Struts 后的架構 對于一個基于 Web、不需要大量業(yè)務處理的,通用性要求不高的系統(tǒng),我們這個架構已經(jīng)算是可以了,當要作為一個企業(yè)級的項目,這樣是遠遠不行的。 ?? //具體實現(xiàn)的代碼 return ero。 本章在 Struts 基礎上進行了二次開發(fā),首先擴展了控制器,對控制器進行了細化,原來是通用的控制,現(xiàn)在細分為增加、刪除、查詢等控制,通過增加接口來實現(xiàn),另外增加了事件處理機制,這樣對前臺客戶端的處理更加靈活。 } } } 電子科技大學碩士學位論文 17 事件處理采用了一些很重要的設計模式,比如單態(tài)模式,適配器設計模式,從這里也可以看出 Java 的除了具有面向?qū)ο蟮囊恍┰O計能力外,它的接口機制是非常靈活的,在設計中使用的好,會使我們的設計功能強大的同時還簡單。 case 1:forward = failed。 switch(arg0){ case 0:forward = succeed。 ?? //具體代碼 return 1。 EventResult er=handleEvent(event,request)。 } 第三章 WEB 應用框架的設計 16 我們的類,讓它繼承 CommonAction,這樣就可以直接處理數(shù)據(jù)庫了。 } ?? //增加、刪除、修改、查詢數(shù)據(jù)事件處理的接口,這里省略 /** * 調(diào)用 model 層的處理 */ protected EventResult handleEvent( Event event, HttpServletRequest request) throws Exception { EventResult er= EventManager. getEventManager(). handleEvent(event, ())。 return ero。 } 電子科技大學碩士學位論文 15 當要引入事件處理機制的時候,仍以 CommonAction 為例,只需在這個程序中添加下面的一個方法: 現(xiàn)在看看事件處理的應用,如果我們的應用適合數(shù)據(jù)庫操作,我們可以設計/** * 如果事件操作類沒有實現(xiàn)對應的接口,返回錯誤信息 * return EventResult */ private final EventResult getAdapterError(){ EventResultObject ero=new EventResultObject()。 EventAdapter 是事件接口的一個適配器類,具體的事件處理由它去具體執(zhí)行對于的接口內(nèi)的操作,這是適配器設計模式的具體應用。 return eventManager。 =map。 public class Event implements Serializable{ ?? //具體的代碼 public Event(String name,int type,HashMap map) { =name。事件處理的組成如下所示: 圖 :事件處理各類關系 Eventmanager 管理事件處理過程,對事件處理進行封裝,與外界隔離,以下是一些基本的事件處理類, EventResult 是一個接口,實現(xiàn)事件的返回結果。 ?? return ()。在以前的程序設計中,消息處理是通過回調(diào)的技術來實現(xiàn)的,在Java 中通過接口來實現(xiàn),一個對象具有處理某個事件的能力,可以讓它實現(xiàn)一個接口,在接口中規(guī)定了要實現(xiàn)的方法,只要在發(fā)生事件時,調(diào)用它的方法,事件就得到處理。 } 電子科技大學碩士學位論文 11 以上是 CommonAction 的實現(xiàn),這樣的擴展很有必要,可以減輕開發(fā)者的負擔,以下是它的子類 AddAction 的實現(xiàn),其他設計與此類此。 public abstract class CommonAction extends Action implements IForward { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //在這里先調(diào)用 doExecute 方法,然后根據(jù) doExecute 方法的返回值 //來 Forward。 return er。 * param state 選用第幾個 Forward * return String 在 struts_config 文件中定義的某個 Forward 的名字 */ public String getForward(int state)。 前面介紹的四個代表 數(shù)據(jù)庫基本操作的類有一個共同的基類即CommonAction,這個基類由繼承自 Action,用戶可以直接從四個基本操作類中繼承,添加自己的功能。 各個類的關系如圖 所示: 瀏覽器 Struts ActionServlet JSP Model 數(shù) 據(jù) 庫 客戶層 WEB 層 業(yè)務邏輯層 EIS Struts EJB EJB 電子科技大學碩士學位論文 9 圖 : Action 中各個類的關系 把數(shù)據(jù)庫的基本業(yè)務邏輯分為四個類: AddAction、 DeleteAction、UpdateAction、 QueryAction。 擴展控制器的 ACTION 我們知道 大多數(shù)的數(shù)據(jù)庫應用都涉及到數(shù)據(jù)庫的增加、刪除、修改。需要擴展的主要是控制器和模型兩部分。 Browser Controller: ActionServlet Views: JSP Tag libraries Application Resources. properties Model Action ActionForm 第三章 WEB 應用框架的設計 8 構建系統(tǒng)的基本架構 現(xiàn)在我們再來看一下 J2EE 的四層架構,這是一個引入了 Struts 框架后的基本框架。 Struts 的結構示意圖如下: [1] [6] [14] 圖 : Struts 框架示 意圖 STRUTS 工作原理 現(xiàn)在看一下 Struts 的組件結構圖(圖 ): 事務邏輯Business Logic 視圖 View 客戶 Client 請求 轉發(fā) 響應 讀取 分派 配置文件 Get Request Response Forward Dispatch 控制器Controller 模型 Model 電子科技大學碩士學位論文 7 圖 : Struts 組件結構圖 Struts 的工作原理是這樣的,首先是 Web 服務器啟動,啟動后會初始化ActionServlet,解析 文件,進行一些初始化,當用戶使用瀏覽器發(fā)出一個請求后,控制中心 ActionServlet 收到后會查找和用戶請求相匹配的 Action 映射對象即 ActionMap 對象是否存在,如果沒有,返回出現(xiàn)錯誤的提示,如 果存在,控制中心就將請求以及數(shù)據(jù)傳遞給處理請求的 Action。 第三章 WEB 應用框架的設計 6 在 Struts 中,各個模塊各負其責,視圖部分負責數(shù)據(jù)的顯示,由 JSP 技術來實現(xiàn),模型部分負責封裝業(yè)務邏輯,有 JAVA BEAN 實現(xiàn),控制部分負責業(yè)務邏輯的調(diào)用和數(shù)據(jù)顯示的改變,有 Servlet 實現(xiàn)。 STRUTS 的基本概念 Struts 是 Apache 基金會下面的一個開源項目。原來通過建立一個簡單的 JSP 頁面就能實現(xiàn)的應用現(xiàn)在變成了多個步驟的設計和實現(xiàn)過程; 2.所有的頁面和組件必須在 MVC 框架中實現(xiàn),所以必須進行附加地開發(fā)工作; 3. MVC 本身就是一個非常復雜的系統(tǒng),所以采用 MVC 實現(xiàn) Web 應用時,最好選一個現(xiàn)成的 MVC 框架,在此之下進行開發(fā),從而取得事半功倍的效果。 開發(fā) MVC 系統(tǒng)比簡單的 JSP 開發(fā)要復雜許多,它需要更多的時間學習和掌握。我們完全可以在 Web 層采用這種模式進行設計。 6.易于開發(fā) 對于開發(fā)人員來講 ,由于 MVC 分離了模式中的數(shù)據(jù)的控制和數(shù)據(jù)表現(xiàn) ,從而可以分清開發(fā)者的責任 ,后臺開發(fā)人員可以專注業(yè)務的處理 ,前臺開發(fā)人員專注于用戶交互的界面 ,從而加快產(chǎn) 品開發(fā)以及推向市場的時間。模式還可以很方便的用多個視圖來顯示多套數(shù)據(jù) ,從而可以使系統(tǒng)能方便的支持其它新的客戶端類型。 4.功能強大的用戶界面 用戶界面與模型方法調(diào)用組合起來,發(fā)送給模型的數(shù)據(jù)信息,都是由單個用戶行為觸發(fā)的。 2.設計的可重用性 如果需要,任何組件甚至整個模型都可以換出換進,視圖、控制器或模型的程序改變不會影響到其他方面,不同的組件的開發(fā)能夠同時進行。 顯而易見, MVC 設計模式具有以下的優(yōu)點: 1.設計清晰 用模型中的公用方法,來操作它 的數(shù)據(jù)和狀態(tài),很容易理解如何來控制模型的行為。 在模型、視圖和控制 器 三者之間分配職責有助于減少代碼重復、降低維護難度??刂破鬟B接不同的模型和視圖去完成用戶的需求,給定一些可重用的模型和視圖。控制器接受用戶的輸入并調(diào)用模型和視圖去改變狀態(tài) 訪問功能 變化通知 查詢狀態(tài) 用戶行為 選擇試圖 模型 封裝應用狀態(tài) 響應狀態(tài)查詢 提供應用功能 通知變化 視圖 表示模型 查詢模型的更新 像控制器傳遞用戶行為 允許控制 選擇視圖 控制器 定義應用行為 更新視圖 選擇響應用戶的視圖 根據(jù)用戶行為選擇模型 第三章 WEB 應用框架的設計 4 完成用戶的需求。 一旦用戶想對模型進行處理時,它不能直接去執(zhí)行模型,而是通過控制器來間接地實現(xiàn)??刂撇糠指鶕?jù)用戶交互和模型的狀態(tài)選擇要顯示的視圖。 控 制部分 是 定義應用程序?qū)τ脩糨斎牖蚰P蛯又械母?做 出反應的方法,通常稱為應用程序邏輯。視圖還把從用戶那里得到的信息傳給控制部分。 模型進行操作之后,其結果就是通過視圖來顯示的。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性。當數(shù)據(jù)發(fā)生改變時,它要負責通知視圖部分,并且提供視圖查詢狀態(tài)的能力 , 另外,它還向控制提供應用功能。每一部分處理特定的任務,并負責完成與其它部分的通信。 MVC 模式把涉及數(shù)據(jù)管理和顯示的功能分散到不同的對象上,降低對象間的耦合。 如圖 所示: 圖 : MVC 設計模式 MVC 的核 心就是要做到三級甚至多級的松散耦合。 MVC 設計模式 MVC 是現(xiàn)在應用非常廣泛的一個設計模式, M 代表模型, V 代表視圖, C 代表控制器。對于多層的架構,層與層的關系至關重要,層關系決定了系統(tǒng)的成敗。 (4) JATO 電子科技大學碩士學位論文 7 、 本章小結 本章對項目中所用到的技術平臺進行了概述,主要比較 J2EE 平臺和微軟的 .NET 平臺的特點,通過比較可以發(fā)現(xiàn) J2EE 平臺具
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1