毕业设计-用户管理系统的设计与开发_第1页
毕业设计-用户管理系统的设计与开发_第2页
毕业设计-用户管理系统的设计与开发_第3页
毕业设计-用户管理系统的设计与开发_第4页
毕业设计-用户管理系统的设计与开发_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、XXXX大学XX学院毕业设计报告书课程名称:软件开发毕业设计题目:用户管理系统的设计与开发系名:XXXX系专业班级:XXXX专业XXXX班姓名:学号:指导教师:年月日课程设计任务书学生姓名:专业班级:指导教师:工作单位:设计题目:用户管理系统的设计与开发初始条件:了解软件工程基本知识,掌握JAVA编程基础,了解基本的软件开发工具。要求完成的主要任务:功能:用户可以注册,然后登陆,有错误提示等。登陆成功以后,会列出所有用户的记录信息。登陆用户可对记录进行增加、修改、删除、查询等操作。技术:jsp+servlet+tomcat6.0+mysql设计报告撰写格式要求:一、课程设计说明书(或报告书)正

2、文内容【设计题目】用户管理系统的设计与开发【开发环境】windowsXP【开发工具】MyEclipse7.0,tomcat6.0,MySQL【完成时间】【设计思想】描述确定设计内容后,自己如何思考的、确定设计的方案是什么?打算如何实现【设计过程及设计步骤】将设计的步骤及实施过程分步总结写出来【测试运行】描述对于自己给定的数据,运行后的结果如何?【评价与修订】对自己设计内容及结果进行全面评价描述,包括:创造性、独特性、满意程度及不足处,并提出改进意见;【设计体会】总结本次实训经验、教训、收获、体会,为今后的实践环节学习打好基础【参考文献】罗列在设计过程中查阅的文献名称时间安排:目录TOC o 1

3、-5 h z HYPERLINK l bookmark6 第1章需求分析1 HYPERLINK l bookmark8 1.1设计题目1 HYPERLINK l bookmark10 1.2设计要求1 HYPERLINK l bookmark12 1.3设计任务1 HYPERLINK l bookmark14 1.4开发环境与工具2 HYPERLINK l bookmark16 第2章概要设计2 HYPERLINK l bookmark18 设计思想2 HYPERLINK l bookmark20 系统功能设计2 HYPERLINK l bookmark22 第3章详细设计3 HYPERLIN

4、K l bookmark34 第4章设计运行结果与分析13 HYPERLINK l bookmark36 运行结果13用户登录界面13添加用户13修改用户信息14删除用户15查询用户15结果分析16 HYPERLINK l bookmark52 第5章设计体会与小结17 HYPERLINK l bookmark54 参考文献17附录14第1章需求分析设计题目用户管理系统的设计与开发。设计要求了解软件工程基本知识。掌握JAVA编程基础。了解基本的软件开发工具。设计任务(1)设计一个用户管理系统,用户能够注册、登陆,登陆成功后,会列出所有用户的记录信息。(2)登录用户能够对记录进行增加、删除、修改

5、,查询操作。开发环境工具WindowsXP系统,MyEclipse7.0,tomcat6.0,MySQL等开发工具。第2章概要设计2.1设计思想本次课程设计通过使用MYSQL,Myeclisp7.0,Tomcat6.0等软件,首先设计一个用户管理系统,以达到用户能够注册、登陆,登陆成功后,会列出所有用户的记录信息的目的最后能实现登录用户能够对记录进行增加、删除、修改,查询操作等工作。首先利用Mysql软件创建数据库,命名为db_user;然后,在db_user中创建表,命名为tb_user,在表中创建4个字段:用户编号(userId),用户姓名(userName),用户密码(userPass)

6、,用户年龄(userAge),并且将用户编号设置为主键。进行数据库连接,最后在Myeclisp7.0工具中去运行编程结果以达到用户登录进行增加、删除、修改,查询操作。系统功能设计2.2系统功能图第3章详细设计3.1创建数据库,在数据库中建立用户信息表:Createdatabasedb_userUsedb_userCreatetabletb_user(useridintnotnullprimarykey,userNamevarchar(20),userPassvarchar(50),userAgeint)创建数据库连接:importjava.sql.Connection;importjava.s

7、ql.DriverManager;importjava.sql.SQLException;publicclassDBConnectionprivatestaticStringdriverName=com.mysql.jdbc.Driver;privatestaticStringuserName;privatestaticStringuserPass;privatestaticStringurl=jdbc:mysql:/localhost:3306/db_user;publicstaticConnectiongetConnection(String_url,String_userName,Str

8、ing_userPass)userName=_userName;userPass=_userPass;url=_url;Connectionconn=null;tryClass.forName(driverName);conn=DriverManager.getConnection(url,userName,userPass);catch(ClassNotFoundExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();catch(SQLExceptione)/TODOAuto-generatedcatchblocke.print

9、StackTrace();returnconn;publicstaticConnectiongetConnection()returngetConnection(url,root,123456);publicstaticvoidcloseConnection(Connectionconn)if(conn!=null)tryconn.close();catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();用户主要功能的实现:importjava.sql.Connection;importjava.sql.Prepa

10、redStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importcom.softeem.dto.UserDTO;publicclassUserDAOprivateConnectionconn;privateStatementst;privateResultSetrs;privateStringsql;publicvoidadd(UserDTOuser)conn=DBConnection.getConnection(

11、);tryst=conn.createStatement();sql=insertintotb_user(userName,userPass,userAge)values(+user.getUserName()+,+user.getUserPass()+,+user.getUserAge()+);intm=st.executeUpdate(sql);if(m!=0)System.out.println(”添加成功);DBConnection.closeConnection(conn);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.prin

12、tStackTrace();publicvoidupdate(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=updatetb_usersetuserName=+user.getUserName()+,userPass=+user.getUserPass()+,userAge=+user.getUserAge()+whereuserId=+user.getUserId()+;*?intm=st.executeUpdate(sql);if(m!=0)System.out.println(

13、”修改成功”);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();publicvoiddelete(intn)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=deletefromtb_userwhereuserId=+n+;intm=st.executeUpdate(sql);if(m!=0)System.out.println(”删除成功”);catch(SQLExceptione)/TODOAuto-generated

14、catchblocke.printStackTrace();publicArrayListselectAll()ArrayListlist=newArrayList();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_user;rs=st.executeQuery(sql);while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(us

15、erName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;publicUserDTOselectById(intn)UserDTOuser=newUserDTO();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_userwhereuserId=

16、+n+;rs=st.executeQuery(sql);while(rs.next()user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);catch(SQLExceptione)e.printStackTrace();returnuser;publicArrayListselectByProperty(Stringproperty,Stringvalue

17、)ArrayListlist=newArrayList();conn=DBConnection.getConnection();PreparedStatementpst=null;tryif(property.equals()|property=null|value.equals()|value=null)sql=select*fromtb_user;pst=conn.prepareStatement(sql);elsesql=select*fromtb_userwhere+property+like?;pst=conn.prepareStatement(sql);pst.setString(

18、1,%+value+%);System.out.println(sql);rs=pst.executeQuery();while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace(

19、);returnlist;publicbooleancheckLoginuser(UserDTOuser)booleanflag=false;conn=DBConnection.getConnection();tryst=conn.createStatement();/sql=select*fromtb_userwhereuserName=+/user.getUserName()/+anduserPass=+user.getUserPass()+;/查询满足userName和userPass条件的记录sql=selectcount(*)fromtb_userwhereuserName=+use

20、r.getUserName()+anduserPass=+user.getUserPass()+;/sql=selectuserPassfromtb_userwhereuserName=+user.getUserName()+;/执行sql语句rs=st.executeQuery(sql);/对结果集进行遍历如果查询的记录条数大于0则说明数据库存在该条记录此时改变flag的值while(rs.next()if(rs.getInt(1)0)flag=true;catch(SQLExceptione)e.printStackTrace();returnflag;测试过程:publicclassUs

21、erDAOTestTestpublicvoidtestAdd()UserDTOuser=newUserDTO();user.setUserName(admin);user.setUserPass(123456);user.setUserAge(43);UserDAOdao=newUserDAO();dao.add(user);TestpublicvoidtestUpdate()UserDTOuser=newUserDTO();user.setUserId(1);user.setUserName(test);user.setUserPass(1111111);user.setUserAge(11

22、1);UserDAOdao=newUserDAO();dao.update(user);Testpublicvoiddelete()UserDAOdao=newUserDAO();dao.delete(1);TestpublicvoidtestSelectAll()UserDAOdao=newUserDAO();ArrayListlist=dao.selectAll();for(inti=0;ilist.size();i+)System.out.println(list.get(i).getUserId()+t+list.get(i).getUserName()+t+list.get(i).g

23、etUserPass()+t+list.get(i).getUserAge();TestpublicvoidtestSelectById()UserDAOdao=newUserDAO();UserDTOuser=dao.selectById(6);System.out.println(user.toString();TestpublicvoidtestCheckLoginuser()UserDTOuser=newUserDTO();user.setUserName(Lucy);user.setUserPass(123456);UserDAOdao=newUserDAO();booleanfla

24、g=dao.checkLoginuser(user);System.out.println(flag);第4章设计运行结果与分析4.1运行结果4.1.1用户登录界面运行login.jsp得到的结果如下:用户名:登录|垂置图3.1.1用户登陆界面4.1.2添加用户点击页面的增加选项,弹出如下窗口,添加新用户,用户名为admin,设置密码,用户年龄。设置完成后,点击增加按钮。添加用户成功后,显示页面如下:图3.1.2增加用户4.1.3修改用户信息点击页面的“编辑“按钮,修改用户名为”admin“的用户信息,将其用户密码修改为123456。修改页面如下图用户名:|admin用户密码,1123455图

25、3.1.3修改用户信息修改成功后,页面显示如下图用户負ditm用户IDI用戸肋勺用户姓呂用户密码用户年龄操作admii编辑删隐用户負ditm用户IDI用戸肋勺用户姓呂用户密码用户年龄操作admii编辑删隐图3.1.3修改后用户信息4.1.4删除用户点击“删除”按钮,删除用户姓名为“a”,即删除。4.1.5查询用户查询某用户信息,查询结果如图:图3-7用户信息图3-7用户信息曲户:丘血曲|PtD|admin用户山用户姓考用户密帶曲户行龄操作图3.1.5图3.1.5查询结果4.2结果分析本次课程设计基本达到了任务要求,用户在登录界面登录后,经过运行和调试能够成功的注册、登陆,登陆成功后,会列出所有

26、用户的记录信息。最后登陆对用户信息进行添加,删除,修改以及最后进行查询,都达到了预期的结果,如3.1中设计结果的运行和所得出的视图。同时设计过程中依然存在许多不足,主要是对开发工具的不能熟练掌握和功能的运用,从而导致用户界面不够好,编程和运行时出现了些问题。用jsp开发和java语言来进行编程以及对开发工具Myeclipse的使用得到了添加,删除,修改以及查询最终得到了用户界面基本符合课程设计的要求。第5章设计体会与小结通过近两个星期的软件开发工具的课程设计,让我学到了很多东西,尤其是让我学会了使用JSP的开发和进一步熟悉和掌握了java语言的编程以及对开发工具Myeclipse的使用。在这次

27、课程设计中,经过指导老师近两个星期的讲解,不断的丰富我们软件开发工具的知识,让我受益匪浅同时也检验了我所学习的知识,重要的是让我在平时中没有理解和掌握的东西有了进一步深入的理解。在设计过程中,我也遇到了很多问题和困难,在与同学们相互探讨,相互学习的过程中让我逐渐掌握了解决这些困难的技巧。我觉得课程设计,主要在于通过理论与实际的结合,提高我们平时课堂中学不到的东西,如何理论联系实际。通过实践可以我意识到了的课堂学习与实际工作学习的差距,平时我们更应该去好好学习去掌握每个知识点才能为我们的实际动手能力打下良好的基础。本次课程设计我深深的感受到平时学习中存在的不足,让我体会深刻,在以后的学习中我们应

28、更加努力。课程设计过程中我的实际能力不好,因此碰到很多问题,通过对问题的解决我的动手能力才慢慢开始熟练起来。只有理论联系实际才能出真知,在今后的学习过程中我将继续努力去熟练掌握我们所学的课堂知识,在实际中的运用过程中才能发挥自如。两个星期的学习让我学到了很多,感受也很深,做任何事都要一步步的熟练掌握从无到有,才能得出想要的结果和成果。今后我将继续好好学习。参考文献软件工程方法与实践,窦万峰,机械工业出本社,2010年7月数据库原理与应用,夏冰冰,国防工业出版社,2009.12软件工程概论,卫红春,清华大学出版社,2007.9附录:部分源代码packagecom.softeem.dto;/*ve

29、rsion1122author姜贝*/publicclassUserDTOprivateintuserId;privateStringuserName;privateStringuserPass;privateStringuserSex;privateintuserAge;privateStringuserEmail;publicUserDTO()publicintgetUserId()returnuserId;publicvoidsetUserId(intuserId)this.userId=userId;publicStringgetUserName()returnuserName;pub

30、licvoidsetUserName(StringuserName)this.userName=userName;publicStringgetUserPass()returnuserPass;publicvoidsetUserPass(StringuserPass)this.userPass=userPass;publicStringgetUserSex()returnuserSex;publicvoidsetUserSex(StringuserSex)this.userSex=userSex;publicintgetUserAge()returnuserAge;publicvoidsetU

31、serAge(intuserAge)this.userAge=userAge;publicStringgetUserEmail()returnuserEmail;publicvoidsetUserEmail(StringuserEmail)this.userEmail=userEmail;OverridepublicStringtoString()returnUserDTOuserAge=+userAge+,userEmail=+userEmail+,userId=+userId+,userName=+userName+,userPass=+userPass+,userSex=+userSex

32、+;packagecom.softeem.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet. HYPERLINK http:/http.HttpServlet http.HttpServlet;importjavax.servlet. HYPERLINK http:/http.HttpServletRequest http.HttpServletRequest;importjavax.servlet. HYPERLINK http:/http.HttpServle

33、tResponse http.HttpServletResponse;importcom.softeem.dao.UserDAO;importcom.softeem.dto.UserDTO;/*version1122author姜贝*/publicclassLoginUserCheckextendsHttpServletpublicLoginUserCheck()super();publicvoiddestroy()super.destroy();/JustputsdestroystringinlogpublicvoiddoGet(HttpServletRequestrequest,HttpS

34、ervletResponseresponse)throwsServletException,IOException/接收从页面传过来的数据注意/第一点:页面表单里面的name要和servlet里面的name要一样/第二点:如果是int类型的话那么就需要转型String-intStringusername=request.getParameter(username);Stringuserpass=request.getParameter(userpass);/将接收到的值复制给user对象通过set方法UserDTOuser=newUserDTO();user.setUserName(usern

35、ame);user.setUserPass(userpass);UserDAOdao=newUserDAO();/将登陆的用户名和密码与数据库进行校验如果存在记录那么就返回一个true值然后就跳转到用户管理页面/如果返回值为false那么就往登陆页面跳转同时给出提示booleanflag=dao.checkLoginuser(user);if(flag=true)request.getSession().setAttribute(user,user);request.getRequestDispatcher(/servlet/UserManager).forward(request,respo

36、nse);elserequest.setAttribute(msg,用户名或者密码错误);request.getRequestDispatcher(/login.jsp).forward(request,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptiondoGet(request,response);publicvoidinit()throwsServletExceptionackagecom.softeem.dao

37、;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importcom.softeem.dto.UserDTO;/*version1122author姜贝*/publicclassUserDAO/*/privateConnectionconn;privateStatementst;privateResultSetrs;pr

38、ivateStringsql;/*增加*paramuser*/publicvoidadd(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=insertintotb_user(userName,userPass,userAge)values(+user.getUserName()+,+user.getUserPass()+,+user.getUserAge()+);intm=st.executeUpdate(sql);if(m!=0)System.out.println(添加成功);ca

39、tch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*修改*paramuser*/publicvoidupdate(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=updatetb_usersetuserName=+user.getUserName()+,userPass=+user.getUserPass()+,userAge=+user.getUserAge()+whereuserId=+user.

40、getUserId().,+;intm=st.executeUpdate(sql);if(m!=0)System.out.println(修改成功);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*删除*paramn*/publicvoiddelete(intn)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=deletefromtb_userwhereuserId=+n+intm=st.executeUpdate(

41、sql);if(m!=0)System.out.println(删除成功);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*查询所有*return*/publicArrayListselectAll()ArrayListlist=newArrayList();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_user;rs=st.executeQuery(sql);while(rs.next

42、()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;/*根据ID进行查找*paramn*return*/publicUserDTOselectById(intn)User

43、DTOuser=newUserDTO();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_userwhereuserId=+n+;rs=st.executeQuery(sql);while(rs.next()user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(

44、userAge);catch(SQLExceptione)e.printStackTrace();returnuser;/*根据不同的属性值进行查找*paramproperty*paramvalue*return*/publicArrayListselectByProperty(Stringproperty,Stringvalue)ArrayListlist=newArrayList();conn=DBConnection.getConnection();PreparedStatementpst=null;tryif(property.equals()|property=null|value.

45、equals()|value=null)sql=select*fromtb_user;pst=conn.prepareStatement(sql);elsesql=select*fromtb_userwhere+property+likepst=conn.prepareStatement(sql);pst.setString(1,%+value+%);System.out.println(sql);rs=pst.executeQuery();while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;/*检验登录用户*paramuser*re

温馨提示

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

评论

0/150

提交评论