JAVA课程设计--简单用户管理系统的设计与开发
武汉理工大学华夏学院
课程设计报告书
课程名称: JAVA课程设计
题 目:简单用户管理系统的设计与开发 系 名: 信息工程系
专业班级: 计算机1112
姓 名: 高文奇
学 号: 10210411205
指导教师: 刘春燕
2013年 9 月 13 日
课程设计任务书
学生姓名: 高文奇 专业班级: 计算机1112 指导教师: 刘春燕 工作单位: 信息工程系 设计题目: 简单用户管理系统的设计与开发
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1.实现用户登录检测,密码修改;
2.用户信息管理
(1)用户信息输入;
(2)信息查询,可根据不同关键字进行条件查询;
(3)用户信息修改:拥有权限的操作员可以修改,删除普通用户;
设计报告撰写格式要求:
1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。
2、设计报告:要求层次清楚、整洁
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录)
时间安排:
消化资料、系统调查 1天
项目原型开发 1天
数据库建模 1天
系统管理 1天
用户管理 2天
系统功能实现 3天
系统打包,验收 1天
指 导 教 师 签 字: 2013年 9 月 1 日
系 主 任 签 字: 2013 年 9 月 1 日
1 目标
1.1实现用户登录检测,密码修改;
1.2用户信息管理
1.2.1 用户信息输入;
1.2.2 信息查询,可根据不同关键字进行条件查询;
1.2.3 用户信息修改:拥有权限的操作员可以修改,删除普通用户;
2 软件开发环境与技术简介
2.1 开发工具介绍
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。
SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化mysql数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。
2.2 数据库系统
数据库是以某种文件结构存储的一系列信息
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
选择行。数据库通常有多个 索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。
2.3 硬件环境
可以安装在WindowsXP系统或网络系统环境下。
2.4 软件环境
MyEclipse,navicat8_mysql_cs
3 系统需求分析
1. 系统应建立友好的界面,既要操作简单、直观、,又要易于学习掌握。开发用户管理系统的目的是为了方便管理员对于用户信息的管理,包括修改、删除、输入等。
2.系统在对于不同用户名密码时,将给出不同权限功能,比如,普通用户只能查看、修改自己的信息,而对于管理员,则包括用户信息输入;信息查询,可根据不同关键字进行条
件查询;用户信息修改,可以修改,删除普通用户。
3.该系统主要是面对系统管理员,故操作应该简单易懂,对于每一步的操作,都有不同的选择性,更显得系统的人性化。
4 系统总体设计
4.1 系统功能简介
1. 当以管理员权限进入系统后可以进行系统的管理、查询、输入用户信息以及删除等操作。
2. 当以普通用户权限进入系统后可以对自己的基本信息进行查看,以及密码的修改。
4.2 系统功能模块
规划
污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文
登陆
管理员 普通用户
查输修删切登修切
询入改除换陆改换
信信信用账检密账
息 息 息 户 号 测 码 号
图(1) 系统的整体功能模块框架图
4.3 系统数据库设计
首先创建数据库,然后在数据库中创建一个tb_userd的表,再表中建立用户的基本信息,包括姓名,性别,年龄,电话,地址等等的基本信息。同时建立一个admin_user的表,在表中建立管理员的信息,包括账号和密码。
4.4 数据库的连接技术
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序.
5 系统详细设计
1. 登陆模块:在该模块中,用户选择登陆权限后,对于用户输入的信息进行判断该用户是否有权利进入系统,用户通过在该页面中输入的用户名和密码,点击确定的同时系统到数据库中自动核对用户的信息,核对无误后可以成功进入系统。
2.输入信息模块:在该模块中,普通用户只能在其中修改自己的信息,包括密码等,同时可以检测自己信息的正误。对于管理员,则可以在数据库中修改,删除所有用户的基本信息,而且还可以进行用户信息的输入,还可以查询基本信息。
3.数据库模块:该模块是用来存储管理员以及普通用户输入或者注册的基本信息,数据库的建立与MyEclipse相连接,输入的信息进入数据库,方便管理员的管理以及用户的查询。
4.查看信息页面模块:因为系统页面是整个系统的开始,占据十分重要的位置,好的页面会给人一种清新愉快的感觉,所以主页面的设计一改传统的框架结构,设计出了个性很强并且感觉非常舒适的界面,不同的权限用户登录后系统的主页面的次啊单也不同。
5.修改信息模块:系统分为两种情形来进行修改模块的执行,当管理员进入系统之后,通过查看信息页面的修改按钮,来执行修改,修改的类容包括用户的所有信息;当用户进入系统,通过查看自己本身的信息页面的修改按钮,来执行修改密码的功能。
6.删除模块:在查看信息页面中,通过点击删除按钮,管理员来执行删除功能,具有权限性质。
6 系统测试与运行
图(2) 登陆界面
图(3) 管理员登陆界面
图(4) 普通用户登陆界面
图(5)信息界面
图(6)修改界面
图(7)注册界面
图(8)数据库界面
总 结
课程实训是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而java语言又是最常见,功能最强大的一种高级语言,因此做好java语言课程设计是十分必要的。 回顾起此次课程设计,至今我们仍感慨颇多,的确,自从老师讲解到完成整个编程,从理论到实践,在整整二个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做一个项目,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说数据库,页面的跳转……通过这次课程设计之后,我们把前面所学过的知识又加强认识了一遍。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的模块化思想,分部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习java语言的一次实践作业,自己进步的证明。
通过这次课程设计,使我对java语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对java语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对java语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习java语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过 程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。
参 考 文 献
[1]. 王建华. ASP NET 2.0 动态网站开发技术与实践[M].北京:电子工业出版社,2007. [2]. 毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007年. [3]. 王保罗.Java面向对象程序设计[M]. 北京:清华大学出版社,2003年. [4]. 高林,周海燕.Jsp网上书店系统与案例分析[M]. 北京:人民邮电出版社,2004年. [5]. 刘腾红,孙细明.信息系统分析与设计[M]. 北京:科学出版社,2003年. [6]. 林邦杰,彻底研究java.北京:电子工业出版社,2002年.
[7]. 钱雪忠《数据库原理及应用》 北京邮电大学出版社 2007,8 第二版
设计过程中质疑(或答辩)记载:
1.管理员与普通用户是如何区别开来的,
答:在登陆界面设置管理员个用户两个按钮,点击管理员登陆后,通过跳转页面功能,进入到admin_index.jsp操作页面,然后进行相应的管理员操作,相应的点击用户登陆后,进入到index.jsp操作页面,用户再进行相应操作。
2. 如何删除相应的信息,
答:在allinfo.jsp页面中,语句a href="DeleteByIdServlet?uid=<%=list.get(i).getUid()%>"来执行删除功能 ,通过建立DeleteByIdServlet来进行删除这一具体步骤。
3. jsp页面与java的联系以及jsp的运行,
答:在java里能用的,在jsp都能用,,jsp运行时,是翻译成相应的servlet,也就是一个java类,但他只在创建文件第一次运行,或有修改的运行才会重新编译,如果没有修改则不用重新编译。
指导教师评语:
签名:
13年 9月 13 日
附录A:系统核心代码
1.数据库代码
/*
SQLyog Enterprise - MySQL GUI v6.06
Host - 5.0.20a-nt : Database - wb
********************************************************************* Server version : 5.0.20a-nt
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
create database if not exists `wb`;
USE `wb`;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*Table structure for table `tb_user` */
DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (
`uid` int(11) NOT NULL auto_increment,
`username` varchar(50) default NULL,
`upass` varchar(50) default NULL,
`sex` varchar(50) default NULL,
`age` int(11) default NULL,
`email` varchar(50) default NULL,
`tel` varchar(50) default NULL,
`qq` varchar(50) default NULL,
`descr` varchar(50) default NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
/*Data for the table `tb_user` */
insert into
`tb_user`(`uid`,`username`,`upass`,`sex`,`age`,`email`,`tel`,`qq`,`descr`) values
(1,'ryrt','tyrtyr','trtytr',22,'345345','35345','543543','4553'),(2,'aa','123',NULL,NULL,NULL,NULL,NULL,NULL),(3,'a1a','123',NULL,NULL,NULL,NULL,NULL,NULL),(4,'admin','123','11',111,'11','11','111','11'),(5,'haha','haha','haha',11,'haha','haha','haha','hahadaxiao'),(6,'qqq','111','123',12,'123','21213','21313','13213');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
2.jsp页面代码
<%@ page language="java" import="java.util.*,com.softeem.model.*"
pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
//接收数据
User user=(User)request.getAttribute("user");
%>
注册页面
修改信息
3. Servlet页面代码
package com.softeem.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.softeem.dao.UserDAO;
import com.softeem.model.User;
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//获取信息
String adname=request.getParameter("username");
String adpass=request.getParameter("upass");
String id=request.getParameter("id");
//System.out.println("username="+username);
//System.out.println("upass="+upass);
if(id.equals("管理员")){
UserDAO ud=new UserDAO();
boolean flag=ud.loginadmin(adname, adpass);
if(flag){
//可以登陆
//将我们胡用户名放入session会话
request.getSession().setAttribute("username", adname);
request.getSession().setAttribute("upass", adpass);
response.sendRedirect("admin_index.jsp");
}else{
//不能登陆
response.sendRedirect("login.jsp");
}
//response.sendRedirect("admin_index.jsp");
}
else{
UserDAO ud=new UserDAO();
boolean flag=ud.login(adname, adpass);
if(flag){
//可以登陆
//将我们胡用户名放入session会话
request.getSession().setAttribute("username", adname);
List
list=ud.findselfinfo(adname, adpass);
//将数据传输到页面上去
request.setAttribute("list",list);
request.getRequestDispatcher("index.jsp").forward(request,
response);
// request.getRequestDispatcher("index.jsp").forward(request,
response);
}else{
//不能登陆
response.sendRedirect("login.jsp");
}//不能登陆
//response.sendRedirect("index.jsp");
}
}
}
4. 用户信息代码
package com.softeem.model;
public class User {
private int uid;
private String username;
private String upass;
private String sex;
private String age;
private String qq;
private String tel;
private String email;
private String descr;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDescr() {
return descr;
}
public void setDescr(String descr) {
this.descr = descr;
}
public String toString() {
return "uid:"+uid+";username:"+username+";sex:"+sex;
}
}