web课程设计.docx

上传人:b****6 文档编号:7296658 上传时间:2023-01-22 格式:DOCX 页数:26 大小:1.43MB
下载 相关 举报
web课程设计.docx_第1页
第1页 / 共26页
web课程设计.docx_第2页
第2页 / 共26页
web课程设计.docx_第3页
第3页 / 共26页
web课程设计.docx_第4页
第4页 / 共26页
web课程设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

web课程设计.docx

《web课程设计.docx》由会员分享,可在线阅读,更多相关《web课程设计.docx(26页珍藏版)》请在冰豆网上搜索。

web课程设计.docx

web课程设计

 

《WEB技术》

课程设计报告

 

题目:

_________用户信息管理系统____________

学院计算机与信息工程学院

班级____商务1101______

学号___1112200108___

姓名___张怀平_______

 

2013年6月

一、任务书

本系统是由我个人自己完成。

系统设计目标如下:

表1

设计目标

用户管理基本功能分为前台客户使用部分、后台管理员使用部分。

前台基本功能,包括客户注册、客户登录、客户基本资料修改,密码修改,客户信息查看等功能。

后台基本功能,包括用户查询、添加用户、用户资料修改、删除用户等功能。

 

开发环境

Mysql,Tomcat,MyEclipse,windows

运行环境

Windows,Tomcat,Mysql

二、设计报告

1、功能分析

1.1功能概况

该系统主要分为前台系统和后台系统。

前台系统功能包括用户注册,用户登陆,用户信息查看,用户密码修改等功能。

后台只有管理员才可以登陆,主要功能有系统用户的添加,系统用户信息的修改,系统用户信息的查询,系统用户删除等。

管理员默认的的账户是yishaoku,密码是123。

如果想改变可以在数据库中的t_manager中进行修改。

普通用户系统中已经存在一些。

如:

账户:

azhang,姓名:

张怀平,密码:

yishaoku等。

系统功能流程图如下:

图1

1.2系统角色设计

该用户管理系统的角色主要由两类,普通用户角色和管理员角色。

其中普通用户又可以分为未注册用户,和已经注册用户。

两类用户各自的权限如下:

用户:

 

图2

管理员:

图3

1.3主要业务流程设计

1.3.1用户注册

图4

1.3.2用户登陆

图5

1.3.3用户修改密码

图6

1.3.4管理员添加用户

图7

1.3.5管理员修改用户信息

图8

1.3.6管理员删除用户

图9

2、数据库表设计

本系统主要是模拟用户的信息管理,主要涉及两张表,普通用户信息表t_user,管理员信息表t_manager。

普通用户信息表如下:

表2

字段名

数据类型

长度

含义

备注

user_id

varchar

11

用户账号

主码

user_name

varchar

50

用户姓名

非空

password

varchar

50

用户密码

非空

contact_tel

varchar

20

联系电话

非空

email

varchar

50

电子邮箱

非空

create_date

datetime

申请日期

非空

普通用户信息表t_user的ER图如下:

图10

管理员信息表如下:

表3

字段名

数据类型

长度

含义

备注

name

varchar

50

用户账号

主码

password

varchar

50

用户姓名

非空

管理员信息表ER图如下:

图11

3、功能实现

普通用户信息表和管理员信息的表通过两个JavaBean来封装,代码如下:

普通用户:

packagecom.bjsxt.drp.business.usermgr.model;

importjava.util.Date;

 

publicclassUser{

privateStringuserId;

privateStringuserName;

privateStringpassword;

privateStringcontactTel;

privateStringemail;

privateDatecreateDate;

publicStringgetContactTel(){

returncontactTel;

}

publicvoidsetContactTel(StringcontactTel){

this.contactTel=contactTel;

}

publicDategetCreateDate(){

returncreateDate;

}

publicvoidsetCreateDate(DatecreateDate){

this.createDate=createDate;

}

publicStringgetEmail(){

returnemail;

}

publicvoidsetEmail(Stringemail){

this.email=email;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

publicStringgetUserId(){

returnuserId;

}

publicvoidsetUserId(StringuserId){

this.userId=userId;

}

publicStringgetUserName(){

returnuserName;

}

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

}

管理员如下:

packagecom.bjsxt.drp.business.usermgr.model;

publicclassManager{

privateStringname;

privateStringpassword;

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

this.name=name;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

}

整个系统对数据库的操作是一个重要的环节,因为对数据库的操作是一个耗资源的操作,所以连接数据库和操作数据库的代码要合理设计,本系统对数据库操作代码如下:

packagecom.bjsxt.drp.business.util;

importjava.sql.*;

publicclassDB{

publicstaticConnectiongetConn(){

Connectionconn=null;

try{

Class.forName("com.mysql.jdbc.Driver");

conn=DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/db_user?

user=root&password=yishaoku");

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

e.printStackTrace();

}

returnconn;

}

publicstaticvoidcloseConn(Connectionconn){

try{

if(conn!

=null){

conn.close();

conn=null;

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

publicstaticvoidcloseStmt(Statementstmt){

try{

if(stmt!

=null){

stmt.close();

stmt=null;

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

publicstaticvoidcloseRs(ResultSetrs){

try{

if(rs!

=null){

rs.close();

rs=null;

}

}catch(SQLExceptione){

e.printStackTrace();

}

}

}

上面的代码是连接数据库服务器,查询服务,修改服务和关闭数据库连接的代码。

接下来介绍该系统具体实现对用户表的CRUD(增删改查)的操作。

代码如下:

具体操作用户信息表的代码:

 

packagecom.bjsxt.drp.business.usermgr.dao;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.sql.Timestamp;

importjava.util.ArrayList;

importjava.util.List;

importcom.bjsxt.drp.business.usermgr.model.User;

importcom.bjsxt.drp.business.util.DB;

publicclassUserDao4MySqlImplimplementsUserDao{

publicvoidaddUser(Connectionconn,Useruser){

Stringsql="insertintot_user(user_id,user_name,password,contact_tel,email,create_date)"

+"values(?

?

?

?

?

?

)";

PreparedStatementpstmt=null;

try{

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,user.getUserId());

pstmt.setString(2,user.getUserName());

pstmt.setString(3,user.getPassword());

pstmt.setString(4,user.getContactTel());

pstmt.setString(5,user.getEmail());

pstmt.setTimestamp(6,newTimestamp(user.getCreateDate().getTime()));

pstmt.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeStmt(pstmt);

}

}

publicvoiddeleteUsers(Connectionconn,String[]userIdList){

StringBuffersbfSql=newStringBuffer();

for(inti=0;i

sbfSql.append("'").append(userIdList[i]).append("'").append(",");

}

Stringsql="deletefromt_userwhereuser_idin("

+sbfSql.substring(0,sbfSql.length()-1)+")";

Statementstmt=null;

try{

stmt=conn.createStatement();

stmt.executeUpdate(sql);

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeStmt(stmt);

DB.closeConn(conn);

}

}

publicListfindAllUserList(){

Stringsql="select*fromt_userorderbyuser_id";

Connectionconn=null;

Statementstmt=null;

ResultSetrs=null;

ListuserList=newArrayList();

try{

conn=DB.getConn();

stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

while(rs.next()){

Useruser=newUser();

user.setUserId(rs.getString("user_id"));

user.setUserName(rs.getString("user_name"));

user.setPassword(rs.getString("password"));

user.setContactTel(rs.getString("contact_tel"));

user.setEmail(rs.getString("email"));

user.setCreateDate(rs.getTimestamp("create_date"));

userList.add(user);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeRs(rs);

DB.closeStmt(stmt);

DB.closeConn(conn);

}

returnuserList;

}

publicUserfindUserById(StringuserId){

Stringsql="select*fromt_userwhereuser_id=?

";

Useruser=null;

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

conn=DB.getConn();

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,userId);

rs=pstmt.executeQuery();

if(rs.next()){

user=newUser();

user.setUserId(rs.getString("user_id"));

user.setUserName(rs.getString("user_name"));

user.setPassword(rs.getString("password"));

user.setContactTel(rs.getString("contact_tel"));

user.setEmail(rs.getString("email"));

user.setCreateDate(rs.getTimestamp("create_date"));

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeRs(rs);

DB.closeStmt(pstmt);

DB.closeConn(conn);

}

returnuser;

}

publicUseruserSearch(StringuserId,Stringpassword){

Stringsql="select*fromt_userwhereuser_id=?

andpassword=?

";

Useruser=null;

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

conn=DB.getConn();

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,userId);

pstmt.setString(2,password);

rs=pstmt.executeQuery();

if(rs.next()){

user=newUser();

user.setUserId(rs.getString("user_id"));

user.setUserName(rs.getString("user_name"));

user.setPassword(rs.getString("password"));

user.setContactTel(rs.getString("contact_tel"));

user.setEmail(rs.getString("email"));

user.setCreateDate(rs.getTimestamp("create_date"));

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeRs(rs);

DB.closeStmt(pstmt);

DB.closeConn(conn);

}

returnuser;

}

publicvoidmodifyUser(Connectionconn,Useruser){

Stringsql="updatet_usersetuser_name=?

password=?

contact_tel=?

email=?

whereuser_id=?

";

PreparedStatementpstmt=null;

try{

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,user.getUserName());

pstmt.setString(2,user.getPassword());

pstmt.setString(3,user.getContactTel());

pstmt.setString(4,user.getEmail());

pstmt.setString(5,user.getUserId());

pstmt.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeStmt(pstmt);

}

}

}

操作管理员的代码:

packagecom.bjsxt.drp.business.usermgr.dao;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importcom.bjsxt.drp.business.usermgr.model.Manager;

importcom.bjsxt.drp.business.util.DB;

publicclassManagerDao4MySqlImplimplementsManagerDao{

publicManagerfindManager(Stringname,Stringpassword){

Stringsql="select*fromt_managerwherename=?

andpassword=?

";

Managermanager=null;

Connectionconn=null;

PreparedStatementpstmt=null;

ResultSetrs=null;

try{

conn=DB.getConn();

pstmt=conn.prepareStatement(sql);

pstmt.setString(1,name);

pstmt.setString(2,password);

rs=pstmt.executeQuery();

if(rs.next()){

manager=newManager();

manager.setName(rs.getString("name"));

manager.setPassword(rs.getString("password"));

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DB.closeRs(rs);

DB.closeStmt(pstmt);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1