畢業(yè)設(shè)計(jì)(論文)基于JAVA的藥品管理系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的藥品管理系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的藥品管理系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的藥品管理系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于JAVA的藥品管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、0 摘摘 要要 藥品管理系統(tǒng)是現(xiàn)代化在線醫(yī)藥管理必不可少的基礎(chǔ)設(shè)施與技術(shù)支撐環(huán)境。本系統(tǒng) 前臺(tái)采用 myeclipse 開(kāi)發(fā),后臺(tái)采用 mysql 作為數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,這些技術(shù)目前相對(duì)比 較成熟,方便產(chǎn)品的維護(hù)。本系統(tǒng)可以實(shí)現(xiàn)用戶(hù)在線注冊(cè)、登錄、修改密碼,用戶(hù)進(jìn)行 藥品添加和管理、供應(yīng)商的添加和管理,還可查詢(xún)供應(yīng)商提供的藥品清單。 jsp(java server pages)是由 sun micrososystems 公司倡導(dǎo)的、許多公司參與的 一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),jsp 技術(shù)是在 servlet 技術(shù)基礎(chǔ)上發(fā)展起來(lái)的,它在 飛速發(fā)展過(guò)程中,現(xiàn)在已經(jīng)成為 java 服務(wù)器編程的重要

2、組成部分。雖然它未成型,但是 它必然將和 j2ee 一起發(fā)展。 mysql 是一種高效的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它與 windows nt/2000 及 windows 9x 等操作 系統(tǒng)緊密集成。這種安排使 mysql 能充分利用操作系統(tǒng)所提供的特性。對(duì)于今天復(fù)雜的 客戶(hù)/服務(wù)器系統(tǒng)來(lái)說(shuō),mysql 是一個(gè)很好的選擇。 關(guān)鍵字關(guān)鍵字:藥品管理系統(tǒng);java;mysql; 1 abstract the medical administrative system is the modernized online medicine management system, which is the essen

3、tial infrastructure and technological back-up environment. this systematic front desk adopts dreamweaver development, and the backstage supporter adopts mysql as the database developing instrument. these technologies are relative mature at present, facilitate the maintenance of the products. this sy

4、stem can realize users online registration , log-in , revision of personal information , selection and order of medicines, examination of the detailed information of medicines , submittal of the order information, maintenance and management of medicines, classification of the medicines ,users inform

5、ation and order information online. jsp (java server pages ) is advocated by sun micrososystems company, a kind of dynamic webpage technical standard of setting-up together which a lot of companies participate in. jsp technology is developed on servlet technological foundation. in the course of deve

6、loping at full speed, it have already become the important component of server programming of java now. though it doest shape, it must develop with j2ee. mysql is an efficient relation database system. it is close integrated with windows 2000/nt and windows 9x os. mysql can utilize fully the charact

7、eristics provided by os .mysql is a good choice for the complicated cilent/server systems nowaday. key word: medical administrative system;jsp;mysql 2 目目 錄錄 摘 要.1 abstract.2 目 錄.3 第 1 章 開(kāi)發(fā)的目的和意義.4 第 2 章 需求分析.4 2.1 系統(tǒng)工作流程分析 .4 2.2 系統(tǒng)實(shí)現(xiàn)目標(biāo) .4 第 3 章 總體設(shè)計(jì).5 3.1 系統(tǒng)設(shè)計(jì)的總體思想 .5 3.2 系統(tǒng)設(shè)計(jì)的體系和結(jié)構(gòu) .5 3.2.1 系統(tǒng)的設(shè)計(jì)體

8、系.5 3.2.2 系統(tǒng)的結(jié)構(gòu)架構(gòu).6 3.3 系統(tǒng)的功能和結(jié)構(gòu)框圖 .6 3.3.1 系統(tǒng)功能模塊.6 3.3.2 系統(tǒng)結(jié)構(gòu)框圖:.7 3.4 開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)工具 .7 第 4 章 開(kāi)發(fā)平臺(tái)和工具的簡(jiǎn)介.7 4.1 jsp 的簡(jiǎn)要說(shuō)明.7 4.2 mysql的簡(jiǎn)要說(shuō)明.8 4.3 系統(tǒng)配置過(guò)程 .8 4.4 配置關(guān)鍵性問(wèn)題的解決 .9 4.4.1 servlet 和 jsp 性能調(diào)整.10 4.4.2 mysql 與 jsp 網(wǎng)頁(yè)中文亂碼問(wèn)題 .10 第 5 章 系統(tǒng)的詳細(xì)設(shè)計(jì).10 5.1 數(shù)據(jù)庫(kù)的實(shí)現(xiàn) .11 5.1.1 數(shù)據(jù)庫(kù)關(guān)系模式的設(shè)計(jì).11 5.1.2 數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)(表結(jié)構(gòu))

9、.11 5.2 數(shù)據(jù)庫(kù)的連接 .12 5.3 功能模塊的詳細(xì)設(shè)計(jì).13 5.3.1 注冊(cè)功能模塊.13 5.3.2 登錄功能模塊.14 5.3.3 添加藥品功能模塊 .15 5.3.4 藥品管理功能模塊 .16 5.3.5 添加供應(yīng)商功能模塊 .17 5.3.6 供應(yīng)商管理功能模塊 .18 5.3.7 修改密碼功能模塊 .20 5.3.8 查詢(xún)供應(yīng)商提供的藥品功能模塊 .21 5.3.9 主界面 .23 第 6 章 總 結(jié).24 致 謝.25 參考文獻(xiàn).26 3 第第 1 1 章章 開(kāi)發(fā)的目的和意義開(kāi)發(fā)的目的和意義 開(kāi)發(fā)軟件的一個(gè)目的是針對(duì)目前普遍的藥品管理系統(tǒng)存在的功能不全,操 作復(fù)雜,系統(tǒng)

10、要求高等一系列問(wèn)題。該管理系統(tǒng)采用電子商務(wù)設(shè)計(jì)模式,可靠, 方便,并且功能齊全。當(dāng)然對(duì)該軟件的態(tài)度是渴望獲得顯著的社會(huì)效益。 開(kāi)發(fā)軟件的另一個(gè)目的是使其具有強(qiáng)大的實(shí)用價(jià)值,即它可以滿(mǎn)足中小型醫(yī)藥 公司的管理需要。隨著小型醫(yī)藥企業(yè)規(guī)模的擴(kuò)大,手工工作已經(jīng)不能滿(mǎn)足業(yè)務(wù) 上的需求。而該藥品管理系統(tǒng)的實(shí)施,能集中處理藥品的進(jìn)銷(xiāo)存業(yè)務(wù),管理好 企業(yè)的應(yīng)收應(yīng)付賬目,為企業(yè)的調(diào)整發(fā)展創(chuàng)造一個(gè)新的條件。 隨著我國(guó)市場(chǎng)經(jīng)濟(jì)的蓬勃發(fā)展和人們對(duì)醫(yī)藥產(chǎn)品需求的迅速增加,醫(yī)藥行業(yè)正 處于一個(gè)高速發(fā)展的時(shí)期。行業(yè)的快速發(fā)展必然導(dǎo)致競(jìng)爭(zhēng)的加劇,要想在激烈 的市場(chǎng)競(jìng)爭(zhēng)中謀求發(fā)展,客觀上要求企業(yè)必須加強(qiáng)內(nèi)部管理,提高運(yùn)營(yíng)效率。

11、 另外,由于醫(yī)藥產(chǎn)品種類(lèi)繁多、銷(xiāo)售模式特殊、業(yè)務(wù)最大,單憑手工記帳已很 難適應(yīng)工作的需要。醫(yī)藥作為一個(gè)關(guān)系到人們健康的特殊行業(yè),國(guó)家對(duì)此又有 一些不同于其他行業(yè)的管理政策,這些都加大了管理的難度。 如何盡快建立和完善現(xiàn)代企業(yè)的信息化管理機(jī)制問(wèn)題,已成為醫(yī)藥企業(yè)發(fā)展的 關(guān)鍵所在。而方便、安全、快捷的醫(yī)藥管理軟件系統(tǒng)正是在這樣的背景下發(fā)展 起來(lái)的。 這種管理軟件對(duì)硬件的要求很低,一般有一個(gè)比較簡(jiǎn)單的服務(wù)器與 pc 機(jī) 組成的網(wǎng)絡(luò)即可,再加上使用比較廉價(jià)、性能不錯(cuò)的軟件,這樣就可以以較低 的成本來(lái)實(shí)現(xiàn)一個(gè)足夠使用的功能,而這種模式也正滿(mǎn)足了那種中小型醫(yī)藥公 司的要求。但是目前對(duì)這種管理軟件的開(kāi)發(fā)還處

12、于一種比較原始的階段。開(kāi)發(fā) 者往往都是出于資金和時(shí)間的顧慮使用比較陳舊的技術(shù),而且各為己見(jiàn),并且 很少涉及網(wǎng)絡(luò)??墒钱?dāng)今是一個(gè)網(wǎng)絡(luò)化的社會(huì),單機(jī)版的管理軟件多如牛毛, 去開(kāi)發(fā)一個(gè)類(lèi)似的軟件無(wú)疑是一種在時(shí)間上、精神上和資源上的極大浪費(fèi)。所 以為這種有需要的中小型企業(yè)開(kāi)發(fā)一種基于網(wǎng)絡(luò)的醫(yī)藥管理軟件是非常有實(shí)用 價(jià)值的。 第第 2 2 章章 需求分析需求分析 2.12.1 系統(tǒng)工作流程分析系統(tǒng)工作流程分析 傳統(tǒng)的醫(yī)藥管理模式是手工記帳的,但由于目前醫(yī)藥產(chǎn)品種類(lèi)繁多、銷(xiāo)售 模式特殊、業(yè)務(wù)量大,單憑手工記帳已經(jīng)很難適應(yīng)工作的需要。根據(jù)目前醫(yī)藥 企業(yè)的實(shí)際需求,系統(tǒng)應(yīng)實(shí)現(xiàn)的具體功能如下: 首先是客戶(hù)界面,

13、客戶(hù)可以通過(guò)網(wǎng)絡(luò)進(jìn)行注冊(cè)認(rèn)證,然后可以通過(guò)身份登 錄后進(jìn)行藥品添加和管理,供應(yīng)商的添加和管理,查詢(xún)供應(yīng)商提供的藥品。 其次是管理界面,管理員登錄后可以對(duì)藥品信息進(jìn)行增加和刪除操作,可 以對(duì)供應(yīng)商信息進(jìn)行添加、刪除操作,可以對(duì)客戶(hù)信息進(jìn)行相關(guān)維護(hù)等等。 2.22.2 系統(tǒng)實(shí)現(xiàn)目標(biāo)系統(tǒng)實(shí)現(xiàn)目標(biāo) 4 (1) 系統(tǒng)界面友好,操作簡(jiǎn)單 (2) 可隨時(shí)掌握藥品的進(jìn)銷(xiāo)存信息 (3) 查詢(xún)靈活方便,數(shù)據(jù)安全可靠 (4) 從用戶(hù)需求到售后服務(wù),形成一套嚴(yán)密、科學(xué)、完善的管理體系 (5)功能全面,實(shí)用性強(qiáng) 第第 3 3 章章 總體設(shè)計(jì)總體設(shè)計(jì) 3.13.1 系統(tǒng)設(shè)計(jì)的總體思想系統(tǒng)設(shè)計(jì)的總體思想 頁(yè)面模塊化:頁(yè)面模

14、塊化: 把頁(yè)面中一些常用的部分集成為模塊,例如頁(yè)面的頭和尾部,這樣設(shè)計(jì)新 的頁(yè)面時(shí)如果重復(fù)出現(xiàn)的部分只需要拿現(xiàn)成的模塊來(lái)組裝就可以了。 數(shù)據(jù)存取技術(shù):數(shù)據(jù)存取技術(shù): 數(shù)據(jù)庫(kù)是管理信息系統(tǒng)的核心內(nèi)容。目前,web 與數(shù)據(jù)庫(kù)接口技術(shù)有很多, 其中 jdbc 是 java 程序連接和存取數(shù)據(jù)庫(kù)的應(yīng)用程序接口,由一組用 java 語(yǔ)言 編寫(xiě)的類(lèi)與接口組成,是執(zhí)行 sql 語(yǔ)句的 java api。在本管理信息系統(tǒng)中,采 用了 jsp/servlet+jdbc 的技術(shù),即客戶(hù)端不產(chǎn)生數(shù)據(jù)庫(kù)查詢(xún)命令,客戶(hù)端上的 瀏覽器通過(guò) url 和中間層的 web 服務(wù)器建立連接。web 服務(wù)器主要負(fù)責(zé)接收 本地或遠(yuǎn)程

15、瀏覽器的 http 數(shù)據(jù)請(qǐng)求,然后中間層的 servlet 收到請(qǐng)求后,通過(guò) 執(zhí)行程序中的 sql 語(yǔ)句,利用 jdbc 提供的標(biāo)準(zhǔn) api 對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)和相應(yīng) 的操作處理。servlet 再將查詢(xún)的數(shù)據(jù)傳給 jsp,最后生成標(biāo)準(zhǔn)的 jsp 頁(yè)面將結(jié) 果返回給提出請(qǐng)求的瀏覽器。這樣,不僅將客戶(hù)端與數(shù)據(jù)庫(kù)服務(wù)器端分開(kāi),同 時(shí)提高了數(shù)據(jù)庫(kù)的訪問(wèn)效率。 3.23.2 系統(tǒng)設(shè)計(jì)的體系和結(jié)構(gòu)系統(tǒng)設(shè)計(jì)的體系和結(jié)構(gòu) .1 系統(tǒng)的設(shè)計(jì)體系系統(tǒng)的設(shè)計(jì)體系 目前,在大多數(shù) browser/server 結(jié)構(gòu)的 web 應(yīng)用中,瀏覽器直接通過(guò) html 或者 jsp 的形式與用戶(hù)交互,響應(yīng)用戶(hù)的

16、請(qǐng)求。雖然很直觀,但是大多 數(shù)管理信息系統(tǒng)操作的數(shù)據(jù)量都是驚人的,隨著代碼的增多會(huì)使 jsp 頁(yè)面臃腫 不堪,web 服務(wù)器的負(fù)荷過(guò)重。因此,在中間層上采用基于模型視圖控制器 (mvc.model-view-controller)的設(shè)計(jì)模式。model 層用來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯, view 層用來(lái)顯示用戶(hù)界面,controller 層主要負(fù)責(zé) view 層和 model 層之間的控 制關(guān)系。具體實(shí)現(xiàn)時(shí),把 servlet 用作應(yīng)用程序的控制器,把 jsp 文檔作為視圖, javabeans 被用來(lái)表示模型。在這種設(shè)計(jì)模式下,各層次之間的數(shù)據(jù)傳遞如下圖: http 請(qǐng)求 獲取數(shù)據(jù) 轉(zhuǎn)交 請(qǐng)求 cont

17、roller (servlet) view (jsp) model (javabeans) database 5 文檔輸出 更新模型 圖 3-1: 各層次之間的數(shù)據(jù)傳遞示意圖 .2 系統(tǒng)的結(jié)構(gòu)架構(gòu)系統(tǒng)的結(jié)構(gòu)架構(gòu) 管理信息系統(tǒng)(mis)是一個(gè)由人、計(jì)算機(jī)等組成的能進(jìn)行信息的收集、 傳遞、存儲(chǔ)、加工和使用的系統(tǒng)。隨著科技的發(fā)展,信息的膨脹,企業(yè)信息化 成了企業(yè)在競(jìng)爭(zhēng)中處于不敗地位的有效手段之一。而 mis 不僅能夠及時(shí)全面地 提供信息和數(shù)據(jù),簡(jiǎn)化統(tǒng)計(jì)工作,對(duì)不同的管理層次提出不同的報(bào)告之外,還 能根據(jù)過(guò)去的數(shù)據(jù)預(yù)測(cè)未來(lái)的情況。因此,采用何種方法開(kāi)發(fā)出一種兼顧開(kāi)發(fā) 效率和運(yùn)行效率,同

18、時(shí)滿(mǎn)足分布式事件處理功能的管理信息系統(tǒng)就顯得尤為重要。 采用三層架構(gòu)設(shè)計(jì),它的工作原理如圖: 客戶(hù)機(jī) 瀏覽器 http 服 務(wù)器 應(yīng)用程序服務(wù)器 servlet 容器 數(shù)據(jù)庫(kù) jdbc servletjsp 圖 3-2: 采用三層架構(gòu)設(shè)計(jì)的工作原理示意圖 整個(gè)管理信息系統(tǒng)采用 browser/web/database 的三層體系結(jié)構(gòu)。web 服務(wù) 器接受請(qǐng)求,通過(guò)應(yīng)用程序服務(wù)器執(zhí)行一個(gè) java 服務(wù)器端小程序 servlet 并返 回其輸出,從而實(shí)現(xiàn)與客戶(hù)機(jī)進(jìn)行信息資源的交互。數(shù)據(jù)庫(kù)服務(wù)器用來(lái)存儲(chǔ)管 理信息系統(tǒng)中所用到的各種數(shù)據(jù),數(shù)據(jù)由數(shù)據(jù)庫(kù)管理程序直接錄入。系統(tǒng)的客 戶(hù)端只需要一個(gè)瀏覽器即

19、可。相關(guān)人員通過(guò)瀏覽器來(lái)查詢(xún)、增加、修改、刪除 數(shù)據(jù),對(duì)信息進(jìn)行管理。 3.33.3 系統(tǒng)的功能和結(jié)構(gòu)框圖系統(tǒng)的功能和結(jié)構(gòu)框圖 .1 系統(tǒng)功能模塊系統(tǒng)功能模塊 客戶(hù)端:客戶(hù)端: 用戶(hù)注冊(cè)、登錄 修改密碼 管理端:管理端: 6 藥品管理:新增、修改、刪除、查看 供應(yīng)商管理:新增、查看、修改、刪除 查詢(xún)供應(yīng)商提供的藥品 7 .2 系統(tǒng)結(jié)構(gòu)框圖:系統(tǒng)結(jié)構(gòu)框圖: 圖 3-3: 全局結(jié)構(gòu)示意圖 3.43.4 開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)工具開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)工具 由于采用 jsp 架構(gòu),系統(tǒng)的功能加強(qiáng),但其開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)工具的選擇也 是非常復(fù)雜。如上所述,系統(tǒng)結(jié)構(gòu)采用 jsp/servle

20、t + javabeans + mysql;具體開(kāi) 發(fā)工具:前臺(tái)頁(yè)面使用 myeclipse 開(kāi)發(fā),這種工具對(duì) jsp 的支持比 frontpage 好; 對(duì)于組件 bean 的編寫(xiě)和編譯用 jcreator,方便的提示符和小巧的內(nèi)存占用是我 的首先;jsp 服務(wù)器選用 tomcat6.0,后臺(tái)數(shù)據(jù)庫(kù) mysql4.0,為了更好地操作數(shù) 據(jù)庫(kù),使用 ems sql manager 3.0 進(jìn)行 windows 圖形化界面的數(shù)據(jù)庫(kù)操作。 第第 4 4 章章 開(kāi)發(fā)平臺(tái)和工具的簡(jiǎn)介開(kāi)發(fā)平臺(tái)和工具的簡(jiǎn)介 4.14.1 jspjsp 的簡(jiǎn)要說(shuō)明的簡(jiǎn)要說(shuō)明 jsp 即 java server pages,

21、在電子商務(wù)開(kāi)發(fā)上,還可以選擇 asp 平臺(tái)。但比 較過(guò)兩者優(yōu)劣后才決定選擇 jsp。 jsp 和 asp 技術(shù)明顯的不同點(diǎn):開(kāi)發(fā)人員在對(duì)兩者各自軟件體系設(shè)計(jì)的深入了 解的方式不同。jsp 技術(shù)基于平臺(tái)和服務(wù)器的互相獨(dú)立,輸入支持來(lái)自廣泛的, 專(zhuān)門(mén)的,各種工具包,服務(wù)器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開(kāi)發(fā)商所提供。相比之下, asp 技術(shù)主要依賴(lài)微軟的技術(shù)支持。 jsp 技術(shù)依附于一次寫(xiě)入,之后,可以運(yùn)行在任何具有符合 javatm 語(yǔ)法結(jié) 構(gòu)的環(huán)境。取而代之過(guò)去依附于單一平臺(tái)或開(kāi)發(fā)商,jsp 技術(shù)能夠運(yùn)行在任何 藥品管理系統(tǒng) 客戶(hù)端管理端數(shù)據(jù)庫(kù) 用戶(hù)注冊(cè)登錄 修改密碼 查詢(xún)供應(yīng)商提供的藥品 供應(yīng)商管理 藥品

22、管理 8 web 服務(wù)器上并且支持來(lái)自多家開(kāi)發(fā)商提供的各種各樣工具包。 這種基于組件的模式很有效提高應(yīng)用程序的開(kāi)發(fā)效率,因?yàn)檫@種模式能夠 使開(kāi)發(fā)人員利用快捷的子組件快速創(chuàng)建模板應(yīng)用程序,然后再整合一些附加功 能以后便可使用。像這樣有效的方法在 jsp 中無(wú)處不在,并可將其打包成一個(gè) javabean 或一個(gè)工業(yè)標(biāo)準(zhǔn)化的 javabean 組件。 終上所述,jsp 繼承 java 一貫的跨平臺(tái)、易維護(hù)的特性,是我開(kāi)發(fā)的首 選。 4.24.2 mysqlmysql 的簡(jiǎn)要說(shuō)明的簡(jiǎn)要說(shuō)明 選擇一個(gè)好的數(shù)據(jù)庫(kù)是開(kāi)發(fā)一個(gè)系統(tǒng)的前提,當(dāng)然用 mysql 也是與其它數(shù) 據(jù)庫(kù)比較過(guò)的。下面列出 mysql 與

23、其它數(shù)據(jù)庫(kù)的全方位對(duì)比: 安全性:安全性: sql server 沒(méi)有獲得任何安全證書(shū)。 oracle server 獲得最高認(rèn)證級(jí)別的 iso 標(biāo)準(zhǔn)認(rèn)證。 db2 獲得最高認(rèn)證級(jí)別的 iso 標(biāo)準(zhǔn)認(rèn)證。 mysql 獲得最高認(rèn)證級(jí)別的 iso 標(biāo)準(zhǔn)認(rèn)證。 多線程:多線程: mysql 是完全多線程化的,每個(gè)連接有它自己的線程,這意味著沒(méi)有線程 必須等待另一個(gè)線程(除非一個(gè)線程正在修改一張表,另外的線程想要存取); 而在 sql server 中,一旦一個(gè)連接被建立了,所有其它線程必須等到第一個(gè)線 程完成,不管連接正在運(yùn)行的查詢(xún)是短的或是長(zhǎng)的。 聯(lián)結(jié):聯(lián)結(jié): 如果改變一個(gè) select 中的表

24、的順序,sql server 可能變得異常地慢。在 基準(zhǔn)套件中,比 mysql 要慢超過(guò) 15000 倍的時(shí)間。這是由于 sql server 缺乏 一個(gè)聯(lián)結(jié)優(yōu)化器以便用最佳的順序排定表。 perl 接口:接口: mysql 和 sql server 有基本相同 perl 接口,有一些增加的功能。 價(jià)格:價(jià)格: mysql 的免費(fèi)成為不可取代的優(yōu)勢(shì)。 終上所述,mysql 以其極高的性?xún)r(jià)比成為中小型數(shù)據(jù)建庫(kù)的首選,本系統(tǒng) 也選用 mysql。 4.34.3 系統(tǒng)配置過(guò)程系統(tǒng)配置過(guò)程 由于 jsp 架構(gòu)采用不同公司的軟件產(chǎn)品,所以配置的復(fù)雜性是肯定的。下 面列出其配置詳細(xì)過(guò)程: 所需軟件:所需軟

25、件: (1) j2sdk-1_4_2-windows-i586.exe (2) jakarta-tomcat-5.0.28.exe 9 (3) mysql-4.0.24-win.zip (mysql 有 5.0 的 bate 版,不過(guò)對(duì)其 nullpointexception 出錯(cuò)一直是不能被廣 泛接受的原因,在本系統(tǒng)下也只能用較為穩(wěn)定的 4.0 版本。) (4) myeclipse_6.5m1.exe (mysql 的驅(qū)動(dòng)程序,其中 connector 采用 mysql-connector-java-3.0.8-stable- bin.jar 可以正常運(yùn)行;而在后面一個(gè)較新的版本會(huì)出現(xiàn) st

26、ringoutofrange 錯(cuò)誤, 用最新的版本又會(huì)因?yàn)楸緮?shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)間格式已經(jīng)不支持而不能正常讀取, 所以版本的選擇是非常重要的。) 1、安裝安裝 j2sdk 在 windows 下,直接運(yùn)行下載的 j2sdk-1_4_1_01-windows-i586.exe 文件, 根據(jù)安裝向?qū)О惭b到一個(gè)目錄,例如安裝到 d:serverj2sdk。 1.配置環(huán)境變量: 添加 classpath 變量 ./;%classpath%;d:serverj2sdk1.4.0libdt.jar;d:serverj2sdk1.4.0libtools.j ar; 2.添加 java_home 變量,變量值為 d

27、:serverj2sdk1.4.0 3.在原來(lái)的 path 變量中,添加 d:serverj2sdk1.4.0bin,重新啟動(dòng) 2、tomcat 的安裝的安裝 jakarta-tomcat-5.0.28.exe 安裝文件,設(shè)安裝目錄為 d:servertomcat。 下面設(shè)置環(huán)境變量: 同 jdk 的環(huán)境變量,添加變量 tomcat_home,值為 d:servertomcat;增 加變量 catalina_home,值為 d:tomcatserver,在 path 變量中加入 d:servertomcatbin。 下面啟動(dòng) tomcat,運(yùn)行 tomcat 目錄下的 bin/startup.

28、bat 文件就出現(xiàn) tomcat 運(yùn) 行控制臺(tái),則 tomcat 安裝成功。 3、安裝安裝 mysql 第一步:解壓 mysql-4.0.24-win.zip,運(yùn)行 mysql 安裝文件,把 mysql 安裝到 d:servermysql 第二步:在環(huán)境變量 path 中加入 d:servermysqlbin 第三步:進(jìn)入 d:servermysqlbin 目錄,運(yùn)行 winmysqladmin,剛會(huì)出現(xiàn)對(duì) 話(huà)框,設(shè)置 mysql 用戶(hù)密碼。 第四步:進(jìn)入 dos,進(jìn)入 mysql/bin 下,運(yùn)行以下命令打開(kāi) mysql mysqld-nt standalone,則 mysql 開(kāi)啟 4、安

29、裝安裝 mysql 的驅(qū)動(dòng)類(lèi)的驅(qū)動(dòng)類(lèi) jdbc 解開(kāi) jdbc 驅(qū)動(dòng)包,把里面的 com 文件夾復(fù)制到 jsp 相應(yīng)的位置,可以是 tomcat 的根目錄 common/classes 文件夾下,也可以是 jsp 網(wǎng)站 class 類(lèi) web- inf/class/下。當(dāng)加載驅(qū)動(dòng)程序時(shí),以便能找到相關(guān)的類(lèi),或者把 jdbc 包的路徑 加入到 classpath 變量中。 4.44.4 配置關(guān)鍵性問(wèn)題的解決配置關(guān)鍵性問(wèn)題的解決 上述配置正確后,只是可以成功連接,但還有一些需要解決的問(wèn)題才能正 10 常運(yùn)行 jsp 程序。 .1 servletservlet 和和 jspjsp 性

30、能調(diào)整性能調(diào)整 1、調(diào)整方法 1:禁止 servlet 和 jsp 的自動(dòng)重載 為了節(jié)約開(kāi)發(fā)時(shí)間,在開(kāi)發(fā)階段 servlet/jsp 容器提供自動(dòng)重載功能,方便 在修改 servlet/jsp 后不用重新啟動(dòng)服務(wù)。可是,在生產(chǎn)環(huán)境下面,卻是占用大 量開(kāi)銷(xiāo),因?yàn)檫M(jìn)行了沒(méi)有必要的重新載入的操作,所以帶來(lái)了很懷的性能影響。 同時(shí),在部分類(lèi)載入,部分為載入的時(shí)候也可能帶來(lái)各種奇怪的沖突。因此在 j2ee 的生產(chǎn)環(huán)境下關(guān)閉自動(dòng)載入功能可以得到更好的性能。 2、調(diào)整方法 2:控制 httpsession 在默認(rèn)情況下,不要在 jsp 頁(yè)面中創(chuàng)建 httpsessions 對(duì)象,jsp 頁(yè)面默認(rèn)會(huì)自動(dòng) 創(chuàng)建

31、 httpsessions,如果 jsp 頁(yè)面中不需要 httpsessions,為了節(jié)省一些性能, 使用下面的頁(yè)面指令避免自動(dòng)創(chuàng)建 httpsessions 對(duì)象: 。 3、調(diào)整方法 3:選擇正確的包含機(jī)制 在 jsp 中有兩種方法使用包含文件:包含指令() 和包含動(dòng)作 ()。包含指令在轉(zhuǎn)換的過(guò) 程中包含文件內(nèi)容;也就是說(shuō),在一個(gè)頁(yè)面轉(zhuǎn)換成一個(gè) servlet 的時(shí)候。包含動(dòng) 作在請(qǐng)求處理的階段包含文件內(nèi)容;也就是說(shuō),在一個(gè)用戶(hù)請(qǐng)求頁(yè)面的時(shí)候。 包含指令快于包含動(dòng)作。因此,除非被包含的內(nèi)容經(jīng)常變化,應(yīng)該使用包含指 令提升性能。 4、調(diào)整方法 4:選擇正確的范圍在使用 usebean 動(dòng)作 j

32、sp 頁(yè)面的一個(gè)強(qiáng)大功能就是在 jsp 中交互使用 javabeans 組件。通過(guò)使用 動(dòng)作標(biāo)簽,javabeans 可以被直接的嵌入 jsp 頁(yè)面中。語(yǔ)法如下: 范圍屬性指定了 bean 的作用范圍。它的默認(rèn)值是 page??梢愿鶕?jù)系統(tǒng)要求 選擇正確的范圍。否則它會(huì)影響到應(yīng)用系統(tǒng)的性能。 .2 mysqlmysql 與與 jspjsp 網(wǎng)頁(yè)中文亂碼問(wèn)題網(wǎng)頁(yè)中文亂碼問(wèn)題 以 gbk 字符集建庫(kù)建表: 用 ems 來(lái)建 mysql 的數(shù)據(jù)庫(kù)及表,建庫(kù)時(shí),從 ems 菜單中選 create database.新建一個(gè)數(shù)據(jù)庫(kù),characterset 選 gbk_bin;后面建表時(shí),

33、也要選擇同 樣的字符集。 連接數(shù)據(jù)庫(kù)的 url 后加參數(shù): 假設(shè)新建的數(shù)據(jù)庫(kù)是 testdb,那么連接數(shù)據(jù)庫(kù)的 url 應(yīng)該為: jdbc:mysql:/localhost:3306/testdb?useunicode=true /*注釋 *數(shù)據(jù)庫(kù)連接專(zhuān)用包 *company: med shop online * by :zhourong * version 1.0 */ import java.sql.*; public class database public connection conn; public statement stmt; public resultset rs=null

34、; public string sqlstr=; public database() this.connect(); public boolean connect() try /注冊(cè)驅(qū)動(dòng)程序 class.forname(org.gjt.mm.mysql.driver).newinstance(); /連接字符串,有連接數(shù)據(jù)庫(kù)的 ip,用戶(hù)名,密碼以及編碼格式等 string url =jdbc:mysql://medstore?user=root 13 conn=drivermanager.getconnection(url); stmt = conn.createstate

35、ment (); catch(exception ee) system.out.println(connect db error:+ee.getmessage(); return false; return true; public static void main(string args) try database db = new database(); db.connect(); catch(exception e) e.printstacktrace(); 5.35.3 功能模塊的詳細(xì)設(shè)計(jì)功能模塊的詳細(xì)設(shè)計(jì) .1 注冊(cè)功能模塊注冊(cè)功能模塊 用于實(shí)現(xiàn)用戶(hù)注冊(cè)功能。 fun

36、ction sub() var u = validateuserinfo(); if(u = false) return false; document.forms0.submit(); 14 function validateuserinfo() var name = document.getelementbyid(name); if(name.value = ) alert(用戶(hù)帳號(hào)不能為空!); name.focus(); return false; var pwd1 = document.getelementbyid(pwd1); if(pwd1.value=) alert(輸入密碼不

37、能為空!) pwd1.focus(); return false; var pwd2 = document.getelementbyid(pwd2); if(pwd2.value=) alert(確認(rèn)密碼不能為空!) pwd2.focus(); return false; if(pwd1.value!=pwd2.value) alert(兩次密碼輸入不一致!); return false; .2 登錄功能模塊登錄功能模塊 15 function sub() var u = validateuserinfo(); if(u = false) return false; docum

38、ent.forms0.submit(); function validateuserinfo() var name = document.getelementbyid(name); if(name.value = ) alert(用戶(hù)帳號(hào)不能為空!); name.focus(); return false; var pwd = document.getelementbyid(pwd); if(pwd.value=) alert(輸入密碼不能為空!) pwd.focus(); return false; .3 添加藥品功能模塊添加藥品功能模塊 用于完成對(duì)藥品的添加。 16 fun

39、ction sub() var u = validate(); if(u = false) return false; document.forms0.submit(); function validate() var num = document.getelementbyid(num); if(num.value=) alert(藥品編號(hào)不能為空!) num.focus(); return false; var name = document.getelementbyid(name); if(name.value = ) alert(藥品名稱(chēng)不能為空!); name.focus(); ret

40、urn false; var price = document.getelementbyid(price); if(price.value=) alert(藥品價(jià)格不能為空!); price.focus(); return false; 17 .4 藥品管理功能模塊藥品管理功能模塊 用于實(shí)現(xiàn)對(duì)藥品的管理。 function sub() var u = validate(); if(u = false) return false; document.forms1.submit(); function validate() var num = document.getelement

41、byid(num); if(num.value=) alert(藥品編號(hào)不能為空!) num.focus(); return false; var name = document.getelementbyid(name); if(name.value = ) alert(藥品名稱(chēng)不能為空!); name.focus(); return false; var price = document.getelementbyid(price); 18 if(price.value=) alert(藥品價(jià)格不能為空!); price.focus(); return false; function sup(

42、) var content = document.getelementbyid(content); if(content.value=) alert(查詢(xún)內(nèi)容不能為空!); content.focus(); return false; document.forms0.submit(); .5 添加供應(yīng)商功能模塊添加供應(yīng)商功能模塊 用于實(shí)現(xiàn)對(duì)供應(yīng)商的添加。 function sub() var u = validate(); if(u = false) return false; document.forms0.submit(); 19 function validate() v

43、ar name = document.getelementbyid(name); if(name.value = ) alert(供應(yīng)商名稱(chēng)不能為空!); name.focus(); return false; var phone = document.getelementbyid(phone); if(phone.value=) alert(聯(lián)系電話(huà)不能為空!) phone.focus(); return false; .6 供應(yīng)商管理功能模塊供應(yīng)商管理功能模塊 用于實(shí)現(xiàn)對(duì)供應(yīng)商信息的管理。 function sub() var u = validate(); if(u =

44、false) return false; document.forms1.submit(); 20 function validate() var name = document.getelementbyid(name); if(name.value = ) alert(供應(yīng)商名稱(chēng)不能為空!); name.focus(); return false; var phone = document.getelementbyid(phone); if(phone.value=) alert(聯(lián)系電話(huà)不能為空!); phone.focus(); return false; function sup()

45、var content = document.getelementbyid(content); if(content.value=) alert(查詢(xún)內(nèi)容不能為空!); content.focus(); return false; document.forms0.submit(); .7 修改密碼功能模塊修改密碼功能模塊 用于實(shí)現(xiàn)用戶(hù)修改密碼。 21 function sub() var u = validate(); if(u = false) return false; document.forms0.submit(); function validate() var pw

46、d1 = document.getelementbyid(pwd1); if(pwd1.value=) alert(舊密碼不能為空!) pwd1.focus(); return false; var pwd2 = document.getelementbyid(pwd2); if(pwd2.value = ) alert(新密碼不能為空!); pwd2.focus(); return false; var pwd3 = document.getelementbyid(pwd3); if(pwd3.value=) alert(確認(rèn)密碼不能為空!); pwd3.focus(); return false; if(pwd2.value!=pwd3.value) alert(兩次密碼不一致!); pwd3.focus(); return false; .8 查詢(xún)供應(yīng)商提供的藥品功能模塊查詢(xún)供應(yīng)商提供的藥品功能模塊 用于實(shí)現(xiàn)用戶(hù)查詢(xún)供應(yīng)商提供的藥品情況。 22 - a text-decoration: none; 請(qǐng)從這里轉(zhuǎn)到主控 制界面 退出 提供藥品的供應(yīng)商 23 序號(hào) 藥品編號(hào) 藥品名稱(chēng) 藥品價(jià)格(單價(jià)) 供應(yīng)商 24 .9 主界面主界面 25 第第 6 6 章章 總總 結(jié)結(jié) 歷時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論