服装库存管理系统_第1页
服装库存管理系统_第2页
服装库存管理系统_第3页
服装库存管理系统_第4页
服装库存管理系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、长沙学院课 程 设 计 说 明 书题目服装库存管理系统系(部)计算机科学与技术系专 业 ( 班 级 ) 2010 软件工程(服务外包)1 班姓名曾祥炫学号2010022111指导教师潘怡起止日期2012.3.12 2012.7.6课程设计任务书课程名称:基础编程能力考核课程名称:基础编程能力考核设计题目:服装库存管理系统设计题目:服装库存管理系统已知技术参数和设计要求:已知技术参数和设计要求:1. 问题描述(功能要求) :服装库存管理系统主要包括:(1)系统管理系统管理包括用户管理和货号管理,能进行增加、删除、修改和查找的操作。(2)库存管理库存管理包括入库单管理和出库单管理。入库单管理包括入

2、库单基本信息管理和入库单明细管理,并能分别对入库单和入库单明细进行增加、删除、修改和查找的操作。出库单管理包括出库单基本信息管理和出库单明细管理,并能分别对出库单和出库单明细进行增加、删除、修改和查找的操作。(3)辅助管理辅助管理包括修改密码。2.2. 运行环境要求:运行环境要求:(1)客户端:Windows 操作系统IE 浏览器(2)服务器:windows server 版操作系统Tomcat web 服务器My SQL 数据库服务器3. 技术要求:强调软件工程过程文档的规范化。需求分析规格说明书与用例规约系统数据库设计,时序图,类图,MVC 架构系统完整编码,采用 JSP、Servlet

3、技术设计工作量:设计工作量:40 课时工作计划:工作计划:(1)(1) 20102010 级软件工程所有班级级软件工程所有班级16 课时: 1609 理论讲座20 课时:上机、调试。计算机系机房4 课时:答辩。计算机系机房。(具体时间地点老师先申请,机动安排)指导教师签名:日期:教研室主任签名:日期:系主任签名:日期:长沙学院课程设计鉴定表姓名曾祥炫学号2010022111专业软件工程班级10软件1班设计题目服装库存管理系统指导教师潘怡指导教师意见:评定等级:教师签名:日期:答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名:日期:系(部)意见:系主任签名:日期:说明课程

4、设计成绩分“优秀” 、 “良好” 、 “中等” 、 “及格” 、 “不及格”五类;项目实训(四)工作计划表项目实训(四)工作计划表周周次次实训内容实训内容备备注注第 0 周(2012.3.122012.4.6)1实训启动召集项目组学生开会明确实训的内容和要求袁伟森老师讲课致远楼 1609第一周(2012.5.142012.5.18)1系统需求分析设计致远楼 1409第二周(2012.5.212012.5.25)1组长讨论会,讨论需求分析进度情况完善需求文档2. 用例和用例规约设计致远楼 1409第三周(2012.5.282012.6.1)1系统详细设计,类模型设计2时序图的设计致远楼 1408

5、第五周(2012.6.42012.6.8)1第一阶段任务检查需求分析2. 开发工具的使用致远楼 1408第六周(2012.6.112012.6.15)1Struts2 技术讲解2. 第二阶段任务检查数据库的设计致远楼 1408第七周(2012.6.182012.6.22)1. 代码实现2. 答疑调试致远楼 1408第八周(2012.6.252012.6.29)1. 代码实现2. 答疑调试致远楼 1408第九周(2012.7.22012.7.6)1答辩致远楼 1401目录目录第第 1 章章 设计内容与要求设计内容与要求.11.1 设计内容设计内容.11.21.2 设计要求设计要求.1第第 2 2

6、 章章 需求分析需求分析.32.12.1 整体用例图整体用例图.32.22.2 用例规约用例规约.42.32.3 需求描述需求描述.5第第 3 3 章章 系统设计系统设计.63.13.1 数据库设计数据库设计..1 数据库对象命名规则数据库对象命名规则. .2 数据项编码规则数据项编码规则. .3 用户信息表结构用户信息表结构. 63.23.2 类图设计类图设计.73.33.3 时序图设计时序图设计.8第第 4 4 章章 系统实现系统实现.104.14.1 登陆设计实现登陆设计实现.104.24.2 修改密码设计实现修改密码设计实现. 13

7、第第 5 5 章章 总结总结.18参考文献参考文献.19附录附录.201第第 1 章章 设计内容与要求设计内容与要求1.1 设计内容设计内容服装库存管理系统主要的设计内容包括:(1)系统管理系统管理包括用户管理和货号管理。 在用户管理中要包括新建系统用户、 删除系统用户、查看系统用户详细信息、更新系统用户、查询系统用户、系统用户登陆和修改密码。在货号管理中包括新建货号、删除货号、查看货号详细信息、更新货号、查询货号(2)库存管理库存管理包括入库单管理和出库单管理。入库单管理包括新建入库单、删除入库单、查看入库单详细信息、更新入库单、提交入库单、查询入库单、新增入库单明细、查看入库单明细的详细信

8、息、更新入库单明细、删除入库单明细、查询入库单明细。出库单管理包括新建出库单、删除出库单、查看出库单的详细信息、更新出库单、提交出库单、查询出库单、新增出库单明细、查看出库单明细的详细信息、更新出库单明细、删除出库单明细、查询出库单明细。(3)辅助管理辅助管理包括修改密码。1.21.2 设计要求设计要求(1)系统管理用户管理中在新建系统用户时用户登录号、 用户姓名和用户密码为必选项,如果没有填写应该要能给出提示信息。用户能够根据用户登录号和用户姓名来查询系统用户的详细信息。 系统用户能够根据用户登录号和密码来成功登陆系统。 用户在成功登陆后可以使用旧密码来设置新密码。货号管理中在新建货号时货号

9、、品名、色号、尺码、面料、里料、出厂价、零售价为必选项,若有一项没有填写应该要能给出提示信息。用户可以根据货号、色号、尺码来查看货号详细信息。(2)库存管理入库单管理中在新建入库单时入库日期、所入仓库、来源是必选项,如果有一项没有填写,系统要能够给出提示信息, 备注为非必选项。用户成功登陆系统后可以根据单据号来查看入库单的详细信息。 用户在更新入库单时要先查询到要更新的入库单,然后再进行入库单的更新。 用户在保存入库单信息后可以进行新增入库单详细信息的操作,新建时可以设定入库单明细的货号、色号、尺码和数量。出库单管理中在新建出库单时出库日期、所出仓库、接收人、接收人电话为必选项,若有一项没有填

10、写则给出提示信息, 其中备注为非必选项。用户成功登陆系统后可以根据单据号来查看出库单的详细信息。 用户在更新出库单时要先查询到要更新的出库单,然后再进行出库单的更新。 用户在保存出库单信息后可以进行新增出库单详细信息的操作,新建时可以2设定出库单明细的货号、色号、尺码和数量。(3)辅助管理用户在成功登陆系统后可以进行修改密码, 修改密码时旧密码、 新密码和确认密码为必选项,如果有一项没有填写,系统应该给出提示信息。旧密码必须要与登录时使用的密码一致,否则无法修改密码,新密码和确认密码也必须保持一致方能成功修改。3第第 2 章章 需求分析需求分析2.1 整体用例图整体用例图System新建系统用

11、户删除系统用户查看系统用户详细信息更新系统用户查询系统用户系统用户登陆修改密码新建货号删除货号查看货号详细信息更新货号查询货号新建入库单删除入库单查看入库单详细信息更新入库单提交入库单查询入库单新增入库单明细查看入库单明细的详细信息更新入库单明细删除入库单明细查询入库单明细新建出库单删除出库单查看出库单的详细信息更新出库单提交出库单查询出库单新增出库单明细查看出库单明细的详细信息更新出库单明细删除出库单明细查询出库单明细用户图 1 全局用例图42.2 用例规约用例规约表 1用户登陆用例规约用例名称:用户登陆用例 ID:CSMS-01角色:用户简要说明:用户利用登录号密码登陆系统前置条件:无基本

12、事件流:1、用户输入登录号2、用户输入密码3、用户点击“登陆”按钮其它事件流:1、用户输入的登录号和密码为必选项,如有一项为空,系统要能给出提示信息2、 系统接收用户输入的登录号和密码并且将其与数据库中的用户信息表中的对应数据进行验证,验证成功则允许用户登陆,否则提醒用户输入正确的登录号和密码。异常事件流:1、登陆号或者密码为空就点击登陆。2、登录号或者密码错误后置条件:系统用户信息保存到数据库中, 并且页面能够将用户输入的数据传送至后台服务器中表 2 修改密码用例规约用例名称修改密码用例 IDCSMS-02角色用户。简要说明用户修改密码前置条件用户已经登录系统基本事件流1、用户请求修改密码。

13、2、系统弹出修改密码页面。3、用户输入旧密码。4、用户输入新密码,确认新密码。5、点击“完成” 。其他事件流1、旧密码、新密码、确认密码为必选项、任何一项为空系统都要发出提示信息2、系统接收用户输入的旧密码,并且将旧密码与数据库中的密码进行验证,若新密码与确认密码一致,且验证通过,则允许用户修改密码异常事件流1、用户输入的旧密码与用户登陆使用的密码不一致。52、用户输入的新密码与确认密码不一致。后置条件系统能够获取用户在页面上输入的旧密码、新密码和确认密码,并且对旧密码与登陆密码进行验证。2.3 需求描述需求描述1 1用户登陆用户登陆需求编号:CODEMN-1需求描述:用户使用登录号和密码来成

14、功登陆系统。CODEMN-1-1 用户输入登录号和密码CODEMN-1-2 页面获取用户输入的登录号和密码,并且与数据库中的数据进行比较CODEMN-1-3 证成功则允许用户登陆,否则提醒用户输入正确的登录号和密码。2用户修改密码用户修改密码需求编号:CODEMN-2需求描述:用户修改密码CODEMN-2-1:用户输入旧密码、新密码、确认密码。CODEMN-2-2: 系统接收用户输入的旧密码, 并且将旧密码与数据库中的密码进行验证,同时将获取到的新密码和确认密码进行比较。CODEMN-2-3:若旧密码验证通过,且新密码与确认密码一致,则允许用户修改密码,否则给出错误提示信息,密码修改不成功。6

15、第第 3 3 章章 系统设计系统设计3.1 数据库设计数据库设计3.1.1 数据库对象命名规则数据库对象命名规则表 3 数据库对象命名规则数据库对象命名规则备注表Tbl_功能描述字符串例如:tbl_user 用户表视图View_功能描述字符串例如:view_userInfo 用户视图存储过程Proc_功能描述字符串例如: proc_draw 取款存储过程3.1.2 数据项编码规则数据项编码规则表 4 数据项编码规则数据项命名规则数据类型长度范围备注登录名用户姓名开头字母字符10 位无密码6 位长的任意数字字符10 位无货号2 个大写字母+数字字符10 位无色号颜色开头字母+数字字符10 位无删

16、除状态逻辑数字 1 或 0整数2无尺码正常人身高如 170整数无入库日期年+月+日日期无3.1.3 用户信息表结构用户信息表结构表 5 用户信息表表名用户信息表数据库用户主键userLogin其他排序字段无索引字段无序号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明01userLoginVarchar(20)NY高无主键02usernameVarchar(20)NY高无03PasswordVarchar(20)NN高无04RemarkVarchar(20)FN低无05flagIntNN高无7sql 脚本create table user(userLogin v

17、archar(20) not null primary key,userNamevarchar(20) not null,Passwordintnot null ,remarkvarchar(20),flagint not null);备注存储用户信息3.2 类图设计类图设计图 2 系统登陆和修改密码的类图在登陆和修改密码中, 主要运用到userImpl、 UserServlet和Userinfo三个类。 userImpl中实现了 Userinterface 中定义的方法,在 userImpl 中可以拼写 sql 语句来实现对数据库的操作,即可以修改 Userinfo 中的属性,BConnec

18、tion 起到了连接数据库的作用。UserServlet 根据用户在页面上操作来决定调用什么方法,doPost()可以判断用户在页面上JS 页面上选择的操作的类型, 根据操作类型来决定 dologin()和 doUpdatePwd()方法的调用。83.3 时序图设计时序图设计图 3 用户登陆时序图如图 3 所示,用户首先在登陆界面的文本框中输入登录号和密码,UserServlet 获取用户输入的登录号和密码,调用 userImpl 中的 loginUser()方法将获取的登录号和密码作为参数传送至数据库中执行,并且返回执行结果,UserServlet 根据返回结果来判断是否发生页面跳转和给出用

19、户提示信息。图 4 修改密码时序图如图 4 所示,用户首先在修改密码页面内输入旧密码、新密码、确认密码,UserServlet9获取用户输入的旧密码、新面貌、确认密码,并且调用 userImpl 中的 updatePwd()函数,以获取的三个值作为参数, updatePwd()将旧密码发往数据库中进行验证, UserServlet 根据验证结果来判断密码是否修改成功和传送提示信息。 修改密码界面还要验证新密码与确认密码是一致。10第第 4 4 章章 系统实现系统实现4.1 登陆设计实现登陆设计实现代码段代码段1 声明接口:声明接口:packagepackage

20、er;importimport java.sql.SQLException;importimport com.csms.dao.model.UserInfo;importimport com.mysql.jdbc.ResultSet;publicpublic interfaceinterface Userinterface publicpublic ResultSet loginUser(String userLogin,String password)throwsthrows SQLException;/登陆验证说 明 :说 明 : 此 段 代 码 的 作 用 是 定 义 接 口 声 明 相

21、 关 的 方 法 ,publicResultSetloginUser(String userLogin,String password) throws SQLException;定义的是登陆验证方法,此方法声名了在实现登陆的方法中需要传进的两个参数StringuserLogin,String password,即登录号和登陆密码。代码段代码段 2 接口实现:接口实现:package erImpl;import java.sql.SQLException;import er.Userinterface;import com.csms

22、.dao.model.UserInfo;import com.csms.db.DBconnection;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;import com.mysql.jdbc.ResultSet;import com.mysql.jdbc.Statement;publicclass Userimpl implements Userinterface DBconnection db=null;Connection conn=null;Statement pst=null;priv

23、ate String password;public Userimpl() throws ClassNotFoundException, SQLExceptiondb=new DBconnection();conn=db.getConn();pst=(Statement) conn.createStatement();11/登陆验证/public ResultSet loginUser(String userLogin, String password) throwsSQLException / TODO Auto-generated method stubStringBuffer strsq

24、l=new StringBuffer();strsql.append( select * fromusertablewhere );strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);ResultSet rs=(ResultSet) pst.executeQuery(strsql.toString();return rs;说明:说明:此段代码是先前定义的接口的实现部分,StringBuffer strsql=new StringBuffer();定 义 了 一 个 字 符 串 strsql

25、 。 代 码 strsql.append( select * fromusertablewhere);strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);是拼写 sql 语句,意思是在数据库中查询用户的登录名和密码。ResultSet rs=(ResultSet)pst.executeQuery(strsql.toString();return rs;意思是将 sql 语句执行,并且将执行后的结果集合赋值给 rs,最后返回 rs。db=new DBconnection();conn=db.

26、getConn();pst=(Statement) conn.createStatement(); 此段代码是进行数据库的连接。代码段代码段 3 数据库连接:数据库连接:publicpublic classclass DBconnection privateprivate staticstatic Stringurl=jdbc:mysql:/:3306/csms; /数据库的URLprivateprivate staticstatic Stringuser=root; /访问数据库的用户名privateprivate staticstatic Stringpwd=123456

27、; /访问数据库的密码publicpublic Connection conn;publicpublic Connection getConn() throwsthrows ClassNotFoundException, SQLExceptionClass.forName(com.mysql.jdbc.Driver); /装载JDBC驱动程序conn=(Connection) DriverManager.getConnection(url,user,pwd);returnreturn conn;publicpublic voidvoid closeConn() throwsthrows SQL

28、Exceptionconn.close();/关闭数据库连接12说明:说明:private static String url=jdbc:mysql:/:3306/csms;说明了数据库 CSMS 的地址,此段代码的主要使用是控制数据库的连接。代码段代码段 4 4 检测输入域:检测输入域:functionfunction doLogin()ifif(idFrmMain.userid.value=)alert(请用户输入账号!);returnreturn ;ifif(idFrmMain.psword.value=)alert(请用户输入密码!);returnreturn ;id

29、FrmMain.action=UserServlet?opt=login;idFrmMain.submit();说明说明:if(idFrmMain.userid.value=)和if(idFrmMain.psword.value=)是用于判断登陆界面用于输入登录号和登陆密码的两个文本框中的值是否为空, 当用户点击“登陆”按钮时若userid和psword还为空,则提醒用户输入登录号和登陆密码。idFrmMain.action=UserServlet?opt=login;idFrmMain.submit();意思是当用户点击登陆后将调用UserServlet中的方法。代码段代码段5 登陆验证及页

30、面跳转:登陆验证及页面跳转:publicpublic voidvoid dologin(HttpServletRequest request, HttpServletResponseresponse)throwsthrows ServletException, IOException, SQLException HttpSession session=request.getSession();String user_name=request.getParameter(userid);/获得页面输入的登录号String user_pwd=request.getParameter(psword);

31、/获得页面输入的登录密码ResultSet rs=userInter.loginUser(user_name, user_pwd);ifif(rs.next()13session.setAttribute(userLogin,user_name);response.sendRedirect(Main.htm);/页面的跳转, 验证成功进入主页面,否则任然停留在登陆页面/elseelseString msg=用户密码错误;request.setAttribute(msg, msg);RequestDispatcherrd=request.getRequestDispatcher(login.js

32、p);rd.forward(request, response);说明:说明:String user_name=request.getParameter(userid);是用于获取登陆页面输入的登录号。String user_pwd=request.getParameter(psword);是用于获取登陆页面输入的登录密码。ResultSet rs=userInter.loginUser(user_name, user_pwd);调用 loginUser方法,将user_name, user_pwd作为参数传入到loginUser方法中,并且将结果集赋值给 rs。if(rs.next()是对

33、re.next()进行逻辑判断,若逻辑值为 1 则执行中间部分的方法。session.setAttribute(userLogin,user_name);是将变量user_name以userLogin为名字保存在session中。response.sendRedirect(Main.htm);表示从当前servlet跳转到Main.htl页面。elseString msg=用户密码错误;request.setAttribute(msg, msg);RequestDispatcherrd=request.getRequestDispatcher(login.jsp);rd.forward(req

34、uest, response);表示当 re.next()逻辑判断为 0 时提醒用户错误信息,并且任然停留在登陆页面,即login.jsp。4.24.2 修改密码设计实现修改密码设计实现代码段代码段 1 1 定义接口:定义接口:packagepackage er;importimport java.sql.SQLException;importimport com.csms.dao.model.UserInfo;14importimport com.mysql.jdbc.ResultSet;publicpublic interfaceinterface User

35、interface publicpublic intint updatePwd(String userLogin,String oldPwd,String newPwd)throwsthrows SQLException, ClassNotFoundException;/修改密码说明:说明:此段代码的作用是定义接口声明相关的方法,public int updatePwd(StringuserLogin,StringoldPwd,StringnewPwd)throwsSQLException,ClassNotFoundException;定义了修改密码方法,此方法声明了在实现修改密码的方法中需要

36、传进的三个参数String userLogin,String oldPwd,String newPwd,即登录号、旧密码和新密码。代码段代码段 2 2 处理数据:处理数据:publicpublic intint updatePwd(String userLogin,String oldPwd,String newPwd) throwsthrowsSQLException, ClassNotFoundException/ TODOTODO Auto-generated method stubStringBuffer strSql=newnew StringBuffer();strSql.appe

37、nd(select * fromusertablewhere);/拼写sql字符串strSql.append( userLogin=+userLogin+andpassword=+oldPwd+);DBconnection db=newnew DBconnection();/连接数据库Connection conn=db.getConn();PreparedStatement pst=(PreparedStatement)conn.prepareStatement(strSql.toString();/将SQL语句传送至服务器或数据库ResultSet rs=(ResultSet) pst.e

38、xecuteQuery();/执行语句,返回结果集ifif(rs.next()StringBuffer strUpdate=newnew StringBuffer();strUpdate.append(update usertableset password=+newPwd+where userLogin=+userLogin+);PreparedStatement pst1=(PreparedStatement)conn.prepareStatement(strUpdate.toString();/将SQL语句传送至服务器或数据库returnreturn pst1.executeUpdate

39、(); /执行sql语句,并且返回结果集elseelsereturnreturn -1;说 明 :说 明 : strSql.append(select * fromusertablewhere); strSql.append(userLogin=+userLogin+and password=+oldPwd+);此段代码是在拼写 sql 语句。15pst=(PreparedStatement)conn.prepareStatement(strSql.toString();。 此段代码是将拼写好的 sql 语句送入 mysql 数据库中。ResultSet rs=(ResultSet) pst.

40、executeQuery();此段代码是将送入数据库中 sql 语句执行, 并且将执行后的结果集赋值给rs。 if(rs.next()此代码是对 rs.next()进行逻辑判断,当逻辑为真时执行 strUpdate.append(updateusertablesetpassword=+newPwd+whereuserLogin=+userLogin+);PreparedStatementpst1=(PreparedStatement)conn.prepareStatement(strUpdate.toString();即系统将用户设定的新密码发送到后台服务器中,服务器在数据库的用户信息表中将用

41、户登录密码设置成新密码。代码段代码段 3 3 在页面对旧密码、新密码、确认密码进行验证:在页面对旧密码、新密码、确认密码进行验证:functionfunction save()ifif(idFrmMain.oldPwd.value=)alert(请填写旧密码);returnreturn;ifif(idFrmMain.newPwd.value!=&idFrmMain.reNewPwd.value!=)ifif(idFrmMain.newPwd.value!=idFrmMain.reNewPwd.value)alert(新密码和确认密码不一致);returnreturn;elseelsea

42、lert(新密码和确认密码不能为空);returnreturn;idFrmMain.action=UserServlet?opt=updatePwd;idFrmMain.submit();说明:说明:ifif(idFrmMain.oldPwd.value=)此段代码的作用是判断oldPwd的值是否为空,若为空则弹出“请填写旧密码”的错误提醒。ifif(idFrmMain.newPwd.value!=&idFrmMain.reNewPwd.value!=)ifif(idFrmMain.newPwd.value!=idFrmMain.reNewPwd.value)此段代码是在判断用户输入的

43、新密码和确认密码是否为空和是否相等, 若输入域为空则提醒用户输入新密码和确认密码, 若新密码和确认密码不一致则提醒用户输入一致的新密码和确认密码。idFrmMain.action=UserServlet?opt=updatePwd;意思是用户选择修改密码后系统会16调用 UserServlet 中的方法。代码段代码段 4 4 获取页面的操作类型:获取页面的操作类型:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException Str

44、ing opt=request.getParameter(opt);System.out.println(opt);if(opt.equals(updatePwd) /判断是否选择修改密码操作try doUpdatePwd(request,response); /执行 doUpdatePwd()方法 catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.prin

45、tStackTrace();说明:说明:opt 是 java 里已经定义好的一种机制,用来获取页面上的一些信息,if(opt.equals(“updatePwd”)是在判断 opt 取到的值是否等于“updatePwd”, 若等于则调用 doUpdatePwd(request,response)方法。代码段代码段 5 5 修改密码的主要方法:修改密码的主要方法:publicvoiddoUpdatePwd(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException,SQLExce

46、ption,ClassNotFoundException HttpSession session=request.getSession();/声明 sessionString userName=(String)session.getAttribute(userLogin);/获取用户登陆 的登录号String oldPwd=request.getParameter(oldPwd);/获取旧密码String newPwd=request.getParameter(newPwd);/获取新密码intresult=userInter.updatePwd(userName,oldPwd,newPwd)

47、;/ 调 用updatePwd()函数,并且传进 userName, oldPwd, newPwd 三个参数String msg=;if(result=-1)msg=旧密码验证失败;else17msg=密码修改成功;request.setAttribute(msg, msg);/将变量 msg 存储在msg中RequestDispatcherrd=request.getRequestDispatcher(common/password1001.jsp);/将 msg 提示信息传送至页面rd.forward(request, response);说明:说明:String userName=(St

48、ring)session.getAttribute(userLogin);String oldPwd=request.getParameter(oldPwd);String newPwd=request.getParameter(newPwd);意思是用 request 获取用户登陆时得登录名并且存储在 session 中,再使用getAttribute()函数将 session 中的值赋给 userName。然后依次使用 request 将“oldPwd”和“newPwd”中的值赋给 oldPwd 和 newP result=userInter.updatePwd(userNam

49、e, oldPwd, newPwd);表示调用 UserImpl中的 upodatePwd()方法,并且将 userName, oldPwd, newPwd 作为参数传进方法体中。request.setAttribute(msg, msg);此段代码的意思是将变量 msg 保存在msg中。RequestDispatcherrd=request.getRequestDispatcher(common/password1001.jsp);此段代码的作用是将 msg 提示信息传送到页面上来,common/password1001.jsp就是修改密码页面的地址。18第第 5 5 章章 总结总结通过这次

50、服装管理系统(csms)实训的学习,我有以下收获:第一,对利用 mysql 数据库作为开发系统工程的数据存储工具有了很大程度的提升。 第二,对软件工程的工程分析方法有了很大程度的提升,比如:对需求分析、概要设计分析、业务描述、可行性分析等有了一些自己的见解。第三,环境不再单一,通过搭建配置 JDK、tomcat、myeclipse 之间的环境变量让我感受到真正做项目不是使用某一种工具就能实现的。第四,对 java 语言的熟练度有了很大提升,同时也领悟到 jsp 的强大力量。第五,这次的服装管理系统是我们一个团队共同开发而成的, 我们每个人在团队里面都担任着不同的角色,但是每个角色都是这个团队不

51、可或缺的部分,因此,通过这次实训,我加强了自己的团队意识、团队合作能力等。总之,这次服装管理系统实训对于我整个能力方面是有很大提升的。19参考文献参考文献1 王行言.java 语言与面向对象程序设计 M.北京:清华大学出版社,2007.1120附附 录录/接口声明package er;import java.sql.SQLException;import com.csms.dao.model.UserInfo;import com.mysql.jdbc.ResultSet;public interface Userinterface public int upd

52、atePwd(String userLogin,String oldPwd,String newPwd)throws SQLException, ClassNotFoundException;/修改密码public ResultSet loginUser(String userLogin,String password) throwsSQLException;/登陆验证/接口实现部分package erImpl;import java.sql.SQLException;import er.Userinterface;import

53、com.csms.dao.model.UserInfo;import com.csms.db.DBconnection;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;import com.mysql.jdbc.ResultSet;import com.mysql.jdbc.Statement;publicclass Userimpl implements Userinterface DBconnection db=null;Connection conn=null;Statement pst=n

54、ull;private String password;public Userimpl() throws ClassNotFoundException, SQLExceptiondb=new DBconnection();conn=db.getConn();pst=(Statement) conn.createStatement();/登陆验证/public ResultSet loginUser(String userLogin, String password) throwsSQLException 21/ TODO Auto-generated method stubStringBuff

55、er strsql=new StringBuffer();strsql.append( select * fromusertablewhere );/拼写修改strsql.append( userLogin=+userLogin+ and );strsql.append( password=+password+);ResultSet rs=(ResultSet) pst.executeQuery(strsql.toString();/执行语句并且返回结果集return rs;/修改密码/public int updatePwd(String userLogin,String oldPwd,St

56、ring newPwd)throws SQLException, ClassNotFoundException/ TODO Auto-generated method stubStringBuffer strSql=new StringBuffer();strSql.append(select * fromusertablewhere);/拼写sql字符串strSql.append( userLogin=+userLogin+andpassword=+oldPwd+);DBconnection db=new DBconnection();/连接数据库Connection conn=db.get

57、Conn();PreparedStatement pst=(PreparedStatement)conn.prepareStatement(strSql.toString();/将SQL语句传送至服务器或数据库ResultSet rs=(ResultSet) pst.executeQuery();/执行语句,返回结果集if(rs.next()StringBuffer strUpdate=new StringBuffer();strUpdate.append(update usertablesetpassword=+newPwd+ where userLogin=+userLogin+);Pre

58、paredStatement pst1=(PreparedStatement)conn.prepareStatement(strUpdate.toString();/将SQL语句传送至服务器或数据库return pst1.executeUpdate(); /执行sql语句,并且返回结果集elsereturn -1;/登陆及修改密码的处理22package com.csms.servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.SQLException;import javax.servlet.

59、RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import er.Userinterface;import erImpl.Userimp

60、l;import com.mysql.jdbc.ResultSet;public class UserServlet extends HttpServlet Userinterface userInter=null;public UserServlet() throws ClassNotFoundException, SQLException super();userInter=new Userimpl();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论