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

正文內(nèi)容

java網(wǎng)上書店管理系統(tǒng)設(shè)計與實現(xiàn)-文庫吧

2025-08-02 09:09 本頁面


【正文】 內(nèi)容。 第三階段是按照合同進(jìn)行商品交接、資金結(jié)算階段:這一階段是整個商品交易很關(guān)鍵的階段,不僅要涉及到資金在網(wǎng)上的正確、安全到位,同時也要涉及到商品配送的準(zhǔn)確、按時到位。在這個階段有銀行業(yè)、配送系統(tǒng)的介入,在技術(shù)上、法律上、標(biāo)準(zhǔn)上等等方面有更高的要求。網(wǎng)上交易的成功與否就在這個階段。 2 技術(shù)背景 JAVA 的網(wǎng)絡(luò)功能與編程 Java 是一種簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠的主要面向 Inter 的開發(fā)工具。自從 1995 年正式問世以來, Java 的快速發(fā)展已經(jīng)讓整個 Web 世界發(fā)生了翻天覆地的變化。在早期, Java 比較多的用在瀏覽器上,插入到網(wǎng)頁中 (即是 Java Applet 程序 ),成為最靈活、最強大的網(wǎng)頁多媒體的載體,但由于 Java 虛擬機(jī)相對于個人電腦而言,有占用資源大,安全性相對較差等缺點, Applet 逐漸的被后起之秀 Flash 所替代,但隨著 Java Servlet 的推出,Java 在電子商務(wù)方面開始嶄露頭角,最新的 JSP(Java Server Page)技術(shù)的推出,更是讓 Java 成為基于 Web的應(yīng)用程序的首選開發(fā)工具,目前的 Java 技術(shù) 已成為所有大型電子商務(wù)項目的必然選擇。 Java 程序可以獲取網(wǎng)絡(luò)上結(jié)點的圖象、聲音、 HTML 文檔及文本等資源,并可以對獲得的資源進(jìn)行處理。例如 Java 程序可以每隔一定時間讀取某結(jié)點提供的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個 URL類型的對象,然后用 Java 中相應(yīng)的方法( method)獲取該對象所代表的資源。 Java Servlet 是 JSP 技術(shù)的基礎(chǔ), JSP 本身就是預(yù)先被編譯成 Servlet,然后再運行的,而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配合才能完成, Servlet 這個名稱大概源于 Applet,現(xiàn)在國內(nèi)的翻譯方式很多,本文為了避免 3 誤會,本文直接采用 Servlet 這個名稱而不做任何翻譯,讀者如果愿意,可以稱之為 “小服務(wù)程序 ”。 Servlet 其實和傳統(tǒng)的 CGI 程序和 ISAPI、 NSAPI 等 Web 程序開發(fā)工具的作用是相同的,在使用 Java Servlet 以后,用戶不必再使用效率低下的 CGI 方式,也不必使用只能在某個固定 Web 服務(wù)器平臺運行的 API 方式來動態(tài)生成 Web 頁面。許多 Web 服務(wù)器都支持 Servlet,即使不直接支持 Servlet的 Web 服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持 Servlet。得益于 Java的跨平臺的特性, Servlet 也是平臺無關(guān)的,實際上,只要符合 Java Servlet 規(guī)范,Servlet 是完全平臺無關(guān)且是 Web 服務(wù)器無關(guān)的。由于 Java Servlet 內(nèi)部是以線程方式提供服務(wù),不必對于每個請求都啟動一個進(jìn)程,并且利用多線程機(jī)制可以同時為多個請求服務(wù),因此 Java Servlet 效率非常高。但 Java Servlet 也不是沒有缺點,和傳統(tǒng)的 CGI、 ISAPI、 NSAPI 方式相同, Java Servlet 是利 用輸出 HTML語句來實現(xiàn)動態(tài)網(wǎng)頁的,如果用 Java Servlet 來開發(fā)整個網(wǎng)站,動態(tài)部分和靜態(tài)頁面的整合過程簡直就是一場噩夢。這就是為什么 SUN 還要推出 Java Server Pages 的原因。 Struts 概述 Struts 框架工具是 Apache 基金會 Jakarta 項目中推出的一個子項目。 Struts 在英文中是支架、支撐的意思,這也體現(xiàn)出 Struts 在開發(fā) Web 應(yīng)用程序過程所起到的重要作用, Struts 為 Web 應(yīng)用提供了通用的框架,讓開發(fā)人員可以把主要精力 集中在如何解決實際業(yè)務(wù)問題上,與此同時 Struts 框架也允許開發(fā)人員根據(jù)實際需要進(jìn)行擴(kuò)展和定制,從而可以更好的適應(yīng)用戶的需求。采用 Struts 可以簡化遵循 MVC 設(shè)計模式的 Web 應(yīng)用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 JSP/Servlet 優(yōu)點、并具有強可擴(kuò)展性的 Web 應(yīng)用??傊? Struts 的出現(xiàn)使得 Web 應(yīng)用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。 Struts 架構(gòu)一經(jīng)推出,即受到 Java 開發(fā) 群體的廣泛重視,從 2020 年開始逐漸升溫,并日漸成為 Java 創(chuàng)建 Web 應(yīng)用開發(fā)的最流行的框架工具,在目前 Java Web 程序員的招聘要求中,幾乎都提出了對 Struts 的要求,精通 Struts 架構(gòu)已經(jīng)成為 Java Web 程序員必備的技能。 4 模型 視圖 控制器( MVC)是 80 年代 Smalltalk80 出現(xiàn)的一種軟件設(shè)計模式,現(xiàn)在已經(jīng)被廣泛的使用。 模型( Model) 模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯 . 視圖( View) 視圖是應(yīng)用程 序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 控制器( Controller) 控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新 model對象狀態(tài) 圖 MVC 組件類型的關(guān)系和功能 MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性。 早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導(dǎo)致程序的復(fù)雜及難以維護(hù)。很多 VB,Delphi 等 RAD 程序都有這種問題 。甚至現(xiàn)在的 C,Java有時候也會出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象。 盡管 MVC 設(shè)計模式很早就提出,但在 Web項目的開發(fā)中引入 MVC卻是步履維艱。主要原因:一是在早期的 Web 項目的開發(fā)中,程序語言和 HTML 的分離一直難以實現(xiàn)。 CGI 程序以字符串輸出的形式動態(tài)地生成 HTML 內(nèi)容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在 HTML內(nèi)容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和 HTML 5 分離。二是腳本語言的功能相對較弱,缺乏支持 MVC 設(shè)計模式的一些必要的技術(shù)基礎(chǔ)。直到基于 J2EE 的 JSP Model 2 問世時才得以改觀。它用 JSP 技術(shù)實現(xiàn)視圖的功能,用 Servlet 技術(shù)實現(xiàn)控制器的功能,用 JavaBean 技術(shù)實現(xiàn)模型的功能 。 SUN 在 JSP 出現(xiàn)早期制定了兩種規(guī)范,稱為 Model1 和 Model2。雖然 Model2 在一定 程 度 上 實 現(xiàn) 了 MVC , 但 是 它 的 應(yīng) 用 用 并 不 盡 如 人 意 。 圖 JSP Model 1 圖 JSP Model 2 model2 容易使系統(tǒng)出現(xiàn)多個 Controller,并且對頁面導(dǎo)航的處理比較復(fù)雜 有些人覺得 model2 仍不夠好,于是 Craig R. McClanahan 2020 年 5 月 提交了一 個 WEB framework 給 Java Struts。 2020 年 7 月, ,正式發(fā)布。該項目也成為了 Apache Jakarta 的子項目之一 。 Struts 質(zhì)上就是在 Model2 的基礎(chǔ)上實現(xiàn)的一個 MVC 架構(gòu)。它只有一個中心控制器,他采用 XML 定制轉(zhuǎn)向的 URL。采用 Action 來處理邏輯。 6 Struts 跟 Tomcat、 Turbine 等諸多 Apache 項目一樣,是開源軟件,這是它 的一大優(yōu)點。使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機(jī)制。 除此之外, Struts 的優(yōu)點主要集中體現(xiàn)在兩個方面: Taglib 和頁面導(dǎo)航 Taglib 是 Struts 的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的 JSP 開發(fā)者而言,除了使用 JSP 自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許 Struts 是一個很好的起點。 關(guān)于頁面導(dǎo)航,我認(rèn)為那將是今后的一個發(fā)展方向,事實上,這樣做,使 系統(tǒng)的脈絡(luò)更加清晰。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系, 這對于后期的維護(hù)有著莫大的好處。尤其是當(dāng)另一批開發(fā)者接手這個項目時,這 種優(yōu)勢體現(xiàn)得更加明顯。 Taglib 是 Struts 的一大優(yōu)勢,但對于初學(xué)者而言,卻需要一個持續(xù)學(xué)習(xí)的過程,甚至還會打亂你網(wǎng)頁編寫的習(xí)慣,但是,當(dāng)你習(xí)慣了它時,你會覺得它真的很棒。 Struts 將 MVC 的 Controller 一分為三,在獲得結(jié)構(gòu)更加清晰的同時,也增加了系統(tǒng)的復(fù)雜度。 Struts 從產(chǎn)生到現(xiàn)在 才不過六七 年,但已 廣泛 運用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點,但它是一種非常優(yōu)秀的 J2EE MVC 實現(xiàn)方式 。 下圖是 Struts 的工作流程,所有的請求都提交給 ActionServlet 來處理 。 7 圖 action 控制流程圖 ActionServlet 是一個 FrontController,它是一個標(biāo)準(zhǔn)的 Servlet,它將request 轉(zhuǎn)發(fā)給 RequestProcessor 來處理, ActionMapping 是 ActionConfig 的子類,實質(zhì)上是對 的一個映射,從中可以取得所有的配置信息 RequestProcessor 根據(jù)提交 過來的 url,如 *.do,從 Action Mapping 中得到相應(yīng)的 ActionForm 和 Action。然后將 request 的參數(shù)對應(yīng)到 Action Form 中,進(jìn)行 form 驗證。如果驗證通過則調(diào)用 Action 的 execute()方法來執(zhí)行 Action,最終返回 ActionForward。 ActionForward 是對 mapping 中一個 forward 的包裝,對應(yīng)于一個 url ActionForm 使用了 ViewHelper 模式,是對 HTML 中 form 的一個封裝 。其中包含有 validate 方法,用于驗證 form 數(shù)據(jù)的有效性。 Action Form 是一個符合 Java Bean 規(guī)范的類,所有的屬性都應(yīng)滿足 get 和 set 對應(yīng)。對于一些復(fù)雜的系統(tǒng),還可以采用 DynaActionForm 來構(gòu)造動態(tài)的 Form,即通過預(yù)制參數(shù)來生成 Form。這樣可以更靈活的擴(kuò)展程序。 ActionErrors是對錯誤信息的包裝,一旦在執(zhí)行 action或者 中出現(xiàn)異常,即可產(chǎn)生一個 ActionError 并最終加入到 ActionErrors。在 Form驗證的過程中,如果有 Error 發(fā)生,則會將頁面重新導(dǎo)向至輸入頁,并提示錯誤。 8 Action 是用于執(zhí)行業(yè)務(wù)邏輯的 RequsestHandler。每個 Action 都只建立一個 instance。 Action 不是線程安全的,所以不應(yīng)該在 Action 中訪問特定資源。一般來說,應(yīng)改使用 Business Delegate 模式來對 Business tier 進(jìn)行訪問以解除耦合。 Struts 提供了多種 Action 供選擇使用。普通的 Action 只能通過調(diào)用execute 執(zhí)行一項任務(wù),而 DispatchAction 可以根據(jù)配置參數(shù)執(zhí)行,而不是僅進(jìn)入 execute()函數(shù),這樣可以執(zhí)行多種任務(wù)。如 insert,update 等。LookupDispatchAction 可以根據(jù)提交表單按鈕的名稱來執(zhí)行函數(shù)。 3 網(wǎng)上書店詳細(xì)設(shè)計 需求分析 網(wǎng)上書店系統(tǒng)主要是實現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。一個典型的網(wǎng)上商城一般都需要實現(xiàn)商品信息的動態(tài)提示、購物車管理、客戶信息注冊登錄管理、訂單處理等模塊。 (1)查詢:當(dāng)客戶進(jìn)入網(wǎng)上書店時,應(yīng)該在主頁面中分類顯示最新的書目 信息,以供客戶選擇所需圖書,同時也應(yīng)該提供按照圖書名稱,或者作者 信息快速查詢所需書目信息的功能。 (2)購物車管理:當(dāng)客戶選擇購買某圖書產(chǎn)品時,應(yīng)該能夠?qū)?yīng)圖書信息,如:價格、數(shù)量記錄到對應(yīng)的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當(dāng)對應(yīng)的購物訂單生成后,應(yīng)該能夠自動清除以生成訂單的購物車中的信息。 (3)訂單處理:對應(yīng)客戶購買圖書商品信息的需求,在確定了所購圖書商品的價格、數(shù)量等信息后,提示用戶選擇對應(yīng)的送貨方式及付款方式,最終生成對應(yīng)的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進(jìn)行后續(xù)的出貨、送貨的處理。 (4)會員注冊:為了能夠?qū)崿F(xiàn) 圖書商品的購買,需要管理客戶相關(guān)的聯(lián)系方式、送貨地點等相關(guān)的信息。 9 總體設(shè)計 下表中給出了構(gòu)成網(wǎng)上書店系統(tǒng)的各個組件,通過下表,可以從宏觀上了解各個組件
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1