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

正文內(nèi)容

公交查詢(xún)系統(tǒng)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-07-24 22:51 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 兼容性 JSP 中的動(dòng)態(tài)內(nèi)容可以各種形式進(jìn)行顯示,所以它可以為各種客戶(hù)提供服務(wù),即從使用 HTML/DHTML 的瀏覽器,到使用 WML 的各種手提無(wú)線(xiàn)設(shè)備(例如,移動(dòng)電話(huà)和個(gè)人數(shù)字設(shè)備 PDA) ,再到使用 XML 的B2B 應(yīng)用,都可以使用 JSP 的動(dòng)態(tài)頁(yè)面。 ? 4.程序的可重用性 在 JSP 頁(yè)面中可以不直接將腳本程序嵌入,而只是將動(dòng)態(tài)的交互部分作為一個(gè)部件加以引用。這樣,一旦這樣的一個(gè)部件寫(xiě)好,它可以為多個(gè)程序重復(fù)引用,實(shí)現(xiàn)了程序的可重用性?,F(xiàn)在,大量的標(biāo)準(zhǔn)JavaBeans 程序庫(kù)就是一個(gè)很好的例證。 MVC 模式MVC(Model/View/Controller)模式是國(guó)外用的比較多的一種設(shè)計(jì)模式,最早是在Smaltalk 中出現(xiàn)的。MVC 包括三類(lèi)對(duì)象,簡(jiǎn)單地說(shuō),Model 是應(yīng)用對(duì)象,View 是它在屏幕上的表示,Controller 定義用戶(hù)界面對(duì)用戶(hù)輸入的響應(yīng)方式 [6]。 MVC 設(shè)計(jì)模式中“模型“指的是真正完成任務(wù)的代碼。對(duì)大多數(shù) Web 應(yīng)用程序來(lái)說(shuō),4功能比界面感覺(jué)更重要。在模型同界面相分離的情況下,代碼即可實(shí)現(xiàn)可管理性和可重用性。模型通常也被稱(chēng)作”業(yè)務(wù)邏輯“。 所謂“視圖“其實(shí)就是使用界面。在 MVC 模式下,在通常的設(shè)計(jì)前提下界面任務(wù)并不大。當(dāng)然,視圖應(yīng)該具有一定功能性并遵守可用性的約束,但視圖不應(yīng)當(dāng)處理數(shù)據(jù)。事實(shí)上,界面的每一部分都只能包含采集數(shù)據(jù)的足夠邏輯,并把它傳遞給設(shè)計(jì)模式中的其他組成部分以進(jìn)行處理。 “控制器”控制著模型和視圖之間的交互過(guò)程。它決定著向用戶(hù)返回怎樣的視圖,檢查通過(guò)界面輸入的信息以及選擇處理輸入信息的模型。 在 JSP 開(kāi)發(fā)中,最常使用 Model2。Model2 實(shí)際上就符合 MVC 模式。 Model: 系 統(tǒng) 狀 態(tài) 和 商 業(yè) 邏 輯 JavaBeans 基于 MVC 的系統(tǒng)中的 Model 部分可以細(xì)分為兩個(gè)概念 系統(tǒng)的內(nèi)部狀態(tài), 能夠改變狀態(tài)的行為。用語(yǔ)法術(shù)語(yǔ)來(lái)說(shuō),我們可以把狀態(tài)信息當(dāng)作名詞(事物) ,把行為當(dāng)作動(dòng)詞(事物狀態(tài)的改變) 。 通常說(shuō)來(lái),你的應(yīng)用程序?qū)⑾到y(tǒng)內(nèi)部的狀態(tài)表示為一組一個(gè)或多個(gè)的 JavaBeans,使用屬性(properties)來(lái)表示狀態(tài)的細(xì)節(jié)。依賴(lài)于你的應(yīng)用程序的復(fù)雜度,這些 beans 可以是自包含的(以某種方式知道怎樣永久地保存它們的狀態(tài)信息) ,或者可以是正面的(facades) ,知道當(dāng)被請(qǐng)求時(shí)怎樣從外部數(shù)據(jù)源(例如數(shù)據(jù)庫(kù))中取得信息。Entity EJB 通常也用來(lái)表示內(nèi)部狀態(tài)。 大型應(yīng)用程序經(jīng)常將系統(tǒng)可能的商業(yè)邏輯行為表示為可以被維護(hù)狀態(tài)信息的 beans調(diào)用的方法。舉個(gè)例子,你有一個(gè)為每個(gè)當(dāng)前用戶(hù)保存在 session 中的購(gòu)物車(chē) bean,里面是表示當(dāng)前用戶(hù)決定購(gòu)買(mǎi)物品的屬性。這個(gè) bean 有一個(gè) checkOut()方法用來(lái)驗(yàn)證用戶(hù)的信用卡,將定單發(fā)給庫(kù)房以選擇貨品和出貨。別的系統(tǒng)分別地表示同樣的行為,或許使用 Session EJB。 在一些小型應(yīng)用程序中,同樣的行為又可能嵌入到作為Controller 一部分的 Action 類(lèi)中。這在邏輯非常簡(jiǎn)單或者并不想要在其它環(huán)境中重用這些商業(yè)邏輯時(shí)是恰當(dāng)?shù)摹truts 框架支持所有這些方法,但建議將商業(yè)邏輯(“做什么“)和 Action 類(lèi)(“決定做什么” )分離開(kāi)。 View: JSP 頁(yè) 面 和 表 示 組 件 基于 Struts 的應(yīng)用程序中的 View 部分通常使用 JSP 技術(shù)來(lái)構(gòu)建。JSP 頁(yè)面包含通常稱(chēng)為“模版文本”的靜態(tài) HTML(或 XML)文本,加上插入的基于對(duì)特殊行為標(biāo)記解釋的動(dòng)態(tài)內(nèi)容。JSP 環(huán)境包括了其用途由 JSP 規(guī)范來(lái)描述的一套標(biāo)準(zhǔn)的行為標(biāo)記,例如 jsp:useBean 。另外,還有一個(gè)用來(lái)定義你自己標(biāo)記的標(biāo)準(zhǔn)機(jī)制,這些自定義的標(biāo)記組織在“定制標(biāo)記庫(kù)”中。 Struts 包括了一個(gè)廣闊的便于創(chuàng)建用戶(hù)界面,并且充分國(guó)際化的定制標(biāo)記庫(kù),與作為系統(tǒng) Model 部分一部分的 ActionForm beans 美妙地相互配合。這些標(biāo)記的使用將在后面做詳細(xì)討論。 除了 JSP 頁(yè)面和其包含的行為及定制5標(biāo)記,商業(yè)對(duì)象經(jīng)常需要能夠基于它們?cè)诒徽?qǐng)求時(shí)的當(dāng)前狀態(tài)將自己處理成 HTML(或XML) 。從這些對(duì)象處理過(guò)的輸出可以很容易地使用 jsp:include 標(biāo)準(zhǔn)行為標(biāo)記包括在結(jié)果的 JSP 頁(yè)面中。 Controller: ActionServlet 和 ActionMapping 應(yīng)用程序的 Controller 部分集中于從客戶(hù)端接收請(qǐng)求(典型情況下是一個(gè)運(yùn)行瀏覽器的用戶(hù)) ,決定執(zhí)行什么商業(yè)邏輯功能,然后將產(chǎn)生下一步用戶(hù)界面的責(zé)任委派給一個(gè)適當(dāng)?shù)?View 組件。在 Struts 中,controller 的基本組件是一個(gè) ActionServlet 類(lèi)的 servlet。這個(gè) servlet 通過(guò)定義一組映射(由 Java 接口 ActionMapping 描述)來(lái)配置。每個(gè)映射定義一個(gè)與所請(qǐng)求的 URI 相匹配的路徑和一個(gè) Action 類(lèi)(一個(gè)實(shí)現(xiàn) Action 接口的類(lèi))完整的類(lèi)名,這個(gè)類(lèi)負(fù)責(zé)執(zhí)行預(yù)期的商業(yè)邏輯,然后將控制分派給適當(dāng)?shù)?View 組件來(lái)創(chuàng)建響應(yīng)。 Struts 也支持使用包含有運(yùn)行框架所必需的標(biāo)準(zhǔn)屬性之外的附加屬性的 ActionMapping 類(lèi)的能力。這允許你保存特定于你的應(yīng)用程序的附加信息,同時(shí)仍可利用框架其余的特性。另外,Struts 允許你定義控制將重定向到的邏輯名,這樣一個(gè)行為方法可以請(qǐng)求“主菜單”頁(yè)面(舉例) ,而不需要知道相應(yīng)的 JSP頁(yè)面的實(shí)際名字是什么。這個(gè)功能極大地幫助你分離控制邏輯(下一步做什么)和顯示邏輯(相應(yīng)的頁(yè)面的名稱(chēng)是什么) 。 Struts2 簡(jiǎn)介Struts2 是以 Webwork 的設(shè)計(jì)思想為核心,吸收了 Struts1 的優(yōu)點(diǎn),因此,可以認(rèn)為 Struts2 是 Struts1 和 Webwork 結(jié)合的產(chǎn)物。Struts2 既然是從 Struts1 發(fā)展而來(lái),但實(shí)際上 Struts2 與 Struts1 在框架的設(shè)計(jì)思想上面還是有很大的區(qū)別,Struts2 是以 WebWork 的設(shè)計(jì)思想為核心,為什么Struts2 不沿用 Struts1 的設(shè)計(jì)思想,畢竟 Struts1 在目前的企業(yè)應(yīng)用中還是有非常大的市場(chǎng)在的,那么,來(lái)看下 Struts1 的一些缺點(diǎn)吧: 1)支持的表現(xiàn)層技術(shù)單一。 2)與 Servlet API 嚴(yán)重耦合,這點(diǎn)可以從 Action 的 Execute 的方法聲明里面就可以看的出來(lái)。 3)代碼依賴(lài) Struts1 API,有侵入性,這點(diǎn)可以從寫(xiě) Action 類(lèi)和FormBean 的時(shí)候看的出來(lái),Action 必須實(shí)現(xiàn) Struts 的 Action 類(lèi)而 Struts2 之所以以WebWork 的設(shè)計(jì)思想為其核心,一點(diǎn)就是最近 WebWork 的上升勢(shì)頭,再就是 WebWork 沒(méi)有 Struts1 上面的那些缺點(diǎn),更符合 MVC 的設(shè)計(jì)思想,也更利于代碼的復(fù)用?;谝陨辖榻B可以看的出,Struts2 體系結(jié)構(gòu)與 Struts1 的體系結(jié)構(gòu)有很大的差別,Struts1是使用 ActionServlet 做為其中心處理器,Struts2 則使用一個(gè)攔截器(FilterDispatcher)做為其中心處理器,這樣做的一個(gè)好處就是將 Action 類(lèi)和Servlet API 進(jìn)行了分離。 Struts2 的簡(jiǎn)單處理流程如下: 1)瀏覽器發(fā)送請(qǐng)求。 2)中心處理器根據(jù)6 文件查找對(duì)應(yīng)的處理請(qǐng)求的 Action 類(lèi)。 3)WebWork 的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,例如:WorkFlow、Validation 等功能。 4)如果 文件中配置 Method 參數(shù),則調(diào)用 Method 參數(shù)對(duì)應(yīng)的 Action 類(lèi)中的 Method 方法,否則調(diào)用通用的 Execute 方法來(lái)處理用戶(hù)請(qǐng)求。 5)將 Action 類(lèi)中的對(duì)應(yīng)方法返回的結(jié)果響應(yīng)給瀏覽器。Struts2 與 Struts1 對(duì)比 :1)Action 類(lèi)的實(shí)現(xiàn)方式: Struts1 的 Action 在實(shí)現(xiàn)的時(shí)候必須擴(kuò)展 Action 類(lèi)或者 Action 的子類(lèi),Struts2 的 Action 類(lèi)實(shí)現(xiàn)的時(shí)候可以不用實(shí)現(xiàn)任何類(lèi)和接口,雖然 Struts2 中提供一個(gè) ActionSupport 類(lèi),但是,不是必須的。 2)Struts1 的 Action 類(lèi)是單例模式,必須設(shè)計(jì)成線(xiàn)程安全的,Struts2 則為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例。 3)Struts1 的 Action 類(lèi)依賴(lài)與 Servlet API,從其execute 的方法簽名可看出,execute 方法有兩個(gè) Servlet 的參數(shù) HttpServletRequest和 HttpServletResponse,Struts2 則不依賴(lài)于 Servlet API。 4)以為 Struts1 依賴(lài)于 Servlet API 這些 Web 元素,因此對(duì) Struts1 的 Action 進(jìn)行測(cè)試的時(shí)候是很困難的,需要借助與其他的測(cè)試工具,Struts2 的 Action 可以象測(cè)試其他的一些 Model 層的Service 類(lèi)一樣進(jìn)行測(cè)試。 5)Struts1 的 Action 與 View 通過(guò) ActionForm 或者其子類(lèi)進(jìn)行數(shù)據(jù)傳遞,雖然也有 LazyValidationForm 這樣的 ActionForm 的出現(xiàn),但是,還是不能像其他層面那樣通過(guò)一個(gè)簡(jiǎn)單的 POJO 進(jìn)行數(shù)據(jù)傳遞,而 Struts2 將這樣的奢望變成了現(xiàn)實(shí)。 6)Struts1 綁定了 JSTL,為頁(yè)面的編寫(xiě)帶來(lái)方便,Struts2 整合了ONGL,也可以使用 JSTL,因此,Struts2 下的表達(dá)式語(yǔ)言更加強(qiáng)大四、Struts2 與WebWork 對(duì)比 Struts2 實(shí)際上就是 ,不過(guò),Struts2 還是與 WebWork 有少許的差別: 1)Struts2 不再支持內(nèi)置 IOC 容器,改用 Spring 的 IOC 容器 2)Struts2對(duì)于 Webwork 的一些 Ajax 的特性的標(biāo)簽改用 Dojo 進(jìn)行替換。 MySQL 數(shù)據(jù)庫(kù)MySQL 是一個(gè)精巧的 SQL 數(shù)據(jù)庫(kù)管理系統(tǒng),雖然它不是開(kāi)放源代碼的產(chǎn)品,但在某些情況下你可以自由使用。由于它的強(qiáng)大功能、靈活性、豐富的應(yīng)用編程接口(API)以及精巧的系統(tǒng)結(jié)構(gòu),受到了廣大自由軟件愛(ài)好者甚至是商業(yè)軟件用戶(hù)的青睞,特別是與 Apache 和 PHP/PERL 結(jié)合,為建立基于數(shù)據(jù)庫(kù)的動(dòng)態(tài)網(wǎng)站提供了強(qiáng)大動(dòng)力。MySQL 是一個(gè)真正的多用戶(hù)、多線(xiàn)程 SQL 數(shù)據(jù)庫(kù)服務(wù)器。SQL(結(jié)構(gòu)化查詢(xún)語(yǔ)言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL 是以一個(gè)客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),它由一個(gè)服務(wù)器守護(hù)程序 mysqld 和很多不同的客戶(hù)程序和庫(kù)組成。 SQL 是一種標(biāo)準(zhǔn)化的語(yǔ)言,它使得存儲(chǔ)、更新和存取信息更容易。例如,你能用SQL 語(yǔ)言為一個(gè)網(wǎng)站檢索產(chǎn)品信息及存儲(chǔ)顧客信息,同時(shí) MySQL 也足夠快和靈活以允許你存儲(chǔ)記錄文件和圖像。 MySQL 主要目標(biāo)是快速、健壯和易用,自 1996 年以來(lái),我們一直都在使用7MySQL,其環(huán)境有超過(guò) 40 個(gè)數(shù)據(jù)庫(kù),包含 10,000 個(gè)表,其中 500 多個(gè)表超過(guò) 7 百萬(wàn)行,這大約有 100 個(gè) GB 字節(jié)的關(guān)鍵應(yīng)用數(shù)據(jù)。 MySQL 數(shù)據(jù)庫(kù)的主要功能只在組織和管理很龐大或復(fù)雜的信息和基于 WEB 的庫(kù)存查詢(xún)請(qǐng)求不僅僅為客戶(hù)提供信息,而且還可以為您自己使用數(shù)據(jù)庫(kù)可以提供如下功能: 1) 減少記錄編檔的時(shí)間 2) 減小記錄檢索時(shí)間3) 靈活的查找序列 4) 靈活的輸出格式5) 多個(gè)用戶(hù)同時(shí)訪(fǎng)問(wèn)記錄 8第三章 需求分析 技術(shù)支持 系統(tǒng)框架的選擇一個(gè)信息管理系統(tǒng)的框架結(jié)構(gòu)是否合理,對(duì)該系統(tǒng)的性能、使用效率和安全都具有至關(guān)重要的影響,因此在進(jìn)行公交信息管理系統(tǒng)總體設(shè)計(jì)時(shí),首先應(yīng)確定使用哪種系統(tǒng)框架比較合理?;诒竟恍畔⒐芾硐到y(tǒng)的特性,達(dá)到方便的信息管理和信息查詢(xún),本系統(tǒng)使用 S2SH 框架結(jié)構(gòu),即(struts2,hibernate,spring)技術(shù)構(gòu)架。系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層。其中使用 Struts 作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé) MVC 的分離,在 Struts 框架的模型部分,利用 Hibernate 框架對(duì)持久層提供支持,業(yè)務(wù)層用 Spring 支持。采用上述開(kāi)發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無(wú)論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開(kāi)發(fā)效率。圖 31 S2SH 框架結(jié)構(gòu)主流的 s2sh(struts2,hibernate,spring)技術(shù)構(gòu)架。相對(duì)于老系統(tǒng)有諸多優(yōu)勢(shì),如:1. 典型的三層構(gòu)架體現(xiàn) MVC(模型 Model,視圖 View 和控制)思想,可以讓開(kāi)發(fā)人員減輕重新建立解決復(fù)雜問(wèn)題方案的負(fù)擔(dān)和精力。便于敏捷開(kāi)發(fā)出新的需求,降低開(kāi)發(fā)時(shí)間成本。 2. 良好的可擴(kuò)展性,ssh 主流技術(shù)有強(qiáng)大的用戶(hù)社區(qū)支持它,所以該框架擴(kuò)展性非常強(qiáng),針對(duì)特殊應(yīng)用時(shí)具有良好的可插拔性,避免大部分因技術(shù)問(wèn)題不能實(shí)現(xiàn)的功能。 3. 良好的可維護(hù)性,業(yè)務(wù)系統(tǒng)經(jīng)常會(huì)有新需求,三層構(gòu)架因?yàn)檫壿媽雍驼宫F(xiàn)層的合理分離,可使需求修改的風(fēng)險(xiǎn)降低到最低。隨著
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1