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

正文內(nèi)容

畢業(yè)論文基于javaeeweb應(yīng)用系統(tǒng)的解決方案(編輯修改稿)

2024-12-14 19:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 。這也是很多 JSP 站點(diǎn)最后不得不壽終正寢的原因所在 [2]。 從 Java 開發(fā)就已經(jīng)加入了 JDBC API, 用于以基于 SQL 的方式訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù) , 這種做法對(duì)于如今的很多應(yīng)用程序仍舊適用。 JDBC 能夠以很高的性能執(zhí)行基于數(shù)據(jù)集的操作,這種時(shí)候 SQL 非常強(qiáng)大而且易用。 JDBC 的目標(biāo)不是要給關(guān)系型數(shù)據(jù)提供一個(gè)面向?qū)ο蟮囊晥D,也不會(huì)犧牲目標(biāo)數(shù)據(jù)庫(kù)專有的強(qiáng)大功能。 傳統(tǒng)型 JDBC有許多積極的方面使之在許多 J2SE 和 J2EE 應(yīng)用程序開發(fā)中占有重要地位。然而,也有一些特征使其難于使用 [3]: ? 開發(fā)者需要處理大量復(fù)雜的任務(wù)和基礎(chǔ)結(jié)構(gòu),例如大量的trycatchfinallytrycatch 塊。 ? 應(yīng)用程序需要復(fù)雜 的錯(cuò)誤處理以確定連接在使用后被正確關(guān)閉,這樣以來(lái)使得代碼變得冗長(zhǎng),膨脹,并且重復(fù)。 ? JDBC 中使用了極不明確性的 SQLException 異常,沒有引入具體的異常子類層次機(jī)制。相應(yīng)于任何一種錯(cuò)誤,都只是拋出 SQLException 異常 無(wú)論它來(lái)源于 JDBC 驅(qū)動(dòng)程序還是來(lái)源于數(shù)據(jù)庫(kù),這使得程序員很難理解到底是哪里實(shí)際出現(xiàn)了錯(cuò)誤。例如,如果 SQL對(duì)象是無(wú)效的或已經(jīng)被鎖定,那么將拋出一個(gè) SQLException 異常。調(diào)試這樣的異常需要一定的時(shí)間來(lái)檢查 SQL 狀態(tài)值和錯(cuò)誤代碼。 ? 編寫 JDBC代碼并不是一項(xiàng)容易的工作 存 在大量的重復(fù)性的工作。在大多數(shù) Java 項(xiàng)目中,大部分代碼都是樣板代碼。異常處理就屬于此類代碼。即使業(yè)務(wù)邏輯只有 3到 4 行代碼,用于異常處理的代碼也要占 10到 20行。 本課題在實(shí)際應(yīng)用中的作用 ? 改進(jìn)在編程中, HTTP請(qǐng)求中表單( forms)的維護(hù)性以及驗(yàn)證機(jī)制。 ? 在異常體系中,引入 Spring 框架中的異常機(jī)制。把業(yè)務(wù)異常與運(yùn)行時(shí)異常區(qū)別開來(lái),分別加以對(duì)待。在一定程度上,解決了 JDBC 給開發(fā)帶來(lái)的復(fù)雜性和危險(xiǎn)性。 ? 簡(jiǎn)化 J2EE 編程模型 , 有助于開發(fā)簡(jiǎn)單,高質(zhì)量,可維護(hù),高性能,可伸縮性的 J2EE應(yīng)用。 更加有效的使用 Java EE ? 更好地用輕量級(jí)的、更具可測(cè)性的開源框架解決企業(yè)級(jí)開發(fā)中的問(wèn)題。 實(shí)現(xiàn)目標(biāo) 本文的研究?jī)?nèi)容就是要通過(guò)對(duì) Spring 框架的分析,針對(duì) Struts 框架缺乏對(duì)業(yè)務(wù)對(duì)象管理的不足,將 Spring 與 Struts 進(jìn)行整合,目的是提出一個(gè)框架整合方案,進(jìn)而形成一個(gè)新的框架結(jié)構(gòu)。使得此框架在前端擁有 Struts 框架所提供的靈活的控制層和視圖層,同時(shí)又能夠利用 Spring 中的 IoC容器和 AOP 支持,使得實(shí)際的應(yīng)用系統(tǒng)在業(yè)務(wù)上有著良好的可擴(kuò)展性。由此,本文的目標(biāo)為 : ? 通 過(guò) 對(duì) Spring 框 架的研究 ,探討 Spring 與 Struts 整合的實(shí)現(xiàn)方法,并將兩者集成到一起,從而形成一個(gè)新的體系結(jié)構(gòu)。同時(shí)驗(yàn)證此架構(gòu)的可用性。 ? 對(duì) Struts 中的表單維護(hù)與驗(yàn)證進(jìn)行探討。改進(jìn) Struts 中的業(yè)務(wù)流,引入抽象 Form 來(lái)處理基本驗(yàn)證,使得在業(yè)務(wù)中復(fù)雜的表單驗(yàn)證機(jī)制得以改善。 ? 對(duì) J2EE 持久層的異常處理的研究。本文將討論如何讓異常處理保持簡(jiǎn)單和直觀,使開發(fā)人員可以專心于開發(fā)業(yè)務(wù)邏輯,而不是把時(shí)間浪費(fèi)在編寫異常處理的樣板代碼上。本文還將說(shuō)明用于在 J2EE 環(huán)境中創(chuàng)建和處理異常的基礎(chǔ)知識(shí)和指導(dǎo)原則,并提出了一些可以使 用異常解決的業(yè)務(wù)問(wèn)題。本文將使用 Spring + iBATIS 框架作為業(yè)務(wù)邏輯實(shí)現(xiàn)。 第二章 輕量級(jí) Java EE 應(yīng)用平臺(tái)的技術(shù)與開源框架 輕量級(jí)開發(fā)核心原則及常用技術(shù) 輕量級(jí)方法強(qiáng)調(diào)開發(fā)中測(cè)試第一,積極調(diào)動(dòng)客戶和重構(gòu)。輕量級(jí)框架鼓勵(lì)人們使用簡(jiǎn)單原始的 Java 對(duì)象( POJO)編程,而不是類似 EJB 的重量級(jí)面向組件模型。輕量級(jí)設(shè)計(jì)模式在對(duì)象和集成服務(wù)之間進(jìn)行松散耦合,而無(wú)需艱苦地編寫業(yè)務(wù)邏輯或領(lǐng)域模型 [4]。 輕量級(jí)開發(fā)原則 1) 爭(zhēng)取簡(jiǎn)單性。開發(fā)人員應(yīng)該盡量使用最簡(jiǎn)單的方法解決問(wèn)題 。 2) 修補(bǔ)漏洞。許多開發(fā)方法可能不鼓勵(lì)在過(guò)程中進(jìn)行重構(gòu)或變更,因?yàn)檫@些行為不直接用于產(chǎn)生客戶代碼。輕量級(jí)開發(fā)要求可以自由地修補(bǔ)太復(fù)雜或充斥 bug 的代碼。我們?cè)陂_發(fā)時(shí),需要為它做出預(yù)算。 3) 自動(dòng)化單元測(cè)試。在開發(fā)過(guò)程中,應(yīng)該優(yōu)先編寫測(cè)試用例。廣泛的單元測(cè)試改善客戶體驗(yàn),并提高代碼的設(shè)計(jì)水平,這是因?yàn)樗鼜?qiáng)迫我們?cè)诰幋a前,解耦聯(lián)系過(guò)于緊密的代碼。 這些原則并不能完全包含我們采用何種技術(shù)和開發(fā)過(guò)程,但它有利于描述開發(fā)體驗(yàn)。在開發(fā)時(shí),就不至于做出無(wú)效技術(shù)選擇,或者開發(fā)一些不必要的工件。確立原則后,就該規(guī)劃一個(gè)有效過(guò)程 了。 輕量級(jí)開發(fā)過(guò)程 緊湊、快速的開發(fā)過(guò)程通常從敏捷開發(fā)方法 當(dāng)中得到靈感。通常,敏捷開發(fā)包括下列原則 [4]: 1) 專注現(xiàn)場(chǎng)客戶和代碼,而不是其他設(shè)計(jì)技巧。您可以使用其他技巧,本方案不需要它。 2) 簡(jiǎn)化文檔。為了需要,寧可使用電子表格中的一行來(lái)描述,也不使用令人困惑的用例圖。 3) 只做足以完成工作的設(shè)計(jì)工作。不要對(duì)設(shè)計(jì)或性能過(guò)分憂心忡忡,使自己陷入絕境。 4) 為了開發(fā),努力進(jìn)行簡(jiǎn)化并保證至少每天都集成您所構(gòu)建的程序,必要時(shí)進(jìn)行重構(gòu)。自動(dòng)化測(cè)試。 輕量級(jí)開發(fā)常用技術(shù) 依賴注入 最新一代容器稱為輕量 級(jí)容器,它們使用一個(gè)共同設(shè)計(jì)原理:依賴注入。 對(duì)這個(gè)簡(jiǎn)單思想來(lái)說(shuō),這是一個(gè)復(fù)雜的術(shù)語(yǔ)。依賴注入將對(duì)象和它所依賴的東西交給第三方。然后第三方創(chuàng)建所有對(duì)象并將它們綁在一起。比方說(shuō),稱為 myDao 的數(shù)據(jù)訪問(wèn)對(duì)象需要一個(gè)稱為 ds 的數(shù)據(jù)源。那么該容器會(huì)一同創(chuàng)建它們,并設(shè)置一個(gè)屬性: 清單 1. 創(chuàng)建一個(gè)第三方匯編程序 myDao = new Dao()。 ds = new DataSource()。 (ds)。 當(dāng)然,不創(chuàng)建這種第三方匯編程序的話,也可以使用框架來(lái)做其他附 加的工作(如提供配置支持)。 Spring 框架、 Pico 和 HiveMind 就扮演了這個(gè)角色。其他像 JavaServer Faces(JSF) 框架也利用了依賴注入。 面向?qū)ο缶幊? 使用面向?qū)ο缶幊蹋?AOP),可以編寫通用的功能性模塊(稱為方面) —— 例如,日志、事務(wù)、安全或持久性。 AOP 使您可以將這些方面聯(lián)系到 POJO,然后指定一個(gè)時(shí)間點(diǎn)(如方法開始時(shí)或產(chǎn)生異常時(shí))和另一個(gè)需要聯(lián)系的方面。例如,我們可能想要?jiǎng)?chuàng)建一個(gè)外觀事務(wù)對(duì)象。在調(diào)用方法時(shí)將 TransactionBegin 方面關(guān)聯(lián)到外觀 方法。然后在產(chǎn)生異常時(shí)將 RollBack 方面關(guān)聯(lián)到外觀的異常。最后,在方法結(jié)束時(shí)將 Commit 方面關(guān)聯(lián)到外觀的方法。在配置中完成這些工作,而不是通過(guò)編寫代碼。依靠這種能力,我們就可以創(chuàng)建一個(gè)簡(jiǎn)單的 POJO 事務(wù)、安全或遠(yuǎn)程訪問(wèn)。這對(duì)企業(yè)應(yīng)用程序非常有用。使用這些工具,我們可以完全放棄 EJB,或者最小化它的作用。而這正是輕量級(jí)組件所要做的。 透明持久性 持久性也是建立在較簡(jiǎn)單的編程模型之上。透明持久性框架通過(guò)配置而不是編寫代碼,為應(yīng)用程序添加持久性。因?yàn)榇蠖鄶?shù)應(yīng)用程序是面向?qū)ο蟮模⑶以L問(wèn)一個(gè) 關(guān)系數(shù)據(jù)庫(kù)。 Java EE 各層開源開發(fā)框架 表現(xiàn)層框架簡(jiǎn)介 Struts 是一個(gè)基于 Sun J2EE 平臺(tái)的 MVC 框架,主要是采用 Servlet 和 JSP技術(shù)來(lái)實(shí)現(xiàn)的。由于 Struts 能充分滿足應(yīng)用開發(fā)的需求,簡(jiǎn)單易用,敏捷迅速,在過(guò)去的幾年中頗受關(guān)注。 Struts 把 Servlet、 JSP、自定義標(biāo)簽和信息資源(message resources)整合到一個(gè)統(tǒng)一的框架中,開發(fā)人員利用其進(jìn)行開發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套 MVC 模式,極大的節(jié)省了時(shí)間,所以說(shuō) Struts 是一個(gè)非常不錯(cuò)的應(yīng)用框架 [5]。 WebWork 是由 OpenSymphony 組織開發(fā)的,致力于組件化和代碼重用的拉出式 MVC 模式 J2EE Web 框架 [5]。 WebWork 目前最新版本是 ,現(xiàn)在的 前身是 Rickard Oberg 開發(fā)的 WebWork,但現(xiàn)在 WebWork 已經(jīng)被拆分成了 Xwork1和 WebWork2 兩個(gè)項(xiàng)目。 Xwork 簡(jiǎn)潔、靈活功能強(qiáng)大,它是一個(gè)標(biāo)準(zhǔn)的 Command模式實(shí)現(xiàn),并且完全從 web 層脫離出來(lái)。 Xwork 提供了很多核心功能:前端攔截機(jī)( interceptor),運(yùn)行時(shí)表單屬性驗(yàn)證,類型轉(zhuǎn) 換,強(qiáng)大的表達(dá)式語(yǔ)言( OGNL – the Object Graph Notation Language), IoC( Inversion of Control 倒置控制)容器等。 WebWork2 建立在 Xwork 之上,處理 HTTP 的響應(yīng)和請(qǐng)求。WebWork2 使用 ServletDispatcher 將 HTTP請(qǐng)求的變成 Action(業(yè)務(wù)層 Action類 ), session(會(huì)話) application(應(yīng)用程序)范圍的映射, request 請(qǐng)求參數(shù)映射。 WebWork2 支持多視圖表示,視圖部分可以使用 JSP, Velocity, FreeMarker, JasperReports, XML等。在 中添加了對(duì) AJAX 的支持,這支持是構(gòu)建在 DWR 與 Dojo 這兩個(gè)框架的基礎(chǔ)之上。 Tapestry 是一個(gè)開源的基于 servlet 的應(yīng)用程序框架,它使用組件對(duì)象模型來(lái)創(chuàng)建動(dòng)態(tài)的,交互的 web應(yīng)用 [5]。一個(gè)組件就是任意一個(gè)帶有 jwcid 屬性的html 標(biāo)記。其中 jwc 的意思是 Java Web Component。 Tapestry 使得 java代碼與 html 完全分離,利用這個(gè)框架開發(fā)大型應(yīng)用變得輕而易舉。并且開發(fā)的應(yīng)用很容易維護(hù)和升級(jí)。 Tapestry 支持本地化,其錯(cuò)誤報(bào)告也很詳細(xì)。 Tapestry 主要利用 javabean 和 xml技術(shù)進(jìn)行開發(fā)。 Spring MVC是結(jié)構(gòu)最清晰的 MVC Model 2實(shí)現(xiàn) [5]。它的 Action也不叫 Action,而是稱做 Controller; Controller 接收 request, response 參數(shù),然后返回ModelAndView(其中的 Model 不是 Object 類型,而是 Map 類型)。但在其它的Web Framework 中, Action 返回值一般都只是一個(gè) View Name; Model 則需要通過(guò)其它的途徑(如 , Context 參數(shù),或 Action 本身的屬性數(shù)據(jù))傳遞上去。 持久層框架簡(jiǎn)介 Hibernate 是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得 Java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù) [7]。 Hibernate 可以應(yīng)用在任何使用 JDBC的場(chǎng)合,既可以在 Java 的客戶端程序?qū)嵱茫部梢栽?Servlet/JSP 的 Web 應(yīng)用中使用,最具革命意義的是,Hibernate 可以在應(yīng)用 EJB 的 J2EE 架構(gòu)中取代 CMP,完成數(shù)據(jù)持久化的重任 [5]。 使用 iBATIS 提供的 ORM機(jī)制,對(duì)業(yè)務(wù)邏輯實(shí)現(xiàn)人員而言,面對(duì)的是純粹的Java 對(duì)象, 這一層與通過(guò) Hibernate 實(shí)現(xiàn) ORM 而言基本一致,而對(duì)于具體的數(shù)據(jù)操作, Hibernate 會(huì)自動(dòng)生成 SQL 語(yǔ)句,而 iBATIS 則要求開發(fā)者編寫具體的 SQL 語(yǔ)句。相對(duì) Hibernate 等 “全自動(dòng)” ORM機(jī)制而言, iBATIS 以 SQL開發(fā)的工作量和數(shù)據(jù)庫(kù)移植性上的讓步,為系統(tǒng) 設(shè)計(jì)提供了更大的自由空間 [7]。作為“全自動(dòng)” ORM 實(shí)現(xiàn)的一種有益補(bǔ) 充, iBATIS 的出現(xiàn)顯 得別具意義。 第三章 Web 層 隨著 J2EE 平臺(tái)的成長(zhǎng)和傳播, J2EE 技術(shù)中成長(zhǎng)最迅速的部分正是JavaServer Pages(JSP)。幾乎每個(gè)使用 Java 開發(fā)基于 Web 的應(yīng)用的人現(xiàn)在都會(huì)使用 JSP。自由、開放源碼的 JSP/Servlet 容器(例如 Apache Jakarta 項(xiàng)目中的 Tomcat)的存在更急劇促進(jìn) JSP的應(yīng)用。 隨著 JSP 的成熟以及開發(fā)者對(duì) JSP 更富經(jīng)驗(yàn),使用所謂 Web 應(yīng)用框架(或就稱為框架)的開發(fā)者的數(shù)目得到了爆炸性增長(zhǎng)??蚣芡ㄟ^(guò)為應(yīng)用開發(fā)提供預(yù)先準(zhǔn)備好 的起步器,來(lái)幫助開發(fā)者更快地建立應(yīng)用。新項(xiàng)目將不再以這樣的問(wèn)題開始:“我們應(yīng)該使用一個(gè)框架嗎?”,而是會(huì)問(wèn):“我們應(yīng)該使用哪一個(gè)框架?” Struts 應(yīng)用框架 Struts—— 來(lái)源于 Apache Jakarta 項(xiàng)目 —— 是這些框架中的王者。它無(wú)可辯駁地是所有框架中最好的并且使用最廣泛的。它的身后正在形成一股風(fēng)潮。而且還有另外一個(gè)很好的原因:作為 Apache Jakarta 項(xiàng)目的旗艦框架,它隨之帶來(lái)了可觀和巨大的用戶基礎(chǔ)。 Web 應(yīng)用 Struts 的目標(biāo)是建立 web應(yīng)用 [2]。這種說(shuō)法 有幾個(gè)含義。 Struts 一般是用來(lái)構(gòu)建客戶端軟件,是 Web 游覽器的應(yīng)用程序。 使用游覽器作為客戶端軟件來(lái)構(gòu)建應(yīng)用,是 1995 年以來(lái) Inter 技術(shù)最大的轉(zhuǎn)變。最初,這類應(yīng)用只是在 Inter 上得到初步應(yīng)用,并且系統(tǒng)用戶一般使用游覽器。從大概 1999 年底開始,情況發(fā)生了改變。現(xiàn)在,所有的公司似乎想把每個(gè)應(yīng)用都構(gòu)建成以
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1