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

正文內(nèi)容

項目實踐精解:基于struts-spring-hibernate的java應(yīng)用開發(fā)-全文預覽

2025-07-19 22:29 上一頁面

下一頁面
  

【正文】 r)選擇window→Show view→other→DB Browser,數(shù)據(jù)庫瀏覽如圖325所示。 圖323編輯驅(qū)動界面 將Example URL改為jdbc:mysql://localhost:3306/bookstoressh,之后選中Driver Libraries,單擊“new”按鈕,編輯驅(qū)動包界面如圖323所示。② 配置MySQL驅(qū)動接下來在window→Preferences→MyEclipse→Database Explorer中選定Drivers,驅(qū)動界面如圖321所示。圖320 在此書附帶的光盤中,我們提供了這些工具的安裝程序。由于Java的跨平臺特性,基于Java的Tomcat也具有跨平臺性。2.服務(wù)器:Tomcat Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。 該工作臺的大多數(shù)其他特性,比如菜單和工具欄,都應(yīng)該和其他那些熟悉的應(yīng)用程序類似。如果Eclipse沒有注冊用于某特定文檔類型(例如,)的適當編輯器,Eclipse將設(shè)法使用外部編輯器來打開該文檔。 Eclipse工作臺Eclipse工作臺由幾個稱為視圖(view)的窗格組成,比如左上角的Navigator視圖。MyEclipse ,它提供了對Struts、Spring、Hibernate的支持,以及對應(yīng)用服務(wù)器與數(shù)據(jù)庫的集成功能。 Utility(工具類)列表文件名稱功 能圖書的DAO實現(xiàn)訂單的DAO實現(xiàn)訂單項DAO實現(xiàn)客戶的DAO實現(xiàn) 能圖書的DAO接口訂單的DAO接口訂單項DAO接口客戶的DAO接口表310表39 Persistence Object(持久化對象)列表文件名稱功同時是服務(wù)定位器LoginAction用戶登錄ActionLogoutAction用戶退出ActionRegisterAction用戶注冊Action查詢指定書籍ActionQueryDetailAction書籍詳細信息Action往購物車添加書籍Action查看購物車Action結(jié)算Action訂單處理Actionform包括5個文件,表37列出了每個ActionForm的功能。Action列表文件名稱功? Web應(yīng)用根目錄下放置用于前端展現(xiàn)的JSP文件? ? ? 下面以組織結(jié)構(gòu)中的4個部分為例,分別進行介紹。項目整體邏輯結(jié)構(gòu)圖具體如下。 用戶管理模塊序列圖圖316 圖313 (1)usecase diagram:項目用例圖如圖311所示。 型描 Orders(訂單)表結(jié)構(gòu)列 型描 book(書籍)表結(jié)構(gòu)列 PRIMARY KEYtotalprice39。 int(11) NOT NULL default 39。order_id39。CREATE TABLE 39。 PRIMARY KEYbookid39。 int(11) NOT NULL default 39。039。 int(11) NOT NULL auto_increment,orderitem39。 (39。 varchar(100) NOT NULL default 39。39。, 39。 (book_id39。39。, 39。book_price39。 varchar(100) NOT NULL default 39。39。 int(11) NOT NULL auto_increment,book39。 數(shù)據(jù)庫設(shè)計(data model)實體關(guān)系(EntityRelationship)圖(1)邏輯圖(Logic diagram),如圖39所示。其中,所購圖書的列表包括各個書籍信息的明細內(nèi)容,總價是系統(tǒng)自動計算的。 購物車增加商品頁面圖37圖34 用戶登錄頁面購書網(wǎng)站主要包括以下功能模塊:? 瀏覽圖書網(wǎng)站的書籍列表要列出當前網(wǎng)站所有的圖書名稱,如圖33所示。用戶管理主要包括以下功能模塊。系統(tǒng)的不同視圖在總體上給系統(tǒng)一個一致的描述。另外,部署圖也可以顯示組件之間的依賴關(guān)系。 顯示代碼組件之間依賴關(guān)系的組件圖另外,組件也可以用它們輸出的任意的接口來表示,并且它們可以被聚集在包內(nèi)。 組件圖組件圖是用代碼組件來顯示代碼物理結(jié)構(gòu)的。同時,在活動圖中也可以顯示決策和條件,以及動作狀態(tài)的并發(fā)執(zhí)行。盡管活動圖也可以用于描述像用例或交互這類的活動流程,但是一般來說,它主要還是用于描述在一個操作內(nèi)執(zhí)行的那些活動。協(xié)作圖也可以包括活動對象,這些活動對象可以與其他活動對象并發(fā)地執(zhí)行。協(xié)作圖中對象之間繪制的箭頭顯示對象之間的消息流向。除了顯示消息的交換(稱之為交互)以外,協(xié)作圖也顯示對象以及它們之間的關(guān)系(上下文)。圖27它也顯示對象之間的交互,也就是在系統(tǒng)執(zhí)行時,某個指定時間點將發(fā)生的事情。圖26狀態(tài)的變化稱之為轉(zhuǎn)換(Transition)。雖然對象圖使用與類圖相同的符號,但是有兩處例外:用帶下劃線的對象名稱來表示對象和顯示一個關(guān)系中的所有實例,如圖25所示。圖24這些類可以以多種方式相互連接在一起,包括關(guān)聯(lián)(類互相連接)、依賴(一個類依賴/使用另一個類)、特殊化(一個類是另一個類的特化)或者打包(多個類組合為一個單元)。圖23一個用例是對系統(tǒng)提供的某個功能(該系統(tǒng)的一個特定用法)的描述。另外,根據(jù)圖中顯示的內(nèi)容,某些圖可以是多個不同視圖的組成部分。UML(Unified Modeling Language)是實現(xiàn)項目開發(fā)流程的一個重要工具,它是一套可視化建模語言,由各種圖來表達。 可持續(xù)的速度團隊只有持久才有獲勝的希望。沒有程序員對任何一個特定的模塊或技術(shù)單獨負責,每個人都可以參與任何其他方面的開發(fā)。 改進設(shè)計隨時利用重構(gòu)方法改進已經(jīng)腐化的代碼,保持代碼盡可能的干凈,具有表達力。 測試驅(qū)動開發(fā)編寫單元測試是一個驗證行為,更是一個設(shè)計行為。 客戶測試作為選擇每個所期望的特性的一部分,客戶可以根據(jù)腳本語言來定義出自動驗收測試來表明該特性可以工作。完整團隊XP項目的所有參與者(開發(fā)人員、客戶、測試人員等)一起工作在一個開放的場所中,他們是同一個團隊的成員。這些方法在軟件工程和其他管理活動中都有借鑒意義。2001年,為了解決許多公司的軟件團隊陷入不斷增長的過程泥潭的問題,一批業(yè)界專家一起概括出了一些可以讓軟件開發(fā)團隊具有快速工作、響應(yīng)變化能力的價值觀和原則,他們稱自己為敏捷聯(lián)盟。? 管理資源與控制過程? 開發(fā)與測試組件? 對迭代進行評估4.交付階段(The Transition Phase)交付階段的焦點就是確保軟件對于最終用戶是可用的。3.構(gòu)建階段(The Construction Phase)構(gòu)建階段的目標是完成系統(tǒng)開發(fā)。對于那些增強現(xiàn)有系統(tǒng)的項目,起始階段是比較短暫的,但是其目的仍是確定該項目的實施價值及可行性。系統(tǒng)經(jīng)過測試后,整個開發(fā)流程告一段落,進入運行維護或新的功能擴展時期。3.實現(xiàn)實現(xiàn)又稱編碼或開發(fā)階段,也就是將設(shè)計轉(zhuǎn)換為特定的編程語言或硬件,同時保持先進性、靈活性和可擴展性。每個階段都包括一次或者多次的迭代。線性模型太理想化,太單純,以至很多人認為瀑布模型已不再適合現(xiàn)代的軟件開發(fā)模式,幾乎被業(yè)界拋棄。因此,根據(jù)軟件項目的實際情況選擇一個適合的開發(fā)模式能減少開發(fā)周期中“坎”的出現(xiàn)次數(shù)與難度,可以很大程度地縮短開發(fā)周期。項目開發(fā)并不是一個簡單的過程,我們需要遵循一些開發(fā)流程。例如,Hibernate允許你將數(shù)據(jù)庫中的信息存入域?qū)ο螅╠omain objects),這樣你可以在連接斷開的情況下把這些數(shù)據(jù)顯示到用戶界面層,而那些對象也可以返回給持久層,從而在數(shù)據(jù)庫里更新。下面是業(yè)務(wù)層所負責的。這兩個框架都著手于“依賴注射”(dependency injection),還有我們知道的“控制反轉(zhuǎn)”(Inversion of Control,IoC)這樣的簡單概念。我們往往在用戶界面層或持久層周圍看到這些業(yè)務(wù)處理的代碼,這其實是不正確的。? 如何存儲、更新、刪除數(shù)據(jù)庫記錄。Hibernate是通過一個面向?qū)ο蟮牟樵冋Z言(HQL)或正則表達的API來完成查詢的。Hibernate的持久對象是基于POJO(Plain Old Java Object)和Java集合(collections)的。開發(fā)者總是低估構(gòu)建他們自己的持久層框架的挑戰(zhàn)性。 表示層一般來講,一個典型的Web應(yīng)用的前端應(yīng)該是表示層,這里可以使用Struts框架。每個層在功能上都應(yīng)該是十分明確的,而不應(yīng)該與其他層混合。更重要的是,框架能把開發(fā)者從底層編碼中解放出來,使他們能專心于應(yīng)用程序的邏輯。然而,就算用Java建造一個不是很煩瑣的Web應(yīng)用系統(tǒng),也不是件輕松的事情。Java語言應(yīng)該算得上是開發(fā)Web應(yīng)用的最佳語言。好的框架一般有針對性地處理某一類問題,并且能將它做好(Do One Thing Well),好的框架還應(yīng)該能指導代碼如何分布。大部分的Web應(yīng)用在職責上至少能被分成4層:表示層(Presentation Layer)、持久層(Persistence Layer)、業(yè)務(wù)層(Business Layer)和域模塊層(domain model Layer)。典型的Web應(yīng)用的后端是持久層。Hibernate為Java提供了持久化機制和查詢服務(wù),它還給已經(jīng)熟悉SQL和JDBC API的Java開發(fā)者創(chuàng)造了一個學習橋梁,使他們學習起來很方便。? 如何查詢對象的相關(guān)信息。HQL是一種面向?qū)ο蟛樵兊淖匀徽Z言,很容易就能學會它。從編碼的視角來看,這層是最容易被忽視的。這些也被稱為輕量級容器(micro container),它們能讓你很好地把對象搭配起來。后面我們會通過項目和實例來揭示Spring是怎樣運用這些概念的。開發(fā)者在這層不用管那些數(shù)據(jù)傳輸對象(Data Transfer Object),而僅關(guān)注域?qū)ο螅╠omain object)即可。本書圍繞上述架構(gòu),通過一個完整的項目online bookstore來具體展開StrutsSpring Hibernate這3部分的講解。不同的開發(fā)模式其實就是將步驟的起點和終點重新定義,甚至重新組合排列,雖然任何一個開發(fā)模式最終目的都是完成軟件項目的開發(fā),但期間所經(jīng)歷的過程不一樣,過程步驟之間的起點和終點的定義不同,所帶來的“坎”也就不一樣,項目周期自然各不相同。瀑布式(Waterfall)開發(fā)流程,在瀑布模型中,開發(fā)被認為是按照需求分析、設(shè)計、實現(xiàn)、測試(確認)、集成和維護堅定而順暢地進行的。從橫向來看,項目開發(fā)可以分為4個階段:起始(Inception)、細化(Elaboration)、建造(Construction)和移交(transition)。這是與傳統(tǒng)瀑布式開發(fā)流程區(qū)別最大的地方。系統(tǒng)設(shè)計是結(jié)合問題域的知識和目標系統(tǒng)的體系結(jié)構(gòu)(求解域),將目標系統(tǒng)分解為子系統(tǒng),之后基于分析模型添加細節(jié),完成系統(tǒng)設(shè)計。4.測試和維護測試用于檢驗系統(tǒng)是否滿足用戶功能需求,以便增加用戶對系統(tǒng)的信心。在項目繼續(xù)進行前,我們必須處理重要的業(yè)務(wù)與需求風險。構(gòu)架是通過考慮最重要的需求與評估風險演進而來的,構(gòu)架的穩(wěn)定性是通過一個或多個構(gòu)架原型(prototype)進行評估的。構(gòu)建階段的每次迭代都具有3個關(guān)鍵活動。交付階段的關(guān)鍵活動如下:? 確定最終用戶支持資料 ? 在用戶的環(huán)境中測試可交付的產(chǎn)品? 基于用戶反饋精確調(diào)整產(chǎn)品? 向最終用戶交付最終產(chǎn)品最后,作為補充,我們再簡單介紹一種新的開發(fā)流程:敏捷開發(fā)和極限編程。XP在很多方面都和傳統(tǒng)意義上的軟件工程不同,同時,它也和傳統(tǒng)得管理和項目計劃得方法不同。? 現(xiàn)場客戶(Onsite Customer) ? 計劃博弈(Planning Game) ? 系統(tǒng)隱喻(System Design) ? 簡化設(shè)計(Simple Design) ? 集體擁有代碼(Collective Code Ownership) ? 結(jié)對編程(Pair Programming) ? 測試驅(qū)動(Testdriver) ? 小型發(fā)布(Small Release) ? 重構(gòu)(Refactoring) ? 持續(xù)集成(Continous integration) ? 每周40小時工作制(40hour Weeks) ? 代碼規(guī)范(Coding Standards) 下面是極限編程的有效實踐。每2周,開發(fā)人員就為下2周估算候選特性的成本,而客戶則根據(jù)成本和商務(wù)價值來選擇要實現(xiàn)的特性。 結(jié)對編程所有的產(chǎn)品軟件都是由兩個程序員并排坐在一起在同一臺機器上構(gòu)建的。程序員以非常短的循環(huán)周期工作,他們先增加一個失敗的測試,然后使之通過。 集體代碼所有權(quán)任何結(jié)對的程序員都可以在任何時候改進任何代碼。如果模塊的外觀與整個隱喻不符,那么你就知道該模塊是錯誤的。極限編程是一種優(yōu)良的、通用的軟件開發(fā)方法,項目團隊可以拿來直接采用,也可以增加一些實踐,或者對其中的一些實踐進行修改后再采用。通常,圖是被分配給視圖來繪制的。用例圖用例圖(Usecase Diagram)顯示多個外部參與者,以及他們與系統(tǒng)之間的交互和連接,如圖23所示。也就是說,用例定義系統(tǒng)的功能需求。類代表系統(tǒng)內(nèi)處理的事物。因為類圖所描述的結(jié)構(gòu)在系統(tǒng)生命周期的任何一處都是有效的,所以通常認為類圖是靜態(tài)的。一個系統(tǒng)一般都有多個類圖——并不
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1