




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設計論文 基于 mvc 架構(gòu)的 webshop 管理系統(tǒng)的設計與實現(xiàn) 摘 要 當今社會正快速向信息化社會前進,信息自動化的作用也越來越大。隨著網(wǎng)絡 技術(shù)的迅速發(fā)展,網(wǎng)上購物成為一種時尚,電子商務的出現(xiàn)使我們從繁瑣實際購物 中解放出來,提高了我們的工作效率。本系統(tǒng)就是一個具有交互功能的基于 mvc 架 構(gòu)的 webshop 管理系統(tǒng),本系統(tǒng)旨在在網(wǎng)上建立的一個商品交易市場,使得交易, 變得更加快速靈活,從而節(jié)省投資和運營成本,并代替?zhèn)鹘y(tǒng)的人工管理。該系統(tǒng)采 用瀑布式設計,包括商品模塊,單價模塊,名稱模塊等幾個模塊?;緦崿F(xiàn)了管理 員對商品單 價等的修改以及客戶對其的查詢。 關(guān)鍵詞:關(guān)鍵詞:網(wǎng)
2、上購物;基于 mvc 架構(gòu)的 webshop 管理系統(tǒng);商品模塊;單價模塊;名稱模塊 abstract in todays society is fast forward to the information society, the role of information automation is becoming more and more big. with the rapid development of internet technology, online shopping became a kind of fashion, the appearance of electroni
3、c commerce makes us liberated from complicated actual shopping, improve our work efficiency. this system is an interactive webshop management system based on mvc architecture, this system is to set up an online commodity trading market, make the deal, become more quickly and flexibly, so as to save
4、investment and operating costs, and instead of the traditional manual administration. the system adopts the design of the waterfall, including commodity module, unit module, the name of the module, etc. several modules. basically achieved the administrator of commodity price changes and customer que
5、ries. key words:online shopping; the webshop management system based on mvc architecture; commodity module; the unit price module; the name of the module. 目 錄 摘要. .i abstract.ii 1 前言.1 2 相關(guān)技術(shù). .2 2.1 sql server 數(shù)據(jù)庫. .2 2.2 tomcat 服務器. .2 2.3 jsp. .2 2.4 eclipse. .3 2.5 struts1 . . . .3 2.6 mvc . . .
6、 .4 3 系統(tǒng)需求分析. . . . . .4 3.1 可行性分析. . . 5 3.1.1 開發(fā)背景. . 5 3.1.2 網(wǎng)上購物的發(fā)展. . . 5 3.1.3 網(wǎng)上購物的好處. . . . 5 3.2 技術(shù)可行性分析 . . . . .6 3.3 經(jīng)濟可行性分析. . . . . .6 3.3.1 實體店的劣勢. . . . .6 3.3.2 網(wǎng)上商店的優(yōu)勢. .6 3.4 系統(tǒng)功能分析 . . . . . . .6 3.5 開發(fā)環(huán)境 . . . . . .6 4 系統(tǒng)概要設計或詳細設計. .8 4.1 系統(tǒng)的架構(gòu)設計. .8 4.2 系統(tǒng)的 ui 設計 . . . . .9 4.3
7、 各模塊概要設計. . . . .11 4.3.1 商品模塊. . . .11 4.3.2 單價模塊. .12 4.3.3 名稱模塊. .12 4.4 數(shù)據(jù)庫表設計. . .12 4.5 復雜算法的設計. . .16 4.5.1 商品模塊. . .17 4.5.2 單價模塊. . .18 4.5.3 名稱模塊. . .19 4.6 開發(fā)環(huán)境的設定. .19 5 系統(tǒng)的實現(xiàn) . . . 24 5.1 商品模塊的實現(xiàn).24 5.2 單價模塊的實現(xiàn).25 5.3 名稱模塊的實現(xiàn). .27 結(jié)論.29 參考文獻.30 致謝.31 附錄 a. . . . .32 附錄 b. . . . .43 附錄 c
8、. . . . .85 1 前言 隨著計算機網(wǎng)絡技術(shù)的快速發(fā)展,網(wǎng)絡/聯(lián)網(wǎng)應用,在全球范圍內(nèi)的普及,當今社 會,信息自動化的作用也越來越大。電子商務的出現(xiàn),使我們從各種實務中解放出來, 提高了我們工作的效率。在計算機網(wǎng)絡支持下,彌補數(shù)據(jù)庫和穩(wěn)定的開發(fā)平臺,原有 的軟件和硬件發(fā)展成一套開源的體系結(jié)構(gòu),可擴展計劃或易于維護、良好的機器界 面在線的商品交易系統(tǒng),實現(xiàn)統(tǒng)一管理的商品,供應商,客戶的計算機系統(tǒng)服務詳細準 確。購物過程更容易接受,快捷、方便,很適合現(xiàn)代生活的步伐。該論文主要從商品, 單價及名稱等方面研究網(wǎng)上購物系統(tǒng)。 2 相關(guān)軟件及技術(shù)介紹 2.1sql server 數(shù)據(jù)庫 sql se
9、rver 是微軟公司開發(fā)的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),以 transact_sql 作為 它的數(shù)據(jù)庫查詢和編程語言。tsql 是結(jié)構(gòu)化查詢語言 sql 的一種,支持 ansi sql92 標準。是一個高性能的、多用戶的關(guān)系型數(shù)據(jù)庫管理系統(tǒng);它是專為客戶 /服務器計算環(huán)境設計的,是當前最流行的數(shù)據(jù)庫服務器系統(tǒng)之一;它提供的內(nèi)置數(shù) 據(jù)復制功能、強大的管理工具和開放式的系統(tǒng)體系結(jié)構(gòu)為基于事務的企業(yè)級信息管 理方案提供了一個卓越的平臺。sql server 所使用的數(shù)據(jù)庫查詢語言稱為 transact- sql,它是 sql server 的核心,transact-sql 強化了原有的 sql 關(guān)鍵字以進
10、行數(shù)據(jù) 的存取,儲存及處理等功能,transact-sql 擴充了流程控制指定,可以使你方便的 編寫功能強大的存儲過程,他們存放在服務器端,并預先編譯過,執(zhí)行速度非常塊, 觸發(fā)是一種特殊的存儲過程,用來確保 sql server 數(shù)據(jù)庫引用的完整性,你可以建 立插入,刪除和更新觸發(fā)以控制相關(guān)的表格中對數(shù)據(jù)列的插入,刪除和更新,你還 可以使用規(guī)則(rule) ,缺?。╠efault)以及限制(constraints) ,來協(xié)助將新的數(shù)值 套用到表格中去。 2.2tomcat 服務器 tomcat 服務器是一個免費的開放源代碼的 web 應用服務器。tomcat 是 apache 軟件基金會(ap
11、ache software foundation)的 jakarta 項目中的一個核心項 目,由 apache、sun 和其他一些公司及個人共同開發(fā)而成。由于有了 sun 的參與 和支持,最新的 servlet 和 jsp 規(guī)范總是能在 tomcat 中得到體現(xiàn),tomcat 5 支持 最新的 servlet 2.4 和 jsp 2.0 規(guī)范。因為 tomcat 技術(shù)先進、性能穩(wěn)定,而且免費, 因而深受 java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的 web 應用服務器。在本系統(tǒng)設計過程中,利用 tomcat 在本地調(diào)試 jsp 編寫出來的網(wǎng) 頁。在本地調(diào)試的好處是無需
12、連接互聯(lián)網(wǎng)即可以打開系統(tǒng)頁面,并能夠快速刷新頁 面,為設計帶來極大的便利。 2.3 jsp jsp(全稱 javaserver pages)是由 sun microsystems 公司倡導和許多公司參與共 同建立的一種使軟件開發(fā)者可以響應客戶端請求,而動態(tài)生成 html、xml 或其他 格式文檔的 web 網(wǎng)頁的技術(shù)標準。jsp 技術(shù)是以 java 語言作為腳本語言的,jsp 網(wǎng) 頁為整個服務器端的 java 庫單元提供了一個接口來服務于 http 的應用程序。 jsp 使 java 代碼和特定的預定義動作可以嵌入到靜態(tài)頁面中。jsp 句法增加了被稱為 jsp 動作的 xml 標簽,它們用來調(diào)
13、用內(nèi)建功能。另外,可以創(chuàng)建 jsp 標簽庫,然后 像使用標準 html 或 xml 標簽一樣使用它們。標簽庫提供了一種和平臺無關(guān)的擴 展服務器性能的方法。 jsp 被 jsp 編譯器編譯成 java servlets。一個 jsp 編譯器可 以把 jsp 編譯成 java 代碼寫的 servlet 然后再由 java 編譯器來編譯成機器碼,也 可以直接編譯成二進制碼。 2.4 eclipse eclipse 是一個開放源代碼的、基于 java 的可擴展開發(fā)平臺。就其本身而言, 它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,eclipse 附帶了一個標準的插件集,包括 jav
14、a 開發(fā)工具(java development kit,jdk) 。 2.5 struts1 圖 2.1 struts1 的工作原理 (1)初始化:struts 框架的總控制器 actionservlet 是一個 servlet,它在 web.xml 中配置成自動啟動的 servlet,在啟動時總控制器會讀取配置文件(struts-config.xml) 的配置信息,為 struts 中不同的模塊初始化相應的對象。(面向?qū)ο笏枷? (2)發(fā)送請求:用戶提交表單或通過 url 向 web 服務器提交請求時,請求的 數(shù)據(jù)通過 http 協(xié)議傳遞給 web 服務器。 (3)form 填充:strut
15、s 的總控制器 actionservlet 在用戶提交請求時將數(shù)據(jù)放到對 應的 form 對象中的成員變量中。 (4)派發(fā)請求:控制器根據(jù)配置信息對象 actionconfig 將請求派發(fā)到具體的 action,對應的 formbean 一并傳給這個 action 中的 excute()方法。 (5)處理業(yè)務:action 一般只包含一個 excute()方法,它負責執(zhí)行相應的業(yè)務 邏輯(調(diào)用其它的業(yè)務模塊) 完畢后返回一個 actionforward 對象。服務器通過 actionforward 對象進行轉(zhuǎn)發(fā)工 作。 (6)返回響應:action 將業(yè)務處理的不同結(jié)果返回一個目標響應對象給總
16、控制 器。 (7)查找響應:總控制器根據(jù) action 處理業(yè)務返回的目標響應對象,找到對應 的資源對象,一般情況下為 jsp 頁面。 (8)響應用戶:目標響應對象將結(jié)果傳遞給資源對象,將結(jié)果展現(xiàn)給用戶。 2.6 mvc mvc 全名是 model view controller,是一種軟件設計典范,是模型(model)視 圖(view)控制器(controller)的縮寫,用業(yè)務邏輯和數(shù)據(jù)顯示分離的方法來組織 代碼。這個方法的假設前提是如果業(yè)務邏輯被聚集到一個部件里面,而且界面和用 戶圍繞數(shù)據(jù)的交互能被改進和個性化定制而不需要重新編寫業(yè)務邏輯 mvc 被獨特的 發(fā)展起來用于映射傳統(tǒng)的輸入、處
17、理和輸出功能在一個邏輯的圖形化用戶界面的結(jié) 構(gòu)中。 mvc 開始是存在于桌面程序中的,m 是指業(yè)務模型,v 是指用戶界面,c 則是控制器, 使用 mvc 的目的是將 m 和 v 的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表 現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)可以分別用柱狀圖、餅圖來表示。c 存在的目的則是確 保 m 和 v 的同步,一旦 m 改變,v 應該同步更新。 模型視圖控制器(mvc)是 xerox parc 在二十世紀八十年代為編程語言 smalltalk80發(fā)明的一種軟件設計模式,已被廣泛使用。后來被推薦為 oracle 旗 下 sun 公司 java ee 平臺的設計模式,并且受到越來越
18、多的使用 coldfusion 和 php 的開發(fā)者的歡迎。模型視圖控制器模式是一個有用的工具箱,它有很多好處, 但也有一些缺點。 3系統(tǒng)需求分析 3.1 可行性分析 3.1.1 開發(fā)背景 隨著計算機網(wǎng)絡技術(shù)的快速發(fā)展,網(wǎng)絡/聯(lián)網(wǎng)應用,在全球范圍內(nèi)的普及,當今社 會,信息自動化的作用也越來越大。電子商務的出現(xiàn),使我們從各種實務中解放出來, 提高了我們工作的效率。在計算機網(wǎng)絡支持下,彌補數(shù)據(jù)庫和穩(wěn)定的開發(fā)平臺,原有 的軟件和硬件發(fā)展成一套開源的體系結(jié)構(gòu),可擴展計劃或易于維護、良好的機器界 面在線的商品交易系統(tǒng),實現(xiàn)統(tǒng)一管理的商品,供應商,客戶的計算機系統(tǒng)服務詳細準 確。購物過程更容易接受,快捷、
19、方便,很適合現(xiàn)代生活的步伐。網(wǎng)上購物成為潮流。 3.1.2 網(wǎng)上購物的發(fā)展 全球信息化的進程正改變著人們的生活方式,全球正逐步進入網(wǎng)絡經(jīng)濟時代。 網(wǎng)上購物的出現(xiàn)給人們的生活方式帶來了前所未有的變化,作為占世界人口五分之 一的中國也深刻的感受到了這股浪潮的沖擊。網(wǎng)上購物在當今發(fā)達國家已顯示出了 較強的發(fā)展勢頭,它是推動國家經(jīng)濟增長方的一支嶄新的力量。例如,gfk(捷孚凱 集團)一份針對德國網(wǎng)上購物者的調(diào)查指出,在 2007 年上半年,德國的在線購物銷 售額達到了 53 億歐元。gfk 預計,2007 年全年德國在線購物銷售額達到了 110 億歐 元之多。相較之下,我國網(wǎng)上購物還是比較滯后的,但經(jīng)
20、過近幾年的發(fā)展,越來越 多的人認識到“網(wǎng)上訂貨,送貨上門”的方便,也有越來越多的人開始接受網(wǎng)上購 物。cnnic 在其發(fā)布的中國互聯(lián)網(wǎng)絡熱點調(diào)查報告中顯示:在我國有 17.9%的網(wǎng) 民在半年內(nèi)有過網(wǎng)絡購物經(jīng)歷,有過網(wǎng)絡購物經(jīng)歷的被訪者中有超過 90%的人今后 會繼續(xù)進行網(wǎng)絡購物;有 63.7%沒有購物經(jīng)歷的網(wǎng)民表示今后會嘗試網(wǎng)絡購物。這 些數(shù)據(jù)都表明我國網(wǎng)上購物市場有巨大的潛力。 3.1.3 網(wǎng)上購物的好處 首先,對消費者來說可以在家“逛商店” ,訂貨不受時間、地點的限制;隨時可 以獲得大量的最新的商品信息,可以買到當?shù)貨]有的商品。無需親自到現(xiàn)場,省時 省力而且價格較一般商場的同類商品更便宜。
21、其次,對于商家來說,由于網(wǎng)上銷售 經(jīng)營成本低、沒有庫存壓力、經(jīng)營規(guī)模不受場地限制等。將來必然會有更多的企業(yè) 選擇網(wǎng)上銷售,通過互聯(lián)網(wǎng)對市場信息的及時反饋適時調(diào)整經(jīng)營戰(zhàn)略,以此提高企 業(yè)的經(jīng)濟效益。綜上可以看出,網(wǎng)上購物突破了傳統(tǒng)商務的障礙,無論對消費者還 是企業(yè)都有著巨大的吸影響力和吸引力,在新經(jīng)濟時代無疑是達到“多贏”效果的 理想模式。 3.2 技術(shù)可行性分析 隨著我國今年來上網(wǎng)費的降低,網(wǎng)民總數(shù)及網(wǎng)上購物者顯著增多?,F(xiàn)在人們已 經(jīng)離不開網(wǎng)絡,網(wǎng)上商店成為時代的產(chǎn)物。網(wǎng)上開店好處多多,運用互聯(lián)網(wǎng)平臺建 立自己的網(wǎng)上商店系統(tǒng)。隨著網(wǎng)絡技術(shù)的發(fā)展,支撐電子商務應用的技術(shù)越來越多: web 技術(shù)、
22、電子郵件、edi 技術(shù)、條形碼技術(shù)、數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術(shù)等等。 3.3 經(jīng)濟可行性分析 3.3.1 實體店的劣勢 店面成本高,商品信息與顧客需求不符,需花錢雇服務人員,服務員對商品不 了解,易積貨。 3.3.2 網(wǎng)上商店的優(yōu)勢 投資少,回收快,無所謂存貨,不需門面店,啟動資金少,只需一臺電腦即可。 適合個人和小商店網(wǎng)上創(chuàng)業(yè)。解決了實體店的劣勢,規(guī)模越大價格越低,比在實體 店購買方便,而且方便顧客不同店家的同類商品;銷售地點不受限制,小店鋪可做 大生意,網(wǎng)上商店不受店面限制,即使實際你只擁有一個小地攤,在網(wǎng)上你卻可以 擁有一座百貨大樓,上萬種商品供你銷售;銷售不受時間限制,不需專人看守,可 時
23、刻經(jīng)營。網(wǎng)上商店無限延長了營業(yè)時間,可全天 24 小時不停運轉(zhuǎn),而且不受天氣 影響,只要能上網(wǎng)就可正常營業(yè);網(wǎng)上商店易宣傳,人氣旺,成千上萬的網(wǎng)民都有 可能成為你的顧客。 3.4 系統(tǒng)功能分析 本系統(tǒng)分為前臺和后天兩部分共 3 個模塊分別是商品模塊,名稱模塊,單價模 塊。在前臺用戶可通過注冊瀏覽商品信息價格等。后臺管理包括商品信息管理,價 格管理,名稱管理等以及各種即時信息的發(fā)布管理。 前臺: 瀏覽商品:客戶可以瀏覽網(wǎng)上商城的查看想要商品信息。 查詢商品:客戶可以輸入條件,查詢自己感興趣的商品。 后臺: 商品管理,添加修改刪除商品信息 3.5 開發(fā)環(huán)境 安裝配置 jsp 運行環(huán)境,安裝配置 e
24、clipse,tomcat5.0,以及 jdk1.5。 4 系統(tǒng)概要設計或詳細設計 4.1 系統(tǒng)的架構(gòu)設計 本系統(tǒng)采用 mvc 的設計方式,mvc 開始是存在于桌面程序中的,m 是指業(yè)務模型, v 是指用戶界面,c 是控制器,使用 mvc 的目的是將 m 和 v 的實現(xiàn)代碼分離,從而使 同一個程序可以使用不同的表現(xiàn)形式。c 存在的目的則是確保 m 和 v 的同步,一旦 m 改變,v 應該同步更新。 圖 4.1 mvc 流程 進原價 圖 4.2 網(wǎng)上商店模塊分布 4.2 系統(tǒng)的 ui 設計 圖 4.3 登入頁面 輸入數(shù)值后點擊確定,數(shù)值從數(shù)據(jù)庫里找然后進入系統(tǒng)首頁面 網(wǎng)上商店系統(tǒng) 商品模塊單價模
25、塊 名稱模塊 商 品 名 商 品 略 稱 價 格 變 更 可 否 適 用 始 日 適 用 終 了 日 消 費 稅 區(qū) 分 買 進 原 價 率 賣 出 單 價 消 費 稅 名 稱 略 稱 b u t t o n 圖 4.4 系統(tǒng)首頁 點擊管理機能進入詳細功能畫面 圖 4.5 詳細功能畫面 圖 4.6 商品臺賬保守 圖 4.7 單價臺賬保守 圖 4.8 名稱臺帳保守 4.3 各模塊概要設計 4.3.1 商品模塊 (1)概要:可以進行商品表的追加修正刪除等操作,一旦論理刪除的數(shù)據(jù)再檢索, 無法檢索出來。 (2)機能:商品情報的登入,商品所屬部門的設定,價格可否變更的設定,仮 jan 的登入 (3)制
26、限條件:只有商品 code 能登入,jan 正規(guī)行的檢查 4.3.2 單價模塊 (1)概要:可以進行單價表的追加修正刪除等操作,一旦論理刪除的數(shù)據(jù)再檢索, 無法檢索出來。 (2)機能:商品單價和消費稅率的基本情報的登入,商品單價適用期的設定,仮 jan 數(shù)據(jù)單價的登入,單價變更的場合相關(guān)聯(lián)的數(shù)據(jù)表示,輸入數(shù)值位數(shù)不滿的情 況下在數(shù)值前面添零補足 (3)制限條件:輸入日期要包含在適用開始日和終了日之間,檢查設定適用期的 合理性,仮 jan 表存在的檢查,仮 jan 數(shù)據(jù)的單價登入后仮 jan 里的該數(shù)據(jù)刪除, 復數(shù)單價表的期間的設定場合下表間的一天以上的空閑當做錯誤處理 4.3.3 名稱模塊 (
27、1)概要:可以進行名稱表的追加修正刪除等操作,一旦論理刪除的數(shù)據(jù)再檢索, 無法檢索出來。 (2)機能::名稱基本情報的設定,名稱 code 名稱區(qū)分的設定,區(qū)分 idappellation_cls 條件下從區(qū)分表里得到畫面的名稱區(qū)分,輸入的名稱 code 不滿 4 位的情況下前面補零處理 3.3 制限條件:名稱 code、名稱、略稱、位置必須輸入,進行位置 的重復檢查 4.4 數(shù)據(jù)庫表設計 表 4.1 table 一覽表 id表名字段名 1區(qū)分 tm_kbn 2商品tm_hin 3単価tm_prc 4名稱 tm_app 商品表邏輯設計: 表 4.2 商品表 項目 id項目屬性 article_
28、code 商品數(shù)字 jan_code jan 數(shù)字 article_name 商品名文字 article_kana 商品略稱文字 branch_code1 大部門數(shù)字 branch_code2 中部門數(shù)字 branch_code3 小部門數(shù)字 price_upd_flg 価格変更可否文字 圖 4.9 商品表的物理設計 表 4.3 單價表邏輯設計 項目 id項目屬性 article_code 商品數(shù)字 jan_code jan 數(shù)字 use_date_s_dt_find 適用開始日(検索)數(shù)字 use_date_s_dt 適用開始日數(shù)字 use_date_e_dt 適用終了日數(shù)字 co_tax_
29、rate_cd 消費稅率區(qū)分文字 before_tax_sale_price 売上単価稅抜価格數(shù)字 sale_price 売上単価稅込価格數(shù)字 sale_excise_tax 売上単価消費稅額數(shù)字 cost_rate 仕入原価率數(shù)字 before_tax_stock_price 仕入原価稅抜価格數(shù)字 stock_price 仕入原価稅込価格數(shù)字 stock_excise_tax 仕入原価消費稅額數(shù)字 売上消費稅區(qū)分是 0:外稅的場合、売上単価稅抜価格必須輸入 売上消費稅區(qū)分是 1:內(nèi)稅的場合、売上単価稅込価格必須輸入 売上消費稅區(qū)分是 2:非課稅的場合、売上単価稅抜価格必須輸入 仕入消費稅區(qū)分
30、是 0:外稅的場合、仕入?yún)g価稅抜価格必須輸入 仕入消費稅區(qū)分是 1:內(nèi)稅的場合、仕入?yún)g価稅込価格必須輸入 仕入消費稅區(qū)分是 2:非課稅的場合、仕入?yún)g価稅抜価格必須輸入 仕入消費稅區(qū)分未入力的場合、不必輸入 圖4.10 單價表的物理設計 表4.4 名稱表的邏輯設計 項目 id項目屬性 appellation_code 名稱數(shù)字 appellation_cls 名稱區(qū)分文字 appellation 名稱文字 appellation_acronym 略稱文字 button_position 位置數(shù)字 圖4.11 名稱表的物理設計 struts_config.xml 文件的配置 struts_conf
31、ig.xml 文件是一個 xml 文本文件,它用來儲存應用程序的配置信息 (如 應用程序的身份驗證方式) ,它可以出現(xiàn)在應用程序的每一個目錄中。config 文件,包括默認的配置設置,所有的子目錄都繼承它的配置設置。如果你想修改子 目錄的配置設置,你可以在該子目錄下新建一個 config 文件。它可以提供除從父目 錄繼承的配置信息以外的配置信息,也可以重寫或修改父目錄中定義的設置。 在運 行時對 web.config 文件的修改不需要重啟服務就可以生效。config 文件是可以擴展 的,你可以自定義新的配置參數(shù)并編寫配置處理程序以對它們進行處理。 4.5 復雜算法的設計 4.5.1 商品模塊
32、當畫面檢索按鈕按下后如果 jan 區(qū)分是1的情況下,當輸入 jan 時 會報jan 入力。 的錯誤信息。其關(guān)鍵代碼如下: if (!basecheck.isempty(form.getbranchcode1() tmbmn_st st = new tmbmn_st(); st.setbranchcode1(form.getbranchcode1(); st.setbranchcode2(form.getbranchcode2(); st.setbranchcode3(form.getbranchcode3(); returnvalue retvalue = db.seletbypk(st);
33、if (retvalue.iserror() form.seterrorcode(retvalue.geterrorcode(); form.seterrormessage(retvalue.geterrormessage(); form.setmode(search); return; 對于畫面輸入值的檢查代碼如下: logic.checkbody(form); /結(jié)果評判 if (!form.iserror() / 場合 form.setmethod(form.getmode(); / 元 if (add.equals(form.getmode() form.setsuccesscode(
34、2001000); / id (登 録,) else if (update.equals(form.getmode() form.setsuccesscode(2001010); / id (更 新,) else if (delete.equals(form.getmode() form.setsuccesscode(2001020); / id (削 除,) form.setbodyreadonly(false); / 部分入力可 form.setbodycanview(true); / 部分表示 form.setheadreadonly(true); / 部分入力不可 /畫面遷移 retu
35、rn mapping.findforward(tojsp); 4.5.2 單價模塊 圖4.12 日期范圍圖 如果輸入的檢索開始日不在適用日期范圍內(nèi)則報錯誤信息 if (outst.getusedateedt().compareto( basecheck.convertdatetoyyyymmdd(form.getusedatesdt() = 0) messlist.setmessage(usedatesdt, null, 1000470, integer.min_value, 適用開始日); form.seterrorcode(bussinesserror); form.seterrormes
36、slist(messlist); return; 4.5.3 名稱模塊 更新時,當畫面上的名稱 code 不和檢索的 code 一樣時報指定位 置他端末設定可能性。 的錯誤信息 if (!(out.getappellationcode().equals(form.getappellationcode() string formatcode=basecheck.getinputcheckformat(mt0100_buttonposition).split(, ); messlist.setmessage(buttonposition,form.getbuttonposition().tostr
37、ing(), 1000920,integer.min_value,null,formatcode23);/ 指定位置 他端末設定可能性。 4.6 開發(fā)環(huán)境的設定 tomcat 的設定: 圖 4.13 tomcat 的設定 圖 4.14 tomcat 的設定 圖 4.15 tomcat 的設定 圖 4.16 tomcat 的設定 圖 4.17 tomcat 的設定 圖 4.18 tomcat 的設定 webshop 的部署 圖 4.19 webshop 的部署 選中 tomcat manager 圖 4.20 webshop 的部署 圖 4.21 webshop 的部署 5 系統(tǒng)的實現(xiàn) 5.1
38、商品模塊的實現(xiàn) 該模塊實現(xiàn)了對商品信息的增刪改查業(yè)務,在追加、更新的場合下按下追加修 正按鈕首先進行畫面輸入項目的檢查,位數(shù)不滿的填零補足;在進行部門 code 的檢 查時,當輸入的值是數(shù)據(jù)庫中沒有的值時報錯誤信息。當所有檢查都通過時進行追 加操作。 對部門的檢索 check 代碼如下: public void bblk006(mt0050frm form) throws exception logmethodstartinfo(form, bblk006); try if (!basecheck.isempty(form.getbranchcode1() tmbmn_st st = new
39、tmbmn_st(); st.setbranchcode1(form.getbranchcode1(); st.setbranchcode2(form.getbranchcode2(); st.setbranchcode3(form.getbranchcode3(); returnvalue retvalue = db.seletbypk(st); if (retvalue.iserror() form.seterrorcode(retvalue.geterrorcode(); form.seterrormessage(retvalue.geterrormessage(); form.setm
40、ode(search); return; else if (retvalue.gethitcount() 0) tmbmn_st out = (tmbmn_st) retvalue.getdatavalue(); form.setlbljanname(out.getbranchname(); return; else form.setlbljanname(); else form.setlbljanname(); finally logmethodendinfo(form, bblk006); 在削除時按下削除按鈕將數(shù)據(jù)從數(shù)據(jù)庫中削除。 圖 5.1 數(shù)據(jù)流 er 圖 5.2 單價模塊的實現(xiàn) 該
41、模塊實現(xiàn)了對單價信息的增刪改查操作。按下 menu 的単価臺帳保守后,畫面 顯示檢索條件畫面。當檢索出數(shù)據(jù)后才可進行追加更新刪除的操作。在更新修正的 場合下,畫面進行入力項目的檢查,適用期間的檢查,消費稅區(qū)分檢查,當都通過 時才進行更新操作。在追加的場合要進行適用開始日的檢查。削除時按下削除按鈕, 從數(shù)據(jù)庫中吧數(shù)據(jù)刪除。當檢索時不輸入時間界面如下: 圖 5.2 空時間圖 圖 5.3 檢索時輸入錯誤時間的界面 部分代碼如下: retvalue = dbb.selectbypkusedateedt(stb); if (retvalue.iserror() / 場合 form.seterrorcod
42、e(retvalue.geterrorcode(); form.seterrormessage(retvalue.geterrormessage(); form.setmode(search); return; 5.3 名稱模塊的實現(xiàn) 該模塊實現(xiàn)對名稱信息的增刪改查操作。按下檢索按鈕后把相應數(shù)據(jù)顯示出來。 在追加和更新的場合下都要進行位置的檢查。 結(jié)論 通過本次網(wǎng)上商店系統(tǒng)的設計和論文的撰寫對自身有了很大的提高,在兩個多 月的畢業(yè)設計里,從課題的接觸,到熟悉開發(fā)本系統(tǒng)的語言環(huán)境、開發(fā)工具,選定 設計方案,再到設計、開發(fā)來實現(xiàn)本系統(tǒng)的主要功能,可真是受益匪淺。系統(tǒng)中所 運用到的這些知識是我在平時
43、課堂學習中所學不到的。感謝學院老師給了我一個動 手實踐的機會,同時在指導老師的耐心指導之下,使自己能夠把所學到的理論知識 與實踐結(jié)合起來。在設計中,發(fā)現(xiàn)了自己的很多不足,在指導老師的幫助下,我能 夠認清自己的不足,并很好的解決這些問題。 設計過程中出現(xiàn)的問題及解決辦法: (1)系統(tǒng)中 date 控件的使用:系統(tǒng)中的 date 控件位于 jsp/js/popcalendar.js 中。這 個控件用于顯示日期的選擇控件,同時將用戶選擇的日期按指定格式寫入輸入框中, 用戶也需要指定某個控件來作為日期選擇控件的基準點。使用方法是在 javascript 代 碼中調(diào)用 popupcalendar 函數(shù),
44、此函數(shù)參數(shù)列表為:ctl, ctl2, format, top, left,其中 ctl 是日期選擇控件的基準點,ctl2 是輸入框控件,format 指定日期輸入格式(如 yyyy/mm/dd) ,top 和 left 指定了顯示日期選擇控件時的偏移。一般在系統(tǒng)中都是選 擇在 click 事件中調(diào)用的:onclick=popupcalendar(this, dealdate, dateformat,-1,-1), 這里 dateformat 在系統(tǒng)的 common.jsp 中定義,值為 yyyy/mm/dd。此控件在使用前 需要在頁面中包含 popcalendar.js: (2)bigdec
45、imal 類型轉(zhuǎn)換異常,在利用 struts 框架來作為表示層的架構(gòu)時,用 formbean 來實現(xiàn)從頁面到業(yè)務的數(shù)據(jù)交換,如果 formbean 中有涉及到金額的算法時 要用 bigdecimal 來代替 float,因為 float 的精度是有問題的。 如果簡單的用 bigdecimal 代替 float 來聲明變量,在編譯階段完全沒有問題,但在運行階段會出現(xiàn) 問題。系統(tǒng)會拋出一個 mons.beanutil.conversionexception 異常。 在 bigdecimalconversion.java 的 convert()的方法中,對于頁面為空值的傳入,即 value=,其將跳
46、過之前的判斷直接運行:return (new bigdecimal (value.tostring(); 但是 bigdecimal 實例化時無法實例化 new bigdecimal()因此拋出了異常。 參 考 文 獻 1 鄭阿奇,劉啟芬,顧韻華. sql server 實用教程【m】. 北京: 電子工業(yè)出版社,2005:55-85 2 李剛. 輕量級 javaee 企業(yè)應用實戰(zhàn)(第 3 版).電子工業(yè)出版社,2009:384-457 3 何興昌. java 技術(shù)發(fā)展與應用研究【j】. 硅谷,2009(2):128-129 4 張欣曼.精通 jsp-web 開發(fā)技術(shù)與典型應用【m】. 北京:人
47、民郵電出版社,2007:516-564 5 newman w m, sbroull r f. principles of interactive computer graphicsm. new york: mcgraw hill, 1979.10:10-25 6 mastri a r. neuropathy of diabetic neurogenic bladderj. ann intern med, 1980, 92(2):316-318 致 謝 在整個設計過程中很多人給了我很大的幫助和支持,在此特別感謝王海燕老師對 我本次設計的悉心指導;感謝許多朋友和同學在數(shù)據(jù)庫連接,服務器配置以及編碼
48、 給我的幫助和支持。 附錄 a 商品模塊邏輯代碼: package jp.co.sirius1.webshop.logic; import java.util.arraylist; import jp.co.sirius1.webshop.action.mt0050frm; import jp.co.sirius1.webshop.bean.tmbmn_st; import jp.co.sirius1.webshop.bean.tmhin_st; import jp.co.sirius1.webshop.bean.tmkbn_st; import jp.co.sirius1.webshop.b
49、ean.tmstr_st; import mon.basecheck; import mon.baseconnection; import mon.baselogic; import mon.messagelist; import mon.returnvalue; import jp.co.sirius1.webshop.db.tmbmnd; import jp.co.sirius1.webshop.db.tmhind; import jp.co.sirius1.webshop.db.tmkbnd; import jp.co.sirius1.webshop.db.tmstrd; import
50、org.apache.struts.util.labelvaluebean; /* * * * * copyright: sirius1 copyright (c) * author : ccst(gxk) (method:getcombo) * author : ccst(gxk) (method:checkheader) * author : ccst(gxk) (method:bblk) * author : ccst(gxk) (method:checkbody) * author : ccst(gxk) (method:add) * author : ccst(gxk) (metho
51、d:delete) * date : * version : 1.0 */ public class mt0050lgc extends baselogic private static final string progid = mt0050; public mt0050lgc(baseconnection conn) super.init(conn); /* * c値取得 * * param form * link jp.co.sirius1.webshop.action.mt0050frm * exception exception * exception for information
52、 of other errors * */ public void getcombo(mt0050frm form) throws exception logmethodstartinfo(form, getcombo); arraylist labellist = new arraylist(); tmkbnd db = new tmkbnd(conn); tmkbn_st st = new tmkbn_st(); st.setclassid(price_upd_flg); returnvalue retvalue = db.selectbyclassid(st); if (retvalue
53、.iserror() / 場合 form.seterrorcode(retvalue.geterrorcode(); form.seterrormessage(retvalue.geterrormessage(); return; else labellist = (arraylist) retvalue.getdatavalue(); form.setpriceclslabellist(labellist); logmethodendinfo(form, getcombo); /* * 店舗臺帳 head 部畫面入力項目取得 * * * param form * link jp.co.sir
54、ius1.webshop.action.mt0050frm * exception exception * exception for information of other errors * since 2005/05/31 */ public void checkheader(mt0050frm form) throws exception logmethodstartinfo(form, checkheader); try / 一、畫面入力項目 / string code = form.getarticlecode(); / string name = articlecode ; /
55、int line = integer.min_value ; / messagelist messlist = basecheck.inputcheck(code, name, / line,progid); / if (messlist.size() 0) / form.setlbljanname(); / form.seterrormesslist(messlist); / form.seterrorcode(bussinesserror); / return; / / 二、関連 / 三、検索 tmhind db = new tmhind(conn); tmhin_st st = new
56、tmhin_st(); st.setarticlecode(form.getarticlecode(); returnvalue retvalue = db.seletbypk(st); if (retvalue.iserror() / 場合 form.seterrorcode(retvalue.geterrorcode(); form.seterrormessage(retvalue.geterrormessage(); form.setmode(search); return; else if (retvalue.gethitcount() 0) tmhin_st out = (tmhin
57、_st) retvalue.getdatavalue(); form.setarticlename(out.getarticlename(); form.setarticlekana(out.getarticlekana(); form.setbranchcode1(out.getbranchcode1(); form.setbranchcode2(out.getbranchcode2(); form.setbranchcode3(out.getbranchcode3(); form.setpriceupdflg(out.getpriceupdflg(); form.setexclusivek
58、ey(string.valueof(out.getexclusivekey(); / exclusive_key / / 排他 form.setdeletecls(out.getdeletecls(); form.setmode(update); return; else form.setarticlename(); form.setarticlekana(); form.setbranchcode1(); form.setbranchcode2(); form.setbranchcode3(); form.setpriceupdflg(); form.setexclusivekey(); /
59、 exclusive_key 排他 form.setmode(add); finally logmethodendinfo(form, checkheader); /* * 店舗臺帳 bblk 項目取得 * * * param form * link jp.co.sirius1.webshop.action.mt0050frm * exception exception * exception for information of other errors * since 2005/05/31 */ public void bblk(mt0050frm form) throws excepti
60、on logmethodstartinfo(form, bblk); try / bblk 検索 if (!basecheck.isempty(form.getarticlecode() tmhind db = new tmhind(conn); tmhin_st st = new tmhin_st(); st.setarticlecode(form.getarticlecode(); st.setjancode(form.getjancode(); returnvalue retvalue = db.seletbypk(st); if (retvalue.iserror() form.set
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育培訓機構(gòu)資金投資保障措施
- 煤礦安全生產(chǎn)規(guī)章制度有哪些
- 初中一年級上學期班主任工作計劃
- 安全環(huán)保規(guī)章制度包括
- 國慶施工防墜落安全保障措施實施他
- 快樂折紙園藝術(shù)啟蒙計劃
- 初一語文挖空題目及答案
- 六年級綜合實踐活動教學方案計劃
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游融合發(fā)展模式創(chuàng)新研究2025版報告
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游融合發(fā)展規(guī)劃報告-2025年人才隊伍建設分析
- CFG樁施工技術(shù)培訓課件(-40張)
- 加藥設備安裝 檢驗批施工質(zhì)量驗收表
- 崗位技能評定機考考場規(guī)則
- 盡職調(diào)查所用相關(guān)表格(全)
- 三基-學校兒童少年衛(wèi)生學(200題)練習
- 老年康養(yǎng)服務中心項目可行性研究報告寫作參考范文
- 生物質(zhì)中纖維素、半纖維素和木質(zhì)素含量的測定
- 枸杞采摘合同
- 渦流探傷儀設計方案
- 張家界船舶工業(yè)項目建議書【模板范本】
- 來料檢驗報告模板
評論
0/150
提交評論