web课程设计.docx
- 文档编号:11214538
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:29
- 大小:1.48MB
web课程设计.docx
《web课程设计.docx》由会员分享,可在线阅读,更多相关《web课程设计.docx(29页珍藏版)》请在冰点文库上搜索。
web课程设计
《WEB技术》
课程设计报告
题目:
_________用户信息管理系统____________
学院计算机与信息工程学院
班级____商务1101______
学号___**********___
姓名___张怀平_______
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
联系电话
非空
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 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)。 DB.closeConn(conn)。 } retu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- web 课程设计