jsp企业信息管理系统网站设计.docx
《jsp企业信息管理系统网站设计.docx》由会员分享,可在线阅读,更多相关《jsp企业信息管理系统网站设计.docx(18页珍藏版)》请在冰豆网上搜索。
jsp企业信息管理系统网站设计
课程设计说明书
企业信息管理系统网站设计
1需求分析
设计一个小型企业信息管理系统网站,实现企业基本信息的在线管理。
该系统主要包括三大基本模块和六个功能扩展模块,模块简介如下:
(1)用户登录模块:
只有注册了的用户才可以登录系统,需要提供登录的用户名和密码即可登录系统。
(2)用户注册模块:
未注册的用户可以提供简单的个人信息注册成为注册用户。
该模块的输入数据项包括:
用户名、密码和E-mail。
(3)用户退出模块:
通过对该模块的调用,用户离开系统后其他人不能进行操作,提高了系统的安全性。
(4)通讯录管理模块:
用作当前的登录用户添加、修改、删除和查看自己的日程安排列表。
输入数据项包括:
姓名、性别、手机、E-mail、QQ、工作单位、地址、邮政编码。
(5)短消息管理模块:
用作当前的登录用户给系统内的其他用户发送短消息,并可以查看其他用户发来的消息。
输入数据项包括:
接收者、发送者、消息内容、发送时间、是否阅读。
(6)日程安排模块:
用作当前的登录用户添加、修改、删除和查看自己的日程安排列表。
输入数据项包括:
用户名、年份、月份、日期、安排内容。
(7)工作记录模块:
用作当前的登录用户添加、修改、删除和查看自己的工作日志列表。
输入数据项包括:
用户名、年份、月份、日期、日志标题、日志内容、记录时间。
(8)公司公告模块:
用户发送通知,大家都可以查看,只有发送通知的用户才有权修改、删除该通知。
输入数据项包括:
公告填写人、公告标题、公告内容、公告时间。
(9)工作会议模块:
用户发送会议通知,供所有用户查看,且只有发送通知的用户才有权修改、删除该通知。
输入数据项包括:
会议填写人、会议开始时间、会议结束时间、会议地点、会议标题、会议内容。
2总体设计
课程设计说明书
在任何一个管理信息系统中,都包含3个最基本的功能:
登录、退出与注册。
在这个功能的基础上,我们可扩展各种业务管理系统的功能,如图所示。
图系统基础功能状态图
系统基础功能涉及三个角色:
未注册用户、未登录用户、登录用户。
这三种用户执行如下三种需求功能:
用户登录功能、用户注册功能、用户退出功能。
根据以上的基础功能扩展开发出一个企业信息管理系统,它包含通信工具、个人管理和企业管理三大方面。
提供的功能包括:
通讯录管理模块、短消息管理模块、日程安排模块、工作记录模块、公司公告模块和工作会议模块。
各功能模块间的结构如图所示。
图功能结构图
该系统采用JSP技术实现页面的设计,主要页面组成如表所示:
表主要页面组成表
页面名称
JSP页面
页面名称
JSP页面
页面名称
JSP页面
登陆页面
通讯录页面
工作记录页面
注册页面
短消息页面
公司公告页面
登陆欢迎页面
日程安排页面
工作会议页面
课程设计说明书
3详细设计
数据库设计
本系统所用到的数据库数据信息如下表所示:
表数据库逻辑表
表格
名称
说明
user
用户表
用户信息
address
通讯录管理表
通讯录信息
sms
短消息管理表
短消息信息
schedule
日程安排表
日程安排信息
worklog
工作记录表
工作记录信息
notice
公司公告表
公司公告信息
meeting
工作会议表
工作会议信息
表用户表
名称
类型
长度
说明
id
int
10
用户编号(唯一,索引)
username
varchar
50
用户名
password
varchar
50
用户密码
email
varchar
50
用户E-mail
表短消息管理表
名称
类型
长度
说明
id
int
10
消息编号
username
varchar
50
接收者用户名
sender
varchar
50
发送者用户名
message
text
——
消息内容
sendtime
varchar
20
发送时间
isrend
varchar
1
是否已读
课程设计说明书
表通讯录管理表
名称
类型
长度
说明
id
int
10
记录编号
username
varchar
50
录入者用户名
name
varchar
50
联系人用户名
sex
varchar
10
联系人性别
mobile
varchar
20
联系人手机号码
email
varchar
50
联系人E-mail地址
qq
varchar
20
联系人QQ号码
company
varchar
100
联系人公司
address
varchar
100
联系人地址
postcode
varchar
10
联系人邮编
表日程安排表
名称
类型
长度
说明
id
int
10
安排表编号
username
varchar
50
用户名
year
int
4
日程年份
month
int
2
日程月份
day
int
2
日程日期
plan
text
——
日程内容
表公司公告表
名称
类型
长度
说明
id
int
10
公告表编号
sender
varchar
50
公告提交人用户名
title
varchar
100
公告标题
content
text
——
公告内容
sendtime
varchar
20
公告发布时间
课程设计说明书
表工作记录表
名称
类型
长度
说明
id
int
10
记录编号
username
varchar
50
记录人员用户名
year
int
4
工作年份
month
int
2
工作月份
day
int
2
工作日期
title
varchar
100
工作标题
description
text
——
工作具体内容
logtime
varchar
20
记录时间
表工作会议表
名称
类型
长度
说明
id
int
10
会议记录编号
sender
varchar
50
会议记录员
startime
varchar
20
会议开始时间
endtime
varchar
20
会议结束时间
address
varchar
100
会议地址
title
varchar
100
会议主题
content
text
——
会议内容
数据库采用MySQL进行存储,其实施情况如图所示:
图数据库表
课程设计说明书
图user表属性图schedule表属性
图sms表属性图meeting表属性
图notice表属性图worklog表属性
动态网页设计
MySQL参数文件的设计
由于每一个需要访问MySQL的文件都需要创建数据库连接,因此会多次访问MySQL连接的参数,为了防止多次参数的不同,我们统一了一个MySQL参数文件inc/,该文件定义如下:
沈阳大学
课程设计说明书
<%
Stringusr="root";
Stringpwd="123456";
%>
检查用户名功能模块的设计
通过JDBC连接MySQL数据库,实现对user用户表的检查,执行的SQL语句为:
select*fromuserwhereusername=‘username’
取得结果集ResultSet对象后,使用next()判断是否有记录,如果有记录则该用户名就存在返回true,否则就不存在返回false,程序段如下:
("text/xml");
("Cache-Control","no-cache");
Stringusername=("username");
booleanisValid=false;
Stringsql="select*fromuserwhereusername='"+username+"'";
try{
(drv).newInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
ResultSetrs=(sql);
if())isValid=true;
();
();
();
}catch(Exceptione){
();
(e);
}finally{}
if(isValid){
("该用户名已经存在!
");
}else{
("ok");}
沈阳大学
课程设计说明书
登陆验证功能模块的设计
该模块需要实现如下功能:
包含数据库子文件,以可以去的数据库的参数变量;
使用request的getParameter()函数取得用户输入的用户名参数username和密码参数password;
根据username和password组合查询user表的SQL语句;创建数据库连接,执行SQL语句的查询,如果查询结果不为空,即()返回值为ture,则表示验证成功,否则验证失败;
验证成功则将用户名保存在session中,并使用()跳转到欢迎页面,验证失败则返回登陆页面。
该文件的代码如下:
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@includefile="../inc/"%>
<%
Stringusername=("username");
Stringpassword=("password");
booleanisValid=false;
Stringsql="select*fromuserwhereusername='"+username+"'andpassword='"+password+"'";
try{(drv).newInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
ResultSetrs=(sql);
if())isValid=true;
();
();
();
}catch(Exceptione){
();
(e);
}finally{}
if(isValid){
("username",username);
("../");
}else{
("../");}%>
沈阳大学
课程设计说明书
注册功能模块的设计
该模块需要实现以下功能:
包含数据库子文件,以可以取得数据库参数变量。
使用request的getParameter()函数取得用户输入的用户名参数username、密码参数password、E-mail参数email
创建数据库的连接,查询user表中是否存在该username
如果查询结果为空,即()返回值为false,则表示不存在,否则该用户名不可重复使用。
当用户名可用时,组合插入表user的SQL,执行一个用户的插入。
如果执行了插入则跳转到登录页面,否则返回注册页面
该文件的代码如下:
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@includefile="../inc/"%>
<%
Stringusername=("username");
Stringpassword1=("password1");
Stringemail=("email");
booleanisValid=false;
Stringsql="select*fromuserwhereusername='"+username+"'";
try{(drv).newInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
ResultSetrs=(sql);
if(!
()){sql="insertintouser(username,password,email)
values('"+username+"','"+password1+"','"+email+"')";
(sql);
isValid=true;}
();
();
();}
catch(Exceptione){
();
(e);}
if(isValid){("../");}
else{("../");}%>
沈阳大学
课程设计说明书
通讯录管理功能模块的设计
该页面首先需要数据库参数文件。
然后取得请求参数method,用来决定执行什么操作。
根据method的参数值决定调用的处理函数如下:
如果method参数值为list,则调用列表函数list();
如果method参数值为delete,则调用删除函数delete();
如果method参数值为insert,则调用插入函数insert();
如果method参数值为edit,则调用修改函数edit();
如果method参数值为update,则调用更新函数update();
完整的框架代码如下:
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@includefile="../inc/"%>
<%
Stringmethod=("method");
Stringtopage="../";
if("username")==null){
topage="../";
}else{
Stringusername=(String)("username");/";
/";/";/";/";/";ewInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
intpageSize=(strPageSize);
intpageNo=(strPageNo);
intstart=pageSize*(pageNo-1);
Stringsql1="selectcount(*)ascountallfromaddresswhereusername='"+username+"'";
ResultSetrs1=(sql1);
if()){
ewInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
沈阳大学
课程设计说明书
Stringid=("id");
Stringsql="deletefromaddresswhereid="+id;
(sql);
();
();
}catch(Exceptione){
();
returnfalse;
}finally{}
returntrue;
}%>
--(3)新增函数-->
<%!
publicbooleaninsert(HttpServletRequestrequest,Stringdrv,Stringurl,
Stringusr,Stringpwd,Stringusername){
try{ewInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
Stringname=("name");
Stringsex=("sex");
Stringmobile=("mobile");
Stringemail=("email");
Stringqq=("qq");
Stringcompany=("company");
Stringaddress=("address");
Stringpostcode=("postcode");
Stringsql="insertintoaddress(username,name,sex,mobile,email,qq,company,address,postcode)";
sql+="values('"+username+"','"+name+"','"+sex+"','"+mobile+"','"+email+"','"+qq+"','"+company+"','"+address+"','"+postcode+"')";
sql=newString("ISO8859-1"),"UTF-8");
(sql);
();
();
}catch(Exceptione){
();
returnfalse;
}finally{}
returntrue;
}%>
--(4)查询函数-->
沈阳大学
课程设计说明书
<%!
publicbooleanselect(HttpServletRequestrequest,Stringdrv,Stringurl,Stringusr,Stringpwd,Stringusername){
try{ewInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
Stringid=("id");
Stringsql="select*fromaddresswhereid="+id;
ResultSetrs=(sql);
if()){ewInstance();
Connectionconn=(url,usr,pwd);
Statementstm=();
Stringid=("id");
Stringname=("name");
Stringsex=("sex");
Stringmobile=("mobile");
沈阳大学
课程设计说明书
Stringemail=("email");
Stringqq=("qq");
Stringcompany=("company");
Stringaddress=("address");
Stringpostcode=("postcode");
Stringsql="updateaddresssetname='"+name+"',sex='"+sex+"',mobile='"+mobile+"',email='"+email+"',qq='"+qq+"',company='"+company+"',address='"+address+"',postcode='"+postcode+"'whereid="+id;
sql=newString("ISO8859-1"),"UTF-8");
(sql);
();
();
}catch(Exceptione){
();
returnfalse;
}finally{}
returntrue;
}%>
日程安排功能模块的设计
该模块需要实现以下功能:
提取address表的分页数据,显示页面中。
执行address表的删除功能,删除按钮在页面中。
跳转到新增页功能,新增按钮在页面中。
执行插入address表数据的功能能,为提交时调用。
跳转到修改页功能,执行数据的查询,修改按钮在页面中。
执行修改address表数据的功能能,为提交时调用。
该文件代码如下:
<%@pagelanguage="java"pageEncoding="UTF-8"%>
<%@includefile="../inc/"%>
<%
Stringmethod=("method");/";
/";
}else{
Stringusername=(String)("username");/";/";/";/";/";/";
/inc/"%>
<%
Stringmethod=("method");/";/";
}else{
Stringusername=(String)("username");/";/";/";
/";/";/inc/"%>
<%
Stringmethod=("method");/";/";
}else{
Stringusername=(String)("username");
/";/";/";/";/";/";
/inc/"%>
<%
Stringmethod=("method");/";/";
}else{
Stringusername=(String)("username");/";/";/";/";/";/";
/inc/"%>
<%
Stringmethod=("method");/";/";
}else{
Stringusername=(String)("username");/";
/";/";/";/";/";
沈阳大学
课程设计说明书NO.
沈阳大学
课程设计说明书NO.
沈阳大学
课程设计说明书NO.
沈阳大学
课程设计说明书NO.
沈阳大学
课程设计说明书N