【文章內(nèi)容簡介】
務(wù)器在頁面被客戶端請求以后對這 些 Java 代碼進(jìn)行處理,然后將生成的 HTML 頁面返回給客戶端的瀏覽器。Java Servlet 是 JSP 的技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配合才能完成。JSP 具備了Java 技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。 自 JSP 推出后,眾多大公司都支持 JSP 技術(shù)的服務(wù)器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。、TomcatTomcat 服務(wù)器是一個免費的開放源代碼的 Web 應(yīng)用服務(wù)器,目前最新版本是 (截止到20220827)?! omcat 是 Apache 軟件基金會(Apache Software Foundation)的 Jakarta 項目中的一個核心項目,由 Apache、Sun 和其他一些公司及個人共同開發(fā)而成。由于有了 Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)范總是能在 Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的 Servlet 和JSP 規(guī)范。因為 Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費,因而深受 Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的 Web 應(yīng)用服務(wù)器。 Tomcat 很受廣大程序員的喜歡,因為它運(yùn)行時占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能?! omcat 是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試 JSP 程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對 HTML 頁面的訪問請求。實際上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展,但它是獨立運(yùn)行的,所以當(dāng)你運(yùn)行 tomcat 時,它實際上作為一個與 Apache 獨立的進(jìn)程單獨運(yùn)行的。 這里的訣竅是,當(dāng)配置正確時,Apache 為 HTML 頁面服務(wù),而 Tomcat 實際上運(yùn)行 JSP 頁面和Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服務(wù)器一樣,具有處理 HTML 頁面的功能,另外它還是一個 Servlet 和 JSP 容器,獨立的 Servlet 容器是 Tomcat 的默認(rèn)模式。不過,Tomcat 處理靜態(tài) HTML 的能力不如 Apache 服務(wù)器。、可行性分析、 市場分析隨著商場經(jīng)濟(jì)的快速發(fā)展,對市場信息的把握以及快速的、精確的處理各種事務(wù)的能力就越來越顯得重要,就要這種形勢下,商場商品銷售管理系統(tǒng)就運(yùn)行而生,市場前景很好。、 政策分析5 / 36我們做的這個系統(tǒng)是用于畢業(yè)設(shè)計,沒有觸及法律法規(guī),因此,政策上是一定可行的。相應(yīng)還有指導(dǎo)老師的幫助。、 競爭實力分析對于用于畢業(yè)設(shè)計而言,并不存在競爭現(xiàn)象。、技術(shù)可行性分析所有需要用到的技術(shù)都是 J2EE 方向的常用技術(shù),對于我們而言,大多數(shù)技術(shù)都已學(xué)過,因此,在技術(shù)方面我們沒有多大障礙,這是可行的。、 時間和資源可行性分析我們畢業(yè)設(shè)計共有半個學(xué)期的時間,從本系統(tǒng)的需求分析、概要設(shè)計、編碼和測試都有充足的時間,這也是有由進(jìn)度表所表現(xiàn)出來的。對于我們的設(shè)計,不管是硬件還是軟件資源除了一臺電腦外,其它都是一些網(wǎng)上可下載的免費軟件。因此這一點上也是可行的。、 知識產(chǎn)權(quán)分析本系統(tǒng)現(xiàn)定于只用于畢業(yè)設(shè)計用,不用于商業(yè)動作,而且完全是自己所創(chuàng)造,所以不存在知識產(chǎn)權(quán)問題。、理解需求本系統(tǒng)是面向超市內(nèi)部工作人員的,管理整個超市商品的進(jìn)口與銷售信息進(jìn)行監(jiān)控,能夠方便地得出某個季度的商品銷售情況,反應(yīng)市場動態(tài)。本系統(tǒng)能夠節(jié)約大量人力、物力資源,能夠及時反應(yīng)市場需求動態(tài),也就使超市老板能夠更快速把握市場,獲得盡可能多的收益。超級管理員(經(jīng)理)對一般管理員(收銀員)進(jìn)行添加、刪除及基本信息的修改,也就是說,超級管理員有一般管理員的功能外還有對一般管理員進(jìn)行管理的功能。當(dāng)超市進(jìn)了一批貨物后,由一般管理員對貨物進(jìn)行往系統(tǒng)里錄入這批貨物的一些相關(guān)信息。當(dāng)顧客購買一些商品,由一般管理員進(jìn)行修改系統(tǒng)的商品銷售信息,一般管理員就負(fù)責(zé)商品信息的錄入與維護(hù)。當(dāng)一定時間過去了,超級管理員會對這段時間內(nèi)商品的銷售情況進(jìn)行一個歸總,也就生成報表反應(yīng)銷售、利潤等,根據(jù)這個結(jié)果制定下一步計劃。、系統(tǒng)總體設(shè)計總體設(shè)計是對整個項目的總體概述,這里的總體設(shè)計主要是從項目實際需求和實體 ER 圖入手。、項目需求需求號 需求名1 超級管理員修改自己的密碼及添加一般管理員2 一般管理員登錄,修改自己的信息3 商品類型管理,商品類型的新增,刪除和修改4 商品管理:商品的新增,刪除和修改5 供應(yīng)商管理:供應(yīng)商的新增,刪除和修改6 進(jìn)貨的管理:對所進(jìn)的貨物進(jìn)行添加及各種類型數(shù)據(jù)的修改7 銷售的管理:對所出售的貨物進(jìn)行添加及各種類型數(shù)據(jù)的修改8 查看商品、會員、供應(yīng)商、進(jìn)貨及銷售的詳細(xì)情況6 / 369 對一定時間期內(nèi)的進(jìn)貨及銷售情況進(jìn)行總合,算出在這期間的利潤等數(shù)據(jù)(相當(dāng)于報表)、系統(tǒng)實體 ER 圖系統(tǒng)實體 ER 圖是對整個系統(tǒng)中的實體以及實體之間的關(guān)系進(jìn)行說明,根據(jù)上面的需求分析,本系統(tǒng)中有 7 個實體,分別是:provide(商品供應(yīng)商), goods(商品), type(商品類型), admin(管理員), user(會員), sell(銷售明細(xì)), stock(進(jìn)化明細(xì))。 以下是本系統(tǒng)的實體 ER 圖:g o o d su s e r s e l lp r o v i d e t y p e [ n : 1 ] [ 1 : n ] [ n : 1 ]a d m i ns t o c k p r o v i d e [ 1 : n ]、模塊初步分析根據(jù)項目的需求,把本系統(tǒng)畫分成以下五個模塊:? 商品信息管理模塊? 客戶信息管理模塊? 商品進(jìn)貨管理模塊? 商品銷售管理模塊? 數(shù)據(jù)分析模塊、商品信息管理模塊商品信息管理模塊主要是對商場中的商品的增加、刪除、修改、查詢等功能的管理,負(fù)責(zé)商品的日常的進(jìn)銷存。、客戶信息管理模塊客戶信息管理模塊也就是對商場會員的管理和維護(hù),增加、刪除、修改、查詢等功能。、商品進(jìn)貨管理模塊商品進(jìn)貨管理模塊是對商場進(jìn)貨信息的管理和維護(hù),主要是增加、刪除、修改、查詢等功能 。、商品銷售管理模塊管理模塊是對商場商品銷售的管理和維護(hù),主要是增加、刪除、修改、查詢等功能。、數(shù)據(jù)分析模塊數(shù)據(jù)分析模塊是對商場的商品、會員、供應(yīng)商等的信息集中進(jìn)行分析,得出一些有用的數(shù)據(jù)的功能。、業(yè)務(wù)流程圖這個系統(tǒng)業(yè)務(wù)流程圖是對商場的業(yè)務(wù)流程作一個整體的描述。7 / 36一般管理員進(jìn)貨信息是否是新商品否更新商品信息是否是新商品類型是添加新商品類型信息是否是新供應(yīng)商是添加新供應(yīng)商信息添加進(jìn)貨信息銷售信息錄入進(jìn)貨信息錄入銷售信息更新商品信息更新商品銷售信息會員信息錄入會員信息添加新會員信息是否是新會員是超級管理員管理員信息錄入管理員信息添加管理員信息商品類型信息錄入商品類型信息添加新商品信息是查詢信息錄入查詢條件信息執(zhí)行查詢D B、數(shù)據(jù)庫設(shè)計根據(jù)系統(tǒng)實體 ER 圖設(shè)計,本系統(tǒng)主要用到 7 張表:管理員表:admin,用戶信息表 user, 商品表 goods, 商品類別表 type, 供應(yīng)商表 provide,進(jìn)貨明細(xì)表 stock,銷售明細(xì)表 sell。、數(shù)據(jù)庫表結(jié)構(gòu)admin(管理員表)字段名 類型 長度 允許為空 備注admin_id int 10 no 管理員編號,主鍵(自增)admin_name String 50 no 管理員姓名admin_password string 50 no 管理員密碼(MD5 加密)admin_flag boolean 1 no 標(biāo)示管理員級別(true 為超級管理員,false 為一般管理員)8 / 36user(用戶表)字段名 類型 長度 允許為空 備注user_id string 20 no 用戶編號,主鍵user_name String 50 no 用戶名user_ string 50 no E_mailuser_tel string 50 no 電話user_address string 50 no 地址user_regTime date no 注冊時間user_postcode string 50 no 郵政編碼goods(商品表)字段名 類型 長度 允許為空 備注goods_id string 20 no 商品編號,主鍵type_id string 20 no 類型編號(對應(yīng) PK:type 表的type_id)goods_name string 50 no 商品名goods_price double 10 no 價格goods_discount double 10 no 折扣goods_amount int 10 no 總數(shù)量goods_date date no 最近上架時間goods_remain int 10 no 剩余數(shù)量goods_nominate boolean no 是否推薦商品(默認(rèn)不是)goods_picture string 50 no 圖片(只存圖片 URL,默認(rèn)為image/)goods_desc string(text)yes 對商品的描述信息goods_typeName string 50 no 商品類型名type(商品類型表)字段名 類型 長度 允許為空 備注type_id string 20 no 類型編號,主鍵type_name string 50 no 類型名type_highLevelId int 10 Yes 上級類型編號(對應(yīng) PK:type 表的type_id)說明:本系統(tǒng)對商品類型最多分為兩級,最高級的 type_highLevelId 屬性為空,比如“衣服”這一種類型就沒有上一級provide(供應(yīng)商表)9 / 36字段名 類型 長度 允許為空 備注provide_id string 20 no 供應(yīng)商編號,主鍵provide _name String 50 no 供應(yīng)商名provide _ string 50 no E_mailprovide _tel string 50 no 電話provide _addressstring 50 no 地址provide _postcodestring 50 no 郵政編碼provide _desc string 50 no 對供應(yīng)商的描述stock(進(jìn)貨明細(xì)表)字段名 類型 長度 允許為空 備注id String 20 no 主鍵stock_id string 20 no 進(jìn)貨編號(以當(dāng)天時間+000001,依次自增,如:20220808000003 就是北京奧運(yùn)會那天的第三張定單)goods_id string 20 no 品編號(對應(yīng) FK:goods 表的 goods_id)provide_id string 20 no 供應(yīng)編號(對應(yīng) FK:provide 表的provide_id)stock_price double 10 no 進(jìn)貨價格stock_amount int 10 no 進(jìn)貨的數(shù)量stock_time Date no 進(jìn)貨時間sell(銷售明細(xì)表)字段名 類型 長度 允許為空 備注id string 20 no 主鍵sell_id string 20 no 定單編號(以當(dāng)天時間+000001,依次自增,如:20220808000003 就是北京奧運(yùn)會那天的第三張定單)goods_id string 20 no 商品編號(對應(yīng) FK:goods 表的 goods_id)user_id String 50 no 用戶編號(對應(yīng) FK:user 表的 user_id)sell _amount int 10 no 定單數(shù)量sell _date Date no 定單時間、用 hibernate 實現(xiàn)持久層、創(chuàng)建數(shù)據(jù)庫本系統(tǒng)數(shù)據(jù)庫名字使用 goods,因此創(chuàng)建數(shù)據(jù)庫就打開 MySQL Connand Line Client,輸入密碼登陸成功后,在命令行中輸入創(chuàng)建數(shù)據(jù)庫語句:create database goods。后回車就完成了。如圖:10 / 3配置文件要完成使用 hibernate,必須對 hibernate 進(jìn)行一些基本配置,這個文件是一個 XML 文件:。這個文件配置了所用數(shù)據(jù)庫的驅(qū)動,連接數(shù)據(jù)庫服務(wù)的 URL,連接數(shù)據(jù)庫的用戶名、密碼,指定連接池(本系統(tǒng)使用 c3po),連接數(shù)據(jù)庫所作用的方言,數(shù)據(jù)庫映射文件等。下以就是本系統(tǒng)的此配置文件:?xml version=39。39。 encoding=39。UTF839。?!DOCTYPE hibernateconfiguration PUBLIC//Hibernate/Hibernate Co