服裝庫存管理系統(tǒng)課程設(shè)計報告書_第1頁
服裝庫存管理系統(tǒng)課程設(shè)計報告書_第2頁
服裝庫存管理系統(tǒng)課程設(shè)計報告書_第3頁
服裝庫存管理系統(tǒng)課程設(shè)計報告書_第4頁
服裝庫存管理系統(tǒng)課程設(shè)計報告書_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 . . 20/26長 沙 學(xué) 院課程設(shè)計說明書題目服裝庫存管理系統(tǒng)系(部)計算機(jī)科學(xué)與技術(shù)系專業(yè)(班級)2010軟件工程(服務(wù)外包)1班曾祥炫學(xué)號2010022111指導(dǎo)教師怡起止日期2012.3.12 2012.7.6課程設(shè)計任務(wù)書課程名稱:基礎(chǔ)編程能力考核設(shè)計題目:服裝庫存管理系統(tǒng)已知技術(shù)參數(shù)和設(shè)計要求:問題描述(功能要求):服裝庫存管理系統(tǒng)主要包括:系統(tǒng)管理 系統(tǒng)管理包括用戶管理和貨號管理,能進(jìn)行增加、刪除、修改和查找的操作。庫存管理 庫存管理包括入庫單管理和出庫單管理。入庫單管理包括入庫單基本信息管理和入庫單明細(xì)管理,并能分別對入庫單和入庫單明細(xì)進(jìn)行增加、刪除、修改和查找的操作。出庫

2、單管理包括出庫單基本信息管理和出庫單明細(xì)管理,并能分別對出庫單和出庫單明細(xì)進(jìn)行增加、刪除、修改和查找的操作。輔助管理輔助管理包括修改密碼。2. 運行環(huán)境要求:(1)客戶端:Windows操作系統(tǒng)IE瀏覽器(2)服務(wù)器:windows server 版操作系統(tǒng)Tomcat web 服務(wù)器My SQL 數(shù)據(jù)庫服務(wù)器3. 技術(shù)要求:強(qiáng)調(diào)軟件工程過程文檔的規(guī)化。需求分析規(guī)格說明書與用例規(guī)約系統(tǒng)數(shù)據(jù)庫設(shè)計,時序圖,類圖,MVC架構(gòu)系統(tǒng)完整編碼,采用JSP、Servlet技術(shù)設(shè)計工作量:40課時工作計劃:(1) 2010級軟件工程所有班級16課時: 1609理論講座20課時:上機(jī)、調(diào)試。計算機(jī)系機(jī)房4課時

3、:答辯。計算機(jī)系機(jī)房。(具體時間地點老師先申請,機(jī)動安排)指導(dǎo)教師簽名:日期:教研室主任簽名: 日期:系主任簽名: 日期:學(xué)院課程設(shè)計鑒定表曾祥炫學(xué)號2010022111專業(yè)軟件工程班級10軟件1班設(shè)計題目服裝庫存管理系統(tǒng)指導(dǎo)教師怡指導(dǎo)教師意見:評定等級: 教師簽名: 日期:答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名: 日期:系(部)意見:系主任簽名:日期:說明課程設(shè)計成績分“優(yōu)秀”、“良好”、“中等”、“與格”、“不與格”五類;項目實訓(xùn)(四)工作計劃表周 次實訓(xùn)容備 注第0周(2012.3.122012.4.6)實訓(xùn)啟動召集項目組學(xué)生開會明確實訓(xùn)的容和要求袁偉森

4、老師講課致遠(yuǎn)樓1609第一周(2012.5.142012.5.18)1系統(tǒng)需求分析設(shè)計致遠(yuǎn)樓1409第二周(2012.5.212012.5.25)1組長討論會,討論需求分析進(jìn)度情況完善需求文檔2. 用例和用例規(guī)約設(shè)計致遠(yuǎn)樓1409第三周(2012.5.282012.6.1)1系統(tǒng)詳細(xì)設(shè)計,類模型設(shè)計2時序圖的設(shè)計致遠(yuǎn)樓1408第五周(2012.6.42012.6.8)1第一階段任務(wù)檢查需求分析2. 開發(fā)工具的使用致遠(yuǎn)樓1408第六周(2012.6.112012.6.15)1Struts2技術(shù)講解2. 第二階段任務(wù)檢查數(shù)據(jù)庫的設(shè)計致遠(yuǎn)樓1408第七周(2012.6.182012.6.22)1.

5、代碼實現(xiàn)2. 答疑調(diào)試致遠(yuǎn)樓1408第八周(2012.6.252012.6.29)1. 代碼實現(xiàn)2. 答疑調(diào)試致遠(yuǎn)樓1408第九周(2012.7.22012.7.6)1答辯致遠(yuǎn)樓1401目錄TOC o 1-3 h z uHYPERLINK l _Toc329101136第1章設(shè)計容與要求 PAGEREF _Toc329101136 h 1HYPERLINK l _Toc3291011371.1 設(shè)計容 PAGEREF _Toc329101137 h 1HYPERLINK l _Toc3291011381.2 設(shè)計要求 PAGEREF _Toc329101138 h 1HYPERLINK l _

6、Toc329101139第2章需求分析 PAGEREF _Toc329101139 h 3HYPERLINK l _Toc3291011402.1整體用例圖 PAGEREF _Toc329101140 h 3HYPERLINK l _Toc3291011412.2 用例規(guī)約 PAGEREF _Toc329101141 h 3HYPERLINK l _Toc3291011422.3 需求描述 PAGEREF _Toc329101142 h 5HYPERLINK l _Toc329101143第3章系統(tǒng)設(shè)計 PAGEREF _Toc329101143 h 6HYPERLINK l _Toc3291

7、011443.1 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc329101144 h 6HYPERLINK l _Toc3291011453.1.1數(shù)據(jù)庫對象命名規(guī)則 PAGEREF _Toc329101145 h 6HYPERLINK l _Toc3291011463.1.2 數(shù)據(jù)項編碼規(guī)則 PAGEREF _Toc329101146 h 6HYPERLINK l _Toc3291011473.1.3 用戶信息表結(jié)構(gòu) PAGEREF _Toc329101147 h 6HYPERLINK l _Toc3291011483.2 類圖設(shè)計 PAGEREF _Toc329101148 h 7HYPERLIN

8、K l _Toc3291011493.3 時序圖設(shè)計 PAGEREF _Toc329101149 h 7HYPERLINK l _Toc329101150第4章系統(tǒng)實現(xiàn) PAGEREF _Toc329101150 h 9HYPERLINK l _Toc3291011514.1 登陸設(shè)計實現(xiàn) PAGEREF _Toc329101151 h 9HYPERLINK l _Toc3291011524.2 修改密碼設(shè)計實現(xiàn) PAGEREF _Toc329101152 h 12HYPERLINK l _Toc329101153第5章總結(jié) PAGEREF _Toc329101153 h 17HYPERLIN

9、K l _Toc329101154參考文獻(xiàn) PAGEREF _Toc329101154 h 18HYPERLINK l _Toc329101156附錄 PAGEREF _Toc329101156 h 19第1章 設(shè)計容與要求1.1 設(shè)計容服裝庫存管理系統(tǒng)主要的設(shè)計容包括:(1)系統(tǒng)管理 系統(tǒng)管理包括用戶管理和貨號管理。在用戶管理中要包括新建系統(tǒng)用戶、刪除系統(tǒng)用戶、查看系統(tǒng)用戶詳細(xì)信息、更新系統(tǒng)用戶、查詢系統(tǒng)用戶、系統(tǒng)用戶登陸和修改密碼。在貨號管理中包括新建貨號、刪除貨號、查看貨號詳細(xì)信息、更新貨號、查詢貨號(2)庫存管理庫存管理包括入庫單管理和出庫單管理。入庫單管理包括新建入庫單、刪除入庫單、

10、查看入庫單詳細(xì)信息、更新入庫單、提交入庫單、查詢?nèi)霂靻?、新增入庫單明?xì)、查看入庫單明細(xì)的詳細(xì)信息、更新入庫單明細(xì)、刪除入庫單明細(xì)、查詢?nèi)霂靻蚊骷?xì)。出庫單管理包括新建出庫單、刪除出庫單、查看出庫單的詳細(xì)信息、更新出庫單、提交出庫單、查詢出庫單、新增出庫單明細(xì)、查看出庫單明細(xì)的詳細(xì)信息、更新出庫單明細(xì)、刪除出庫單明細(xì)、查詢出庫單明細(xì)。(3)輔助管理輔助管理包括修改密碼。1.2 設(shè)計要求(1)系統(tǒng)管理 用戶管理中在新建系統(tǒng)用戶時用戶登錄號、用戶和用戶密碼為必選項,如果沒有填寫應(yīng)該要能給出提示信息。用戶能夠根據(jù)用戶登錄號和用戶來查詢系統(tǒng)用戶的詳細(xì)信息。系統(tǒng)用戶能夠根據(jù)用戶登錄號和密碼來成功登陸系統(tǒng)。用

11、戶在成功登陸后可以使用舊密碼來設(shè)置新密碼。 貨號管理中在新建貨號時貨號、品名、色號、尺碼、面料、里料、出廠價、零售價為必選項,若有一項沒有填寫應(yīng)該要能給出提示信息。用戶可以根據(jù)貨號、色號、尺碼來查看貨號詳細(xì)信息。(2)庫存管理 入庫單管理中在新建入庫單時入庫日期、所入倉庫、來源是必選項,如果有一項沒有填寫,系統(tǒng)要能夠給出提示信息,備注為非必選項。用戶成功登陸系統(tǒng)后可以根據(jù)單據(jù)號來查看入庫單的詳細(xì)信息。用戶在更新入庫單時要先查詢到要更新的入庫單,然后再進(jìn)行入庫單的更新。用戶在保存入庫單信息后可以進(jìn)行新增入庫單詳細(xì)信息的操作,新建時可以設(shè)定入庫單明細(xì)的貨號、色號、尺碼和數(shù)量。 出庫單管理中在新建出

12、庫單時出庫日期、所出倉庫、接收人、接收人為必選項,若有一項沒有填寫則給出提示信息,其中備注為非必選項。用戶成功登陸系統(tǒng)后可以根據(jù)單據(jù)號來查看出庫單的詳細(xì)信息。用戶在更新出庫單時要先查詢到要更新的出庫單,然后再進(jìn)行出庫單的更新。用戶在保存出庫單信息后可以進(jìn)行新增出庫單詳細(xì)信息的操作,新建時可以設(shè)定出庫單明細(xì)的貨號、色號、尺碼和數(shù)量。(3)輔助管理用戶在成功登陸系統(tǒng)后可以進(jìn)行修改密碼,修改密碼時舊密碼、新密碼和確認(rèn)密碼為必選項,如果有一項沒有填寫,系統(tǒng)應(yīng)該給出提示信息。舊密碼必須要與登錄時使用的密碼一致,否則無法修改密碼,新密碼和確認(rèn)密碼也必須保持一致方能成功修改。第2章 需求分析2.1 整體用例

13、圖 圖1 全局用例圖2.2 用例規(guī)約表1 用戶登陸用例規(guī)約用例名稱:用戶登陸用例ID:CSMS-01角色:用戶簡要說明:用戶利用登錄號密碼登陸系統(tǒng)前置條件:無基本事件流:1、用戶輸入登錄號2、用戶輸入密碼3、用戶點擊“登陸”按鈕其它事件流:1、用戶輸入的登錄號和密碼為必選項,如有一項為空,系統(tǒng)要能給出提示信息 2、系統(tǒng)接收用戶輸入的登錄號和密碼并且將其與數(shù)據(jù)庫中的用戶信息表中的對應(yīng)數(shù)據(jù)進(jìn)行驗證,驗證成功則允許用戶登陸,否則提醒用戶輸入正確的登錄號和密碼。異常事件流:1、登陸號或者密碼為空就點擊登陸。2、登錄號或者密碼錯誤后置條件:系統(tǒng)用戶信息保存到數(shù)據(jù)庫中,并且頁面能夠?qū)⒂脩糨斎氲臄?shù)據(jù)傳送至后

14、臺服務(wù)器中表2修改密碼用例規(guī)約用例名稱修改密碼用例IDCSMS-02角色用戶。簡要說明用戶修改密碼前置條件用戶已經(jīng)登錄系統(tǒng)基本事件流1、用戶請求修改密碼。2、系統(tǒng)彈出修改密碼頁面。3、用戶輸入舊密碼。4、用戶輸入新密碼,確認(rèn)新密碼。5、點擊“完成”。其他事件流1、舊密碼、新密碼、確認(rèn)密碼為必選項、任何一項為空系統(tǒng)都要發(fā)出提示信息2、系統(tǒng)接收用戶輸入的舊密碼,并且將舊密碼與數(shù)據(jù)庫中的密碼進(jìn)行驗證,若新密碼與確認(rèn)密碼一致,且驗證通過,則允許用戶修改密碼異常事件流1、用戶輸入的舊密碼與用戶登陸使用的密碼不一致。2、用戶輸入的新密碼與確認(rèn)密碼不一致。后置條件系統(tǒng)能夠獲取用戶在頁面上輸入的舊密碼、新密碼

15、和確認(rèn)密碼,并且對舊密碼與登陸密碼進(jìn)行驗證。2.3 需求描述1用戶登陸需求編號:CODEMN-1需求描述:用戶使用登錄號和密碼來成功登陸系統(tǒng)。CODEMN-1-1 用戶輸入登錄號和密碼CODEMN-1-2 頁面獲取用戶輸入的登錄號和密碼,并且與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比較CODEMN-1-3 證成功則允許用戶登陸,否則提醒用戶輸入正確的登錄號和密碼。2用戶修改密碼需求編號:CODEMN-2 需求描述:用戶修改密碼CODEMN-2-1:用戶輸入舊密碼、新密碼、確認(rèn)密碼。CODEMN-2-2:系統(tǒng)接收用戶輸入的舊密碼,并且將舊密碼與數(shù)據(jù)庫中的密碼進(jìn)行驗證,同時將獲取到的新密碼和確認(rèn)密碼進(jìn)行比較。CODE

16、MN-2-3:若舊密碼驗證通過,且新密碼與確認(rèn)密碼一致,則允許用戶修改密碼,否則給出錯誤提示信息,密碼修改不成功。第3章 系統(tǒng)設(shè)計3.1 數(shù)據(jù)庫設(shè)計3.1.1數(shù)據(jù)庫對象命名規(guī)則表3 數(shù)據(jù)庫對象命名規(guī)則數(shù)據(jù)庫對象命名規(guī)則備注表Tbl_功能描述字符串例如:tbl_user用戶表視圖View_功能描述字符串例如:view_userInfo用戶視圖存儲過程Proc_功能描述字符串例如:proc_draw取款存儲過程3.1.2 數(shù)據(jù)項編碼規(guī)則表4數(shù)據(jù)項編碼規(guī)則數(shù)據(jù)項命名規(guī)則數(shù)據(jù)類型長度圍備注登錄名用戶開頭字母字符10位無密碼6位長的任意數(shù)字字符10位無貨號2個大寫字母+數(shù)字字符10位無色號顏色開頭字母+

17、數(shù)字字符10位無刪除狀態(tài)邏輯數(shù)字1或0整數(shù)2無尺碼正常人身高如170整數(shù)無入庫日期年+月+日日期無3.1.3 用戶信息表結(jié)構(gòu)表5 用戶信息表表名用戶信息表數(shù)據(jù)庫用戶主鍵userLogin其他排序字段無索引字段無序號字段名稱數(shù)據(jù)類型(精度圍)允許為空Y/N唯一Y/N區(qū)別度默認(rèn)值約束條件/說明01userLoginVarchar(20)NY高無主鍵02usernameVarchar(20)NY高無03PasswordVarchar(20)NN高無04RemarkVarchar(20)FN低無05flagInt NN高無sql腳本create table user( userLogin varcha

18、r(20)not null primary key, userName varchar(20) not null,Password int not null , remark varchar(20),flag int not null);備注存儲用戶信息3.2 類圖設(shè)計圖2 系統(tǒng)登陸和修改密碼的類圖在登陸和修改密碼中,主要運用到userImpl、UserServlet和Userinfo三個類。userImpl中實現(xiàn)了Userinterface中定義的方法,在userImpl中可以拼寫sql語句來實現(xiàn)對數(shù)據(jù)庫的操作,即可以修改Userinfo中的屬性,BConnection起到了連接數(shù)據(jù)庫的作用

19、。UserServlet根據(jù)用戶在頁面上操作來決定調(diào)用什么方法,doPost()可以判斷用戶在頁面上JS頁面上選擇的操作的類型,根據(jù)操作類型來決定dologin()和doUpdatePwd()方法的調(diào)用。3.3 時序圖設(shè)計圖3 用戶登陸時序圖如圖3所示,用戶首先在登陸界面的文本框中輸入登錄號和密碼,UserServlet獲取用戶輸入的登錄號和密碼,調(diào)用userImpl中的loginUser()方法將獲取的登錄號和密碼作為參數(shù)傳送至數(shù)據(jù)庫中執(zhí)行,并且返回執(zhí)行結(jié)果,UserServlet根據(jù)返回結(jié)果來判斷是否發(fā)生頁面跳轉(zhuǎn)和給出用戶提示信息。圖4 修改密碼時序圖如圖4所示,用戶首先在修改密碼頁面輸入

20、舊密碼、新密碼、確認(rèn)密碼,UserServlet獲取用戶輸入的舊密碼、新面貌、確認(rèn)密碼,并且調(diào)用userImpl中的updatePwd()函數(shù),以獲取的三個值作為參數(shù),updatePwd()將舊密碼發(fā)往數(shù)據(jù)庫中進(jìn)行驗證,UserServlet根據(jù)驗證結(jié)果來判斷密碼是否修改成功和傳送提示信息。修改密碼界面還要驗證新密碼與確認(rèn)密碼是一致。第4章 系統(tǒng)實現(xiàn)4.1 登陸設(shè)計實現(xiàn)代碼段1 聲明接口:er;import java.sql.SQLException;import.csms.dao.model.UserInfo;import.mysql.jdbc.Res

21、ultSet;publicinterface Userinterface public ResultSet loginUser(String userLogin,String password) throws SQLException;/登陸驗證說明:此段代碼的作用是定義接口聲明相關(guān)的方法,public ResultSet loginUser(String userLogin,String password) throws SQLException;定義的是登陸驗證方法,此方法聲名了在實現(xiàn)登陸的方法中需要傳進(jìn)的兩個參數(shù)String userLogin,String password,即登錄號和

22、登陸密碼。代碼段2 接口實現(xiàn):package .erImpl;import java.sql.SQLException;import .er.Userinterface;import .csms.dao.model.UserInfo;import .csms.db.DBconnection;import .mysql.jdbc.Connection;import .mysql.jdbc.PreparedStatement;import .mysql.jdbc.ResultSet;import .mysql.jdbc.Statement;publi

23、c class Userimpl implements Userinterface DBconnection db=null;Connection conn=null; Statement pst=null;private String password; public Userimpl() throws ClassNotFoundException, SQLException db=new DBconnection(); conn=db.getConn(); pst=(Statement) conn.createStatement(); /登陸驗證/public ResultSet logi

24、nUser(String userLogin, String password) throws SQLException / TODO Auto-generated method stubStringBuffer strsql=new StringBuffer();strsql.append( select * from usertable where );strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);ResultSet rs=(ResultSet) pst.executeQuery

25、(strsql.toString();return rs;說明:此段代碼是先前定義的接口的實現(xiàn)部分,StringBuffer strsql=new StringBuffer();定義了一個字符串strsql。代碼strsql.append( select * from usertable where );strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);是拼寫sql語句,意思是在數(shù)據(jù)庫中查詢用戶的登錄名和密碼。ResultSet rs=(ResultSet) pst.executeQue

26、ry(strsql.toString();return rs;意思是將sql語句執(zhí)行,并且將執(zhí)行后的結(jié)果集合賦值給rs,最后返回rs。db=new DBconnection();conn=db.getConn();pst=(Statement) conn.createStatement(); 此段代碼是進(jìn)行數(shù)據(jù)庫的連接。代碼段3 數(shù)據(jù)庫連接:publicclass DBconnection privatestatic String url=jdbc:mysql:/:3306/csms; /數(shù)據(jù)庫的URLprivatestatic String user=root;/訪問數(shù)據(jù)庫

27、的用戶名privatestatic String pwd=123456; /訪問數(shù)據(jù)庫的密碼public Connection conn;publicConnection getConn() throws ClassNotFoundException, SQLException Class.forName(.mysql.jdbc.Driver);/裝載JDBC驅(qū)動程序conn=(Connection) DriverManager.getConnection(url,user,pwd);returnconn; publicvoid closeConn() throws SQLException

28、conn.close();/關(guān)閉數(shù)據(jù)庫連接 說明:privatestatic String url=jdbc:mysql:/:3306/csms;說明了數(shù)據(jù)庫CSMS的地址,此段代碼的主要使用是控制數(shù)據(jù)庫的連接。代碼段4 檢測輸入域:function doLogin()if(idFrmMain.userid.value=) alert(請用戶輸入賬號!);return ; if(idFrmMain.psword.value=) alert(請用戶輸入密碼!);return ; idFrmMain.action=UserServlet?opt=login; idFrmMain.

29、submit();說明:if(idFrmMain.userid.value=)和if(idFrmMain.psword.value=)是用于判斷登陸界面用于輸入登錄號和登陸密碼的兩個文本框中的值是否為空,當(dāng)用戶點擊“登陸”按鈕時若userid和psword還為空,則提醒用戶輸入登錄號和登陸密碼。idFrmMain.action=UserServlet?opt=login;idFrmMain.submit();意思是當(dāng)用戶點擊登陸后將調(diào)用UserServlet中的方法。代碼段5 登陸驗證與頁面跳轉(zhuǎn):publicvoid dologin( ServletRequest request, Servl

30、etResponse response)throws ServletException, IOException, SQLException Session session=request.getSession(); String user_name=request.getParameter(userid);/獲得頁面輸入的登錄號 String user_pwd=request.getParameter(psword);/獲得頁面輸入的登錄密碼 ResultSet rs=userInter.loginUser(user_name, user_pwd);if(rs.next()session.s

31、etAttribute(userLogin,user_name); response.sendRedirect(Main.htm); /頁面的跳轉(zhuǎn),驗證成功進(jìn)入主頁面,否則任然停留在登陸頁面/else String msg=用戶密碼錯誤; request.setAttribute(msg, msg); RequestDispatcher rd=request.getRequestDispatcher(login.jsp); rd.forward(request, response); 說明:String user_name=request.getParameter(userid);是用于獲取登

32、陸頁面輸入的登錄號。String user_pwd=request.getParameter(psword);是用于獲取登陸頁面輸入的登錄密碼。ResultSet rs=userInter.loginUser(user_name, user_pwd);調(diào)用loginUser方法,將user_name, user_pwd作為參數(shù)傳入到loginUser方法中,并且將結(jié)果集賦值給rs。if(rs.next()是對re.next()進(jìn)行邏輯判斷,若邏輯值為1則執(zhí)行中間部分的方法。 session.setAttribute(userLogin,user_name);是將變量user_name以user

33、Login為名字保存在session中。response.sendRedirect(Main.htm);表示從當(dāng)前servlet跳轉(zhuǎn)到Main.htl頁面。else String msg=用戶密碼錯誤; request.setAttribute(msg, msg); RequestDispatcher rd=request.getRequestDispatcher(login.jsp); rd.forward(request, response); 表示當(dāng)re.next()邏輯判斷為0時提醒用戶錯誤信息,并且任然停留在登陸頁面,即login.jsp。4.2 修改密碼設(shè)計實現(xiàn)代碼段1定義接口:p

34、er;import java.sql.SQLException;import.csms.dao.model.UserInfo;import.mysql.jdbc.ResultSet;publicinterface Userinterface publicint updatePwd(String userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFoundException;/修改密碼說明:此段代碼的作用是定義接口聲明相關(guān)的方法,public int updatePwd(S

35、tring userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFoundException;定義了修改密碼方法,此方法聲明了在實現(xiàn)修改密碼的方法中需要傳進(jìn)的三個參數(shù)String userLogin,String oldPwd,String newPwd,即登錄號、舊密碼和新密碼。代碼段 2處理數(shù)據(jù):publicint updatePwd(String userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFoundExcepti

36、on/ TODO Auto-generated method stubStringBuffer strSql=new StringBuffer();strSql.append(select * from usertable where);/拼寫sql字符串strSql.append( userLogin=+userLogin+and password=+oldPwd+);DBconnection db=new DBconnection();/連接數(shù)據(jù)庫Connection conn=db.getConn();PreparedStatement pst=(PreparedStatement) c

37、onn.prepareStatement(strSql.toString();/將SQL語句傳送至服務(wù)器或數(shù)據(jù)庫ResultSet rs=(ResultSet) pst.executeQuery();/執(zhí)行語句,返回結(jié)果集if(rs.next()StringBuffer strUpdate=new StringBuffer(); strUpdate.append(update usertable set password=+newPwd+ where userLogin=+userLogin+); PreparedStatement pst1=(PreparedStatement) conn.

38、prepareStatement(strUpdate.toString();/將SQL語句傳送至服務(wù)器或數(shù)據(jù)庫return pst1.executeUpdate(); /執(zhí)行sql語句,并且返回結(jié)果集elsereturn -1;說明:strSql.append(select * from usertable where);strSql.append( userLogin=+userLogin+and password=+oldPwd+);此段代碼是在拼寫sql語句。pst=(PreparedStatement)conn.prepareStatement(strSql.toString();。此

39、段代碼是將拼寫好的sql語句送入mysql數(shù)據(jù)庫中。ResultSet rs=(ResultSet) pst.executeQuery();此段代碼是將送入數(shù)據(jù)庫中sql語句執(zhí)行,并且將執(zhí)行后的結(jié)果集賦值給rs。if(rs.next()此代碼是對rs.next()進(jìn)行邏輯判斷,當(dāng)邏輯為真時執(zhí)行strUpdate.append(update usertablesetpassword=+newPwd+ where userLogin=+userLogin+);PreparedStatement pst1=(PreparedStatement) conn.prepareStatement(strUp

40、date.toString();即系統(tǒng)將用戶設(shè)定的新密碼發(fā)送到后臺服務(wù)器中,服務(wù)器在數(shù)據(jù)庫的用戶信息表中將用戶登錄密碼設(shè)置成新密碼。代碼段3 在頁面對舊密碼、新密碼、確認(rèn)密碼進(jìn)行驗證:function save()if(idFrmMain.oldPwd.value=) alert(請?zhí)顚懪f密碼);return; if(idFrmMain.newPwd.value!=&idFrmMain.reNewPwd.value!=)if(idFrmMain.newPwd.value!=idFrmMain.reNewPwd.value) alert(新密碼和確認(rèn)密碼不一致);return; else ale

41、rt(新密碼和確認(rèn)密碼不能為空);return; idFrmMain.action=UserServlet?opt=updatePwd; idFrmMain.submit();說明:if(idFrmMain.oldPwd.value=)此段代碼的作用是判斷oldPwd的值是否為空,若為空則彈出“請?zhí)顚懪f密碼”的錯誤提醒。if(idFrmMain.newPwd.value!=&idFrmMain.reNewPwd.value!=)if(idFrmMain.newPwd.value!=idFrmMain.reNewPwd.value)此段代碼是在判斷用戶輸入的新密碼和確認(rèn)密碼是否為空和是否相等,若

42、輸入域為空則提醒用戶輸入新密碼和確認(rèn)密碼,若新密碼和確認(rèn)密碼不一致則提醒用戶輸入一致的新密碼和確認(rèn)密碼。idFrmMain.action=UserServlet?opt=updatePwd;意思是用戶選擇修改密碼后系統(tǒng)會調(diào)用UserServlet中的方法。代碼段4 獲取頁面的操作類型:public void doPost( ServletRequest request, ServletResponse response)throws ServletException, IOException String opt=request.getParameter(opt); System.out.pr

43、intln(opt); if(opt.equals(updatePwd) /判斷是否選擇修改密碼操作 try doUpdatePwd(request,response); /執(zhí)行doUpdatePwd()方法 catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); 說明:opt是java里已經(jīng)定義好的一種機(jī)制,用來獲取頁面上的

44、一些信息,if(opt.equals(“updatePwd”)是在判斷opt取到的值是否等于“updatePwd”,若等于則調(diào)用doUpdatePwd(request,response)方法。代碼段5 修改密碼的主要方法:public void doUpdatePwd( ServletRequest request, ServletResponse response)throws ServletException, IOException, SQLException, ClassNotFoundException Session session=request.getSession();/聲明

45、session String userName=(String)session.getAttribute(userLogin);/獲取用戶登陸 的登錄號 String oldPwd=request.getParameter(oldPwd);/獲取舊密碼 String newPwd=request.getParameter(newPwd);/獲取新密碼 int result=userInter.updatePwd(userName, oldPwd, newPwd);/調(diào)用updatePwd()函數(shù),并且傳進(jìn)userName, oldPwd, newPwd三個參數(shù) String msg=;if(r

46、esult=-1) msg=舊密碼驗證失敗; else msg=密碼修改成功; request.setAttribute(msg, msg);/將變量msg存儲在msg中 RequestDispatcher rd=request.getRequestDispatcher(common/password1001.jsp);/將msg提示信息傳送至頁面 rd.forward(request, response);說明:String userName=(String)session.getAttribute(userLogin);String oldPwd=request.getParameter(

47、oldPwd);String newPwd=request.getParameter(newPwd);意思是用request獲取用戶登陸時得登錄名并且存儲在session中,再使用getAttribute()函數(shù)將session中的值賦給userName。然后依次使用request將“oldPwd”和“newPwd”中的值賦給oldPwd和 newP result=userInter.updatePwd(userName, oldPwd, newPwd);表示調(diào)用UserImpl中的upodatePwd()方法,并且將userName, oldPwd, newPwd作為參數(shù)傳進(jìn)方法

48、體中。request.setAttribute(msg, msg);此段代碼的意思是將變量msg保存在msg中。RequestDispatcher rd=request.getRequestDispatcher(common/password1001.jsp);此段代碼的作用是將msg提示信息傳送到頁面上來,common/password1001.jsp就是修改密碼頁面的地址。第5章 總結(jié)通過這次服裝管理系統(tǒng)(csms)實訓(xùn)的學(xué)習(xí),我有以下收獲:第一,對利用mysql數(shù)據(jù)庫作為開發(fā)系統(tǒng)工程的數(shù)據(jù)存儲工具有了很大程度的提升。第二,對軟件工程的工程分析方法有了很大程度的提升,比如:對需求分析、概要

49、設(shè)計分析、業(yè)務(wù)描述、可行性分析等有了一些自己的見解。第三,環(huán)境不再單一,通過搭建配置JDK、tomcat、myeclipse之間的環(huán)境變量讓我感受到真正做項目不是使用某一種工具就能實現(xiàn)的。第四,對java語言的熟練度有了很大提升,同時也領(lǐng)悟到j(luò)sp的強(qiáng)大力量。第五,這次的服裝管理系統(tǒng)是我們一個團(tuán)隊共同開發(fā)而成的,我們每個人在團(tuán)隊里面都擔(dān)任著不同的角色,但是每個角色都是這個團(tuán)隊不可或缺的部分,因此,通過這次實訓(xùn),我加強(qiáng)了自己的團(tuán)隊意識、團(tuán)隊合作能力等??傊@次服裝管理系統(tǒng)實訓(xùn)對于我整個能力方面是有很大提升的。參考文獻(xiàn)1 王行言. java語言與面向?qū)ο蟪绦蛟O(shè)計 M. :清華大學(xué),2007.11

50、附錄/接口聲明er;import java.sql.SQLException;import.csms.dao.model.UserInfo;import.mysql.jdbc.ResultSet;publicinterface Userinterface publicint updatePwd(String userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFoundException;/修改密碼public ResultSet loginUser(String use

51、rLogin,String password) throws SQLException;/登陸驗證/接口實現(xiàn)部分erImpl;import java.sql.SQLException;er.Userinterface;import.csms.dao.model.UserInfo;import.csms.db.DBconnection;import.mysql.jdbc.Connection;import.mysql.jdbc.PreparedStatement;import.mysql.jdbc.ResultSet;

52、import.mysql.jdbc.Statement;publicclass Userimpl implements Userinterface DBconnection db=null;Connection conn=null; Statement pst=null;private String password;public Userimpl() throws ClassNotFoundException, SQLException db=new DBconnection();conn=db.getConn();pst=(Statement) conn.createStatement()

53、; /登陸驗證/public ResultSet loginUser(String userLogin, String password) throws SQLException / TODO Auto-generated method stubStringBuffer strsql=new StringBuffer();strsql.append( select * from usertable where );/拼寫修改strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);ResultS

54、et rs=(ResultSet) pst.executeQuery(strsql.toString();/執(zhí)行語句并且返回結(jié)果集return rs;/修改密碼/publicint updatePwd(String userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFoundException/ TODO Auto-generated method stubStringBuffer strSql=new StringBuffer();strSql.append(select * from usertable

55、where);/拼寫sql字符串strSql.append( userLogin=+userLogin+and password=+oldPwd+);DBconnection db=new DBconnection();/連接數(shù)據(jù)庫Connection conn=db.getConn();PreparedStatement pst=(PreparedStatement) conn.prepareStatement(strSql.toString();/將SQL語句傳送至服務(wù)器或數(shù)據(jù)庫ResultSet rs=(ResultSet) pst.executeQuery();/執(zhí)行語句,返回結(jié)果集i

56、f(rs.next()StringBuffer strUpdate=new StringBuffer(); strUpdate.append(update usertable set password=+newPwd+ where userLogin=+userLogin+); PreparedStatement pst1=(PreparedStatement) conn.prepareStatement(strUpdate.toString();/將SQL語句傳送至服務(wù)器或數(shù)據(jù)庫return pst1.executeUpdate();/執(zhí)行sql語句,并且返回結(jié)果集elsereturn -1

57、;/登陸與修改密碼的處理package.csms.servlet;import java.io.IOException;importjava.io.PrintWriter;import java.sql.SQLException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet. . Servlet;import javax.servlet. . ServletRequest;import javax.servlet. . ServletRespon

58、se;import javax.servlet. . Session;er.Userinterface;erImpl.Userimpl;import.mysql.jdbc.ResultSet;publicclassUserServletextends Servlet Userinterface userInter=null;public UserServlet() throws ClassNotFoundException, SQLException super();userInter=new Userimpl();publicvoid destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublicvoid doGet( ServletRequest request, ServletResponse response)throws ServletException, IOException doPost(request,response);/調(diào)用doPost方法publicvoid doPost( ServletRequest request, Ser

溫馨提示

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

評論

0/150

提交評論