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

正文內(nèi)容

基于ssh2的電子商務購書系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文(編輯修改稿)

2025-08-15 10:40 本頁面
 

【文章內(nèi)容簡介】 全需求分析。 青海民族大學畢業(yè)論文 第三章: 介紹系統(tǒng)的詳細設計,包括設計的原則,架構的選擇,功能模塊的設計,業(yè) 務流程的設計。 第四章: 介紹 系統(tǒng) 數(shù)據(jù)庫的詳細設計 。 第五章:介紹系統(tǒng)主要功能模塊的實現(xiàn)。 青海民族大學畢業(yè)論文 1 相關技術簡介 本章主要介紹了本系統(tǒng)用到相關技術,包括 Struts2, Spring, Hibernate, JQuery,AJAX。 SSH2 框架 本 系統(tǒng)主要實現(xiàn) B2C 購書系統(tǒng)所需要的一些基本功能,采用目前流行的 Java語言開發(fā)。前端使用 JSP+CSS+JavaScript+JQuery,后臺采用 MVC 三層架構開發(fā)模式。 采用 Struts2+Spring+Hibernate 三大框架來開發(fā)本系統(tǒng)。集成開發(fā)環(huán)境 采用,數(shù)據(jù)庫使用 , Web 服務器選擇 。 Struts2 Struts 2 是現(xiàn)在比較流行的一個開源的功能強大的應用框架,它是 Struts 的下一代產(chǎn)品,是在 Struts1 和 WebWork 的技術基礎上進行了合并的全新的 Struts 2框架。其全新的 Struts 2 的體系結構與 Struts 1 的體系結構的差別巨大。 Struts 2以 WebWork 為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業(yè)務邏輯控制器能夠與 Servlet API 完全脫離開,所以 Struts 2 可以理解為WebWork 的更新產(chǎn)品。雖然從 Struts 1 到 Struts 2 有著太大的變化,但是相對于WebWork, Struts 2 只有很小的變化。 Struts2 的體系與 Struts1 體系的差別非常大,因為 Struts2 使用了 WebWork的設計核心,而不是 Struts1 的設計核心。 Struts2 中大量使用攔截器來處理用戶的請求,從而允許用戶的業(yè)務邏輯控制器與 Servlet API 分離。 Struts2 框架的大概處理流程如下: 1) 加載類( FilterDispatcher) 2) 讀取配置( Struts 配置文件中的 Action) 3) 派發(fā)請求( 用戶 端發(fā)送請求) 4) 調(diào)用 Action( FilterDispatcher 從 Struts 配置文件中讀取與之相對應的Action ) 5) 啟用攔截器( WebWork 攔截器鏈自動對請求應用通用功能,如驗證) 6) 處理業(yè)務(回調(diào) Action 的 execute()方法) 7) 返回響應(通過 execute 方法將信息返回到 FilterDispatcher) 青海民族大學畢業(yè)論文 8) 查找響應( FilterDispatcher 根據(jù)配置查找響應的是什么信息如:SUCCESS、 ERROR,將跳轉到哪個 JSP 頁面) 9) 響應用戶( 流程圖如 圖 11 所示 ) [6] 圖 11 Strut2 的訪問流程圖 Spring Spring 是一個開源框架,它由 Rod Johnson 創(chuàng)建。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。 Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何 Java 應用都可以從 Spring 中受益 [7]。 1) 目的:解決企業(yè)應用開發(fā)的復雜性 2) 功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企業(yè)應用功能 3) 范圍:任何 Java 應用簡單來說, Spring 是一個輕量級的控制反轉( IOC)和面向切面( AOP)的容器框架。 4) 輕量 —— 從大小與開銷兩方面而言 Spring 都是輕量的。完整的 Spring 框架可以在一個大小只有 1MB 多的 JAR 文件里發(fā)布。并且 Spring 所需的處理開銷也是微不足道的。此外, Spring 是非侵入式的:典型地, Spring 應用中的對象不依賴于 Spring 的特定類。 5) 控制反轉 —— Spring 通過一種稱作控制反轉( IOC)的技術促進了松耦合。青海民族大學畢業(yè)論文 當應用了 IOC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認為 IOC 與 JNDI 相反 —— 不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。 6) 面向切面 —— Spring 提供了面向切面編程的豐富支持,允許通過分離應用的 業(yè) 務邏輯與系統(tǒng)級服務(例如審計( auditing)和事務( transaction)管理)進行內(nèi)聚性的開發(fā)。應用對象只實現(xiàn)它們應該做的 —— 完成業(yè)務邏輯 —— 僅此而已。它們并不負責(甚至是意識)其它的系統(tǒng)及 關注點,例如日志或事務支持。 7) 容器 —— Spring 包含并管理應用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個 bean 如何被創(chuàng)建 —— 基于一個可配置原型( prototype),你的 bean 可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例 —— 以及它們是如何相互關聯(lián)的。然而, Spring 不應該被混同于傳統(tǒng)的重量級的 EJB 容器,它們經(jīng)常是龐大與笨重的,難以使用。 8) 框架 —— Spring 可以將簡單的組件配置、組合成為復雜的應用。在 Spring中,應用對象被聲明式地組合,典型地是在一個 XML 文件里。 Spring 也提供了很多基礎功能(事務管理、持久化框架集成等等),將應用邏輯的開發(fā)留給了你。所有 Spring 的這些特征使編程人員 能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為 Spring 中的各種模塊提供了基礎支持 [8]。 Hibernate 是一個開放源代碼的對象關系映射框架,它對 JDBC 進行了非常輕量級的對象封裝,使得 Java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate 可以應用在任何使用 JDBC 的場合,既可以在 Java 的 用戶 端程序使用,也可以在 Servlet/JSP 的 Web 應用中使用,最具革命意義的是, Hibernate可以在應用 EJB 的 J2EE 架構中取代 CMP,完成數(shù)據(jù)持久化的重任 (概要圖如圖 12 所示) [9]。 青海民族大學畢業(yè)論文 圖 12 Hibernate 體系結構概要圖 Hibernate 的核心接口一共有 6 個,分別為 :Session、 SessionFactory、Transaction、 Query、 Criteria 和 Configuration。這 6 個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這 6 個核心接口分別加以介紹 [10]。 Session接口負責執(zhí)行被持久化對象的 CRUD操作 (CRUD的任務是完成與數(shù)據(jù)庫的交流,包含了很多常見的 SQL 語句。 )。但需要注意的是 Session 對象是非線程安全的。同時, Hibernate 的 session 不同于 JSP 應用中的 HttpSession。這里當使用 session 這個術語時,其實指的是 Hibernate 中的 session,而以后會將HttpSession 對象稱為用戶 session。 SessionFactory 接口負責初始化 Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建 Session 對象。這里用到了工廠模式。需要注意的是 SessionFactory 并不是輕量級的,因為一般情況下,一個項目通常只需要一個 SessionFactory 就夠,當需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個 SessionFactory。 Configuration 類負責配置并啟動 Hibernate,創(chuàng)建 SessionFactory 對象。在Hibernate 的啟動的過程中, Configuration 類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建 SessionFactory 對象。 Transaction 接口 Transaction 接口負責事務相關的操作。它是可選的,開發(fā)人員也可以設計編寫 自己的底層事務處理代碼。 Query 和 Criteria 接口負責執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用 HQL 語言或SQL 語句兩種表達方式。 SSH2 整合框架 青海民族大學畢業(yè)論文 Hibernate 是持久層的解決方案, Struts2 是表現(xiàn)層的解決方案, Spring 是一個集成框架。使用 Spring 的 IOC 容器,來管理數(shù)據(jù)訪問對象,業(yè)務邏輯對象,Action 對象的依賴關系,結合面向接口編程,可以讓對象之間完全解耦;利用Spring 的 DAO 支持,可以簡化 Hibernate 的數(shù)據(jù)訪問操作;使用 Spring 的事務管理,無須應用服務器就可以使用聲明式事務( SSH2 的軟件分層結構中的位置如圖所示) [11]。 表 現(xiàn) 層 ( S t r u t s 2 )業(yè) 務 邏 輯 層持 久 層 ( H i b e r n a t e )關 系 數(shù) 據(jù) 庫S p r i n g 圖 13 SSH2 在軟件分層結構中的位置 前端技術 技術 JQuery 是繼 prototype 之后又一個優(yōu)秀的 JavaScript 框架。它是輕量級的 js庫 (壓縮后只有 21k) ,它兼容 CSS3,還兼容各種瀏覽器( IE +FF +Safari +Opera +)。 JQuery 使用戶能更方便地處理 HTML documents、 events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供 AJAX 交互。 JQuery 還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。 JQuery 能夠使用戶的 html 頁保持代碼和 html 內(nèi)容分離,也就是說,不用再在 html里面插入一堆 js 來調(diào)用命令了,只需定義 id 即可 [12]。 技術 AJAX 指異步 JavaScript 及 XML( Asynchronous JavaScript And XML)。AJAX 的核心是 JavaScript 對象 XmlHttpRequest。該對象在 Inter Explorer 5 中青海民族大學畢業(yè)論文 首次引入,它是一種支持異步請求的技術。簡而言之, XmlHttpRequest 可以使用JavaScript 向服務器提出請 求并處理響應,而不阻塞用戶。 AJAX 不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強的 Web 應用程序的技術[13]。 傳統(tǒng)的 web 應用允許用戶填寫表單 (form),當提交表單時就向 web 服務器發(fā)送一個請求。服務器接收并處理傳來 的表單,然后返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前后 兩個頁面中的大部分 HTML 代碼往往是相同的。由于每次應用的交互都需要向服務器發(fā)送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。與此不同, AJAX 應用可以僅向服務器發(fā)送并取回必需的數(shù)據(jù),它使用 SOAP 或其它一些基于 XML的 web service 接口,并在 用戶 端采用 JavaScript 處理來自服務器的響應。因此在服務器和瀏覽器之間交換的數(shù)據(jù)大量減少,結果我們就能看到響應更快的應用。同時很多的處理工作可以在發(fā)出請求的 用戶 端機器上完成,所以 Web 服務器的處理時間也減少了。使用 AJAX 的最大優(yōu)點,就是能在不更新整個頁面的前提下維護數(shù)據(jù)。這使得 Web 應用程序更為迅捷地回應用戶動作,并避免了在網(wǎng)絡上發(fā)送那些沒有改變過的信息。 AJAX 不需要任何瀏覽器插件,但需要用 戶允許JavaScript 在瀏覽器上執(zhí)行。就像 DHTML 應用程序那樣, AJAX 應用程序必須在眾多不同的瀏覽器和平臺上經(jīng)過嚴格的測試。隨著 AJAX 的成熟,一些簡化AJAX 使用方法的程序庫也相繼問世。同樣,也出現(xiàn)了另一種輔助程序設計的技術,為那些不支持 JavaScript 的用戶提供替代功能 [14]。 對應用 AJAX 最主要的批評就是,它可能破壞瀏覽器后退按鈕的正常行為。在動態(tài)更新頁面的情況下,用戶無法回到前一個頁面狀態(tài),這是因為瀏覽器僅能記下歷史記錄中的靜態(tài)頁面。一個被完整讀入的頁面與一個已經(jīng)被動態(tài)修改過的頁面之 間的差別非常微妙;用戶通常都希望單擊后退按鈕,就能夠取消他們的前一次操作,但是在 AJAX 應用程序中,卻無法這樣做。不過開發(fā)者已想出了種種辦法來解決這個問題,當中大多數(shù)都是在用戶單擊后退按鈕訪問歷史記錄時,通過建立或使用一個隱藏的 IFRAME來重現(xiàn)頁面上的變更。(例如,當用戶在 Google Maps 中單擊后退時,它在一個隱藏的 IFRAME 中進行搜索,然后將搜索結果反映到 AJAX 元素上,以便將應用程序狀態(tài)恢復到當時的狀態(tài)。) [15] 青海民族大學畢業(yè)論文 AJAX 在瀏覽器與 Web 服務器之間使用異步數(shù)據(jù)傳輸( HTTP 請求),
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1