服裝庫存管理系統(tǒng)_第1頁
服裝庫存管理系統(tǒng)_第2頁
服裝庫存管理系統(tǒng)_第3頁
服裝庫存管理系統(tǒng)_第4頁
服裝庫存管理系統(tǒng)_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、找的操作。出庫單管理包括出庫單基本信息管理和出庫單明細(xì)管理,并能分別對出庫單和出庫單明細(xì)進(jìn)行增加、刪除、修改和查找的操作。(3) 輔助管理輔助管理包括修改密碼。2. 運(yùn)行環(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ī)范化。l 需求分析規(guī)格說明書與用例規(guī)約l 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì),時(shí)序圖,類圖,MVC架構(gòu)l 系統(tǒng)完整編碼,采用JSP、Servlet技術(shù)設(shè)計(jì)工作量:40課時(shí)專心-專注-專業(yè)工作計(jì)劃:(1) 2010級軟件工程所有班級16課時(shí): 16

3、09理論講座20課時(shí):上機(jī)、調(diào)試。計(jì)算機(jī)系機(jī)房4課時(shí):答辯。計(jì)算機(jī)系機(jī)房。(具體時(shí)間地點(diǎn)老師先申請,機(jī)動安排)指導(dǎo)教師簽名:日期:教研室主任簽名: 日期:系主任簽名: 日期:長沙學(xué)院課程設(shè)計(jì)鑒定表姓名曾祥炫學(xué)號專業(yè)軟件工程班級10軟件1班設(shè)計(jì)題目服裝庫存管理系統(tǒng)指導(dǎo)教師潘怡指導(dǎo)教師意見:評定等級: 教師簽名: 日期: 答辯小組意見:評定等級:答辯小組長簽名:日期:教研室意見:教研室主任簽名: 日期: 系(部)意見:系主任簽名:日期:說明課程設(shè)計(jì)成績分“優(yōu)秀”、“良好”、“中等”、“及格”、“不及格”五類;項(xiàng)目實(shí)訓(xùn)(四)工作計(jì)劃表周 次實(shí)訓(xùn)內(nèi)容備 注第0周(2012.3.122012.4.6)1

4、 實(shí)訓(xùn)啟動召集項(xiàng)目組學(xué)生開會明確實(shí)訓(xùn)的內(nèi)容和要求袁偉森老師講課致遠(yuǎn)樓1609第一周(2012.5.142012.5.18)1系統(tǒng)需求分析設(shè)計(jì)致遠(yuǎn)樓1409第二周(2012.5.212012.5.25)1組長討論會,討論需求分析進(jìn)度情況完善需求文檔2. 用例和用例規(guī)約設(shè)計(jì)致遠(yuǎn)樓1409第三周(2012.5.282012.6.1)1系統(tǒng)詳細(xì)設(shè)計(jì),類模型設(shè)計(jì)2時(shí)序圖的設(shè)計(jì)致遠(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è)計(jì)致遠(yuǎn)樓140

5、8第七周(2012.6.182012.6.22)1. 代碼實(shí)現(xiàn)2. 答疑調(diào)試致遠(yuǎn)樓1408第八周(2012.6.252012.6.29)1. 代碼實(shí)現(xiàn)2. 答疑調(diào)試致遠(yuǎn)樓1408第九周(2012.7.22012.7.6)1答辯致遠(yuǎn)樓1401目錄第1章 設(shè)計(jì)內(nèi)容與要求1.1 設(shè)計(jì)內(nèi)容服裝庫存管理系統(tǒng)主要的設(shè)計(jì)內(nèi)容包括:(1)系統(tǒng)管理 系統(tǒng)管理包括用戶管理和貨號管理。在用戶管理中要包括新建系統(tǒng)用戶、刪除系統(tǒng)用戶、查看系統(tǒng)用戶詳細(xì)信息、更新系統(tǒng)用戶、查詢系統(tǒng)用戶、系統(tǒng)用戶登陸和修改密碼。在貨號管理中包括新建貨號、刪除貨號、查看貨號詳細(xì)信息、更新貨號、查詢貨號(2)庫存管理庫存管理包括入庫單管理和出庫

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

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

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

9、碼也必須保持一致方能成功修改。第2章 需求分析2.1 整體用例圖 圖1 全局用例圖2.2 用例規(guī)約表1 用戶登陸用例規(guī)約用例名稱:用戶登陸用例ID:CSMS-01角色:用戶簡要說明:用戶利用登錄號密碼登陸系統(tǒng)前置條件:無基本事件流:1、用戶輸入登錄號2、用戶輸入密碼3、用戶點(diǎn)擊“登陸”按鈕其它事件流:1、用戶輸入的登錄號和密碼為必選項(xiàng),如有一項(xiàng)為空,系統(tǒng)要能給出提示信息 2、系統(tǒng)接收用戶輸入的登錄號和密碼并且將其與數(shù)據(jù)庫中的用戶信息表中的對應(yīng)數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證成功則允許用戶登陸,否則提醒用戶輸入正確的登錄號和密碼。異常事件流:1、登陸號或者密碼為空就點(diǎn)擊登陸。2、登錄號或者密碼錯(cuò)誤后置條件:系

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

11、碼不一致。后置條件系統(tǒng)能夠獲取用戶在頁面上輸入的舊密碼、新密碼和確認(rèn)密碼,并且對舊密碼與登陸密碼進(jìn)行驗(yà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ù)庫中

12、的密碼進(jìn)行驗(yàn)證,同時(shí)將獲取到的新密碼和確認(rèn)密碼進(jìn)行比較。CODEMN-2-3:若舊密碼驗(yàn)證通過,且新密碼與確認(rèn)密碼一致,則允許用戶修改密碼,否則給出錯(cuò)誤提示信息,密碼修改不成功。 第3章 系統(tǒng)設(shè)計(jì)3.1 數(shù)據(jù)庫設(shè)計(jì)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ù)項(xiàng)編碼規(guī)則表4數(shù)據(jù)項(xiàng)編碼規(guī)則數(shù)據(jù)項(xiàng)命名規(guī)則數(shù)據(jù)類型長度范圍備注登錄名用戶姓名開頭字母字符10位無密碼6位長的

13、任意數(shù)字字符10位無貨號2個(gè)大寫字母+數(shù)字字符10位無色號顏色開頭字母+數(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高無sq

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

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

16、面跳轉(zhuǎn)和給出用戶提示信息。圖4 修改密碼時(shí)序圖如圖4所示,用戶首先在修改密碼頁面內(nèi)輸入舊密碼、新密碼、確認(rèn)密碼,UserServlet獲取用戶輸入的舊密碼、新面貌、確認(rèn)密碼,并且調(diào)用userImpl中的updatePwd()函數(shù),以獲取的三個(gè)值作為參數(shù),updatePwd()將舊密碼發(fā)往數(shù)據(jù)庫中進(jìn)行驗(yàn)證,UserServlet根據(jù)驗(yàn)證結(jié)果來判斷密碼是否修改成功和傳送提示信息。修改密碼界面還要驗(yàn)證新密碼與確認(rèn)密碼是一致。第4章 系統(tǒng)實(shí)現(xiàn)4.1 登陸設(shè)計(jì)實(shí)現(xiàn)代碼段1 聲明接口:package er;import java.sql.SQLException;impor

17、t com.csms.dao.model.UserInfo;import com.mysql.jdbc.ResultSet;public interface Userinterface public ResultSet loginUser(String userLogin,String password) throws SQLException;/登陸驗(yàn)證說明:此段代碼的作用是定義接口聲明相關(guān)的方法,public ResultSet loginUser(String userLogin,String password) throws SQLException;定義的是登陸驗(yàn)證方法,此方法聲名了

18、在實(shí)現(xiàn)登陸的方法中需要傳進(jìn)的兩個(gè)參數(shù)String userLogin,String password,即登錄號和登陸密碼。代碼段2 接口實(shí)現(xiàn):package erImpl;import java.sql.SQLException;import er.Userinterface;import com.csms.dao.model.UserInfo;import com.csms.db.DBconnection;import com.mysql.jdbc.Connection;import com.mysql.jdbc.Prepare

19、dStatement;import com.mysql.jdbc.ResultSet;import com.mysql.jdbc.Statement;public 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=d

20、b.getConn(); pst=(Statement) conn.createStatement(); /登陸驗(yàn)證/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(" userLog

21、in='"+userLogin+"' and ");strsql.append(" password='"+password+"'");ResultSet rs=(ResultSet) pst.executeQuery(strsql.toString();return rs;說明:此段代碼是先前定義的接口的實(shí)現(xiàn)部分,StringBuffer strsql=new StringBuffer();定義了一個(gè)字符串strsql。代碼strsql.append(" select * from

22、 usertable where ");strsql.append(" userLogin='"+userLogin+"' and ");strsql.append(" password='"+password+"'");是拼寫sql語句,意思是在數(shù)據(jù)庫中查詢用戶的登錄名和密碼。ResultSet rs=(ResultSet) pst.executeQuery(strsql.toString();return rs;意思是將sql語句執(zhí)行,并且將執(zhí)行后的結(jié)果集合賦值給rs,

23、最后返回rs。db=new DBconnection(); conn=db.getConn(); pst=(Statement) conn.createStatement(); 此段代碼是進(jìn)行數(shù)據(jù)庫的連接。代碼段3 數(shù)據(jù)庫連接:public class DBconnection private static String url="jdbc:mysql:/:3306/csms" /數(shù)據(jù)庫的URL private static String user="root" /訪問數(shù)據(jù)庫的用戶名 private static String pwd=

24、"" /訪問數(shù)據(jù)庫的密碼 public Connection conn; public Connection getConn() throws ClassNotFoundException, SQLException Class.forName("com.mysql.jdbc.Driver"); /裝載JDBC驅(qū)動程序 conn=(Connection) DriverManager.getConnection(url,user,pwd); return conn; public void closeConn() throws SQLException c

25、onn.close();/關(guān)閉數(shù)據(jù)庫連接 說明:private static 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('請用戶輸入密碼!'); r

26、eturn ; idFrmMain.action="UserServlet?opt=login" idFrmMain.submit();說明:if(idFrmMain.userid.value="")和if(idFrmMain.psword.value="")是用于判斷登陸界面用于輸入登錄號和登陸密碼的兩個(gè)文本框中的值是否為空,當(dāng)用戶點(diǎn)擊“登陸”按鈕時(shí)若userid和psword還為空,則提醒用戶輸入登錄號和登陸密碼。idFrmMain.action="UserServlet?opt=login"idFrmMain

27、.submit();意思是當(dāng)用戶點(diǎn)擊登陸后將調(diào)用UserServlet中的方法。代碼段5 登陸驗(yàn)證及頁面跳轉(zhuǎn):public void dologin(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException, SQLException HttpSession session=request.getSession(); String user_name=request.getParameter("userid");/獲得頁面輸入的登錄號 Strin

28、g user_pwd=request.getParameter("psword");/獲得頁面輸入的登錄密碼 ResultSet rs=userInter.loginUser(user_name, user_pwd); if(rs.next() session.setAttribute("userLogin",user_name); response.sendRedirect("Main.htm"); /頁面的跳轉(zhuǎn),驗(yàn)證成功進(jìn)入主頁面,否則任然停留在登陸頁面/ else String msg="用戶密碼錯(cuò)誤" re

29、quest.setAttribute("msg", msg); RequestDispatcher rd=request.getRequestDispatcher("login.jsp"); rd.forward(request, response); 說明:String user_name=request.getParameter("userid");是用于獲取登陸頁面輸入的登錄號。String user_pwd=request.getParameter("psword");是用于獲取登陸頁面輸入的登錄密碼。Re

30、sultSet 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以userLogin為名字保存在session中。response.sendRedirect("Main.htm"

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

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

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

34、ion/ 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ù)庫Con

35、nection conn=db.getConn();PreparedStatement pst=(PreparedStatement) conn.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='"+

36、newPwd+"' where userLogin='"+userLogin+"'"); PreparedStatement pst1=(PreparedStatement) conn.prepareStatement(strUpdate.toString();/將SQL語句傳送至服務(wù)器或數(shù)據(jù)庫 return pst1.executeUpdate(); /執(zhí)行sql語句,并且返回結(jié)果集else return -1;說明:strSql.append("select * from usertable where")

37、; strSql.append(" userLogin='"+userLogin+"'and password='"+oldPwd+"'");此段代碼是在拼寫sql語句。pst=(PreparedStatement)conn.prepareStatement(strSql.toString();。此段代碼是將拼寫好的sql語句送入mysql數(shù)據(jù)庫中。ResultSet rs=(ResultSet) pst.executeQuery();此段代碼是將送入數(shù)據(jù)庫中sql語句執(zhí)行,并且將執(zhí)行后的結(jié)果集賦值給r

38、s。if(rs.next()此代碼是對rs.next()進(jìn)行邏輯判斷,當(dāng)邏輯為真時(shí)執(zhí)行strUpdate.append("update usertable set password='"+newPwd+"' where userLogin='"+userLogin+"'");PreparedStatement pst1=(PreparedStatement) conn.prepareStatement(strUpdate.toString();即系統(tǒng)將用戶設(shè)定的新密碼發(fā)送到后臺服務(wù)器中,服務(wù)器在數(shù)據(jù)庫的

39、用戶信息表中將用戶登錄密碼設(shè)置成新密碼。代碼段3 在頁面對舊密碼、新密碼、確認(rèn)密碼進(jìn)行驗(yà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)密碼不一致&

40、#39;); return; else alert('新密碼和確認(rèn)密碼不能為空'); return; idFrmMain.action="UserServlet?opt=updatePwd" idFrmMain.submit();說明:if(idFrmMain.oldPwd.value="")此段代碼的作用是判斷oldPwd的值是否為空,若為空則彈出“請?zhí)顚懪f密碼”的錯(cuò)誤提醒。 if(idFrmMain.newPwd.value!=""&&idFrmMain.reNewPwd.value!="

41、") if(idFrmMain.newPwd.value!=idFrmMain.reNewPwd.value)此段代碼是在判斷用戶輸入的新密碼和確認(rèn)密碼是否為空和是否相等,若輸入域?yàn)榭談t提醒用戶輸入新密碼和確認(rèn)密碼,若新密碼和確認(rèn)密碼不一致則提醒用戶輸入一致的新密碼和確認(rèn)密碼。idFrmMain.action="UserServlet?opt=updatePwd"意思是用戶選擇修改密碼后系統(tǒng)會調(diào)用UserServlet中的方法。代碼段4 獲取頁面的操作類型:public void doPost(HttpServletRequest request, HttpSer

42、vletResponse response)throws ServletException, IOException String opt=request.getParameter("opt"); System.out.println(opt); if(opt.equals("updatePwd") /判斷是否選擇修改密碼操作 try doUpdatePwd(request,response); /執(zhí)行doUpdatePwd()方法 catch (ClassNotFoundException e) / TODO Auto-generated catch

43、blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); 說明:opt是java里已經(jīng)定義好的一種機(jī)制,用來獲取頁面上的一些信息,if(opt.equals(“updatePwd”)是在判斷opt取到的值是否等于“updatePwd”,若等于則調(diào)用doUpdatePwd(request,response)方法。代碼段5 修改密碼的主要方法:public void doUpdatePwd(HttpServletRequest request, Htt

44、pServletResponse response)throws ServletException, IOException, SQLException, ClassNotFoundException HttpSession session=request.getSession();/聲明session String userName=(String)session.getAttribute("userLogin");/獲取用戶登陸 的登錄號 String oldPwd=request.getParameter("oldPwd");/獲取舊密碼 Stri

45、ng newPwd=request.getParameter("newPwd");/獲取新密碼 int result=userInter.updatePwd(userName, oldPwd, newPwd);/調(diào)用updatePwd()函數(shù),并且傳進(jìn)userName, oldPwd, newPwd三個(gè)參數(shù) String msg="" if(result=-1) msg="舊密碼驗(yàn)證失敗" else msg="密碼修改成功" request.setAttribute("msg", msg);/將

46、變量msg存儲在"msg"中 RequestDispatcher rd=request.getRequestDispatcher("common/password1001.jsp");/將msg提示信息傳送至頁面 rd.forward(request, response);說明:String userName=(String)session.getAttribute("userLogin");String oldPwd=request.getParameter("oldPwd");String newPwd=req

47、uest.getParameter("newPwd");意思是用request獲取用戶登陸時(shí)得登錄名并且存儲在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)方法體中。request.se

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

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

50、言. java語言與面向?qū)ο蟪绦蛟O(shè)計(jì) M. 北京:清華大學(xué)出版社,2007.11附 錄/接口聲明package er;import java.sql.SQLException;import com.csms.dao.model.UserInfo;import com.mysql.jdbc.ResultSet;public interface Userinterface public int updatePwd(String userLogin,String oldPwd,String newPwd) throws SQLException, ClassNotFo

51、undException;/修改密碼 public ResultSet loginUser(String userLogin,String password) throws SQLException;/登陸驗(yàn)證/接口實(shí)現(xiàn)部分package erImpl;import java.sql.SQLException;import er.Userinterface;import com.csms.dao.model.UserInfo;import com.csms.db.DBconnection;import com.mysql.jdbc

52、.Connection;import com.mysql.jdbc.PreparedStatement;import com.mysql.jdbc.ResultSet;import com.mysql.jdbc.Statement;public class Userimpl implements Userinterface DBconnection db=null;Connection conn=null; Statement pst=null;private String password; public Userimpl() throws ClassNotFoundException, S

53、QLException db=new DBconnection(); conn=db.getConn(); pst=(Statement) conn.createStatement(); /登陸驗(yàn)證/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+"'");ResultSet rs=(ResultSet) pst.executeQuery(st

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論