基于java的在线用户注册管理系统文档格式.docx
《基于java的在线用户注册管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《基于java的在线用户注册管理系统文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
系统:
Windows8.1
JDK版本:
1.6
开发平台:
Eclipse
Web服务器:
ApacheTomcat
数据库:
SQL2008
随着上网人数的剧增,一个网站的用户动辄上万,如果仅是简单的排列,必将在今后的管理中出现种种困难,譬如用户登录时的速度将会很慢(用户名和密码验证的时间将会延长),从而影响用户对网站的评价,再如管理员对增、删、改、除操作时的速度也相当无法让人接受。
为此,我们开发了在线用户管理系统,运用逻辑性较强的数据库设计了用户表,可以实现用户快速登陆、快速添加用户、快速修改用户、快速查看用户、快速删除、分页管理。
1、能够实现用户的增、删、改、查四项基本操作。
允许出现重名的现象,另外在在删除的时候提供了删除所有重名用户的信息和删除指定编号的用户的两种方法,更加贴近现实。
2、能够将程序中的数据存储到data.txt文件中,另外,能在程序中通过Swing中的table组件将文件中的内用进行打印出来。
可以直观的看到文件内部的结果。
3、提供了“按用户编号排序”、“按名字大小排序”、“按年龄排序”等三种排序方法。
4、提供留言建议功能,普通用户登录之后,可以在线留言,表达自己的想法。
用户分类:
管理员、普通用户。
管理员权限:
登陆系统、修改密码、删除用户、修改用户信息、添加用户、查看用户、退出系统等。
普通用户权限:
登陆系统、修改密码、查看用户、退出系统等。
特色功能:
分页管理、高级搜索用户、批量修改用户信息
附管理员权限和普通用户权限如下图:
第4章设计思路
4.1设计思路
①每个页面顶部设置链接(修改密码、删除用户、修改用户信息、添加用户、查看用户、退出系统),可以直接快捷到达相应的页面。
2通过分页处理技术,解决一次查询用户数量过多的情况
③设计SQL数据库Manage,数据库表User,数据库表Administer。
4.2设计思想
①利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用现在资源提高系统开发水和和应用效果的目的。
②系统应该符合软件工程开发的理论,开发方法等开发依据。
③系统应该满足用户管理人员的需求,操作过程中的直观、方便、实用、安全等要求。
④系统具备系统库维护功能,及时根据用户需求进行数据库的各种操作。
⑤系统采用原型,使用模块化程序设计方法,便于系统功能的各种组合和修改,以及系统测试与维护。
4.3设计模式
设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。
本系统开发采用目前一种目前广泛流行的软件设计模式MVC。
MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。
这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。
把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
如下图所示:
第5章系统设计
5.1系统概要
系统总体上分为前台页面显示和后台管理。
前台页面(即系统首页)实现了管理员公告、用户注册、留言建议、用户查询四大功能。
而后台的页面则集成了用户信息管理中所需的功能。
平时用户信息管理员的工作都是在后台中完成的前台是给普通用户显示的。
用户们可以看到管理员公告,并可以给管理员留言建议。
相应的后台是针对用户信息管理员,后台的页面都是加密的,如果不正常登录是进入不了后台管理页面的,后台的功能具体包括:
发布首页公告,用户的信息管理。
5.2功能概述
本系统的功能模块的设计如下图所示,整个管理系统包含基本信息设置、用户信息管理、查询用户管理、添加用户管理、修改用户管理五大部分。
5.3架构设计
采用了三层架构设计,工作原理如下所示:
采用三层架构之后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。
5.4数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
每个表的逻辑功能结构设计如下:
普通用户信息表User,记录普通用户的信息
管理员用户信息表Administer,记录管理员信息。
创建数据库的代码:
代码1:
createdatabaseManage;
useManage;
createtableUser(
Idintprimarykeyauto_increament,
Usernamevarchar(4)notnull,
Passwordvarchar(100)notnull,
Sexvarchar(50),
Addressvarchar(50),
Phonevarchar(25),
Emailvarchar(25),
Retimedatatime(8)notnull)
代码2:
createtableAdminister(
Adminnamevarchar(20)notnull,
Adminpassvarchar(50)notnull)
第6章运行界面及关键代码
<
%@pagelanguage="
java"
contentType="
text/html;
charset=GB18030"
pageEncoding="
GB18030"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
"
http:
//www.w3.org/TR/html4/loose.dtd"
>
html>
head>
metahttp-equiv="
Content-Type"
content="
title>
用户信息注册<
/title>
/head>
body>
center>
<
formaction="
registdo.jsp"
p>
带有“*”的选项为必填选项<
/p>
ID:
inputtype="
text"
name="
ID"
>
&
nbsp;
*<
用户名:
username"
密&
码:
password"
userpass"
性&
别:
sex"
地&
址:
address"
电&
话:
phone"
邮&
箱:
email"
submit"
value="
注册"
reset"
重填"
/form>
/center>
/body>
/html>
%@pageimport="
java.sql.*"
%>
com.DB_bean"
在线用户注册管理系统<
REGIST1
%
Stringsex=null;
if(request.getParameter("
)!
=null)
sex=request.getParameter("
);
DB_beandb=newDB_bean();
ResultSetrs=null;
if(sex==null)
rs=db.query("
select*fromusersorderbyusername"
else
rs=db.query("
select*fromuserwheresex='
"
+sex+"
'
orderbyusername"
P>
ahref="
regist.jsp"
插入用户记录<
/a>
tableborder="
1"
tr>
td>
ID号<
/td>
用户名<
性别<
地址<
电话<
邮箱<
/tr>
while(rs.next())
{
StringID=rs.getString("
%=ID%>
%=rs.getString("
)%>
ahref=first_del.jsp?
ID=<
%=ID%>
删除<
ahref=first_upd.jsp?
id=<
修改<
}
/table>
firstpage.jsp"
请输入性别查询:
提交"
REGISTDO
jsp:
useBeanid="
reg"
class="
com.regist"
/jsp:
useBean>
Inserttitlehere<
request.setCharacterEncoding("
GBK"
Stringusername=request.getParameter("
Stringuserpass=request.getParameter("
Stringsex=request.getParameter("
Stringaddress=request.getParameter("
Stringphone=request.getParameter("
Stringemail=request.getParameter("
setPropertyname="
property="
%=username%>
/>
%=userpass%>
%=sex%>
%=address%>
%=phone%>
%=email%>
br>
用户名:
getPropertyproperty="
密&
性&
地&
电&
邮&
DB_beandb=newDB_bean();
StringID=request.getParameter("
Stringusername=request.getParameter("
Stringuserpass=request.getParameter("
Stringsex=request.getParameter("
Stringaddress=request.getParameter("
Stringphone=request.getParameter("
Stringemail=request.getParameter("
Stringsql="
insertintousers(ID,username,userpass,sex,address,phone,email)values('
+newString(ID.getBytes("
ISO-8859-1"
),"
gb2312"
)+"
'
+newString(username.getBytes("
+newString(userpass.getBytes("
+newString(sex.getBytes("
+newString(address.getBytes("
+newString(phone.getBytes("
+newString(email.getBytes("
)"
;
System.out.println(sql);
db.execute(sql);
response.sendRedirect("
UPDATEDO
try
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
//Class.forName("
com.microsoft.jdbc.sqlserver.SQLServerDriver"
}catch(Exceptione){}
Connectionconn=null;
Statementstmt=null;
conn=DriverManager.getConnection("
jdbc:
odbc:
mmdb"
stmt=conn.createStatement();
updateuserssetusername='
sex='
address='
phone='
email='
whereID='
+newString(ID.getBytes(