基于jsp的家政服务管理系统课程设计报告.docx
- 文档编号:4094206
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:28
- 大小:466.23KB
基于jsp的家政服务管理系统课程设计报告.docx
《基于jsp的家政服务管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于jsp的家政服务管理系统课程设计报告.docx(28页珍藏版)》请在冰豆网上搜索。
基于jsp的家政服务管理系统课程设计报告
课程设计报告
学年学期
题目
专业、学号
授课班号
学生姓名
指导教师
一、课题背景及意义
二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。
中国的网民充分领略到“畅游天地间,网络无极限”所带来的畅快。
随着Internet的飞速发展,使得网络的应用日益的广泛。
如电子商务,电子政务,网上医疗,网上娱乐,网络游戏,网络教学等。
本次毕业设计的题目就是在线家政服务管理系统。
本论文就毕业设计的内容,系统地阐述了整个在线家政服务信息管理系统的功能及实现。
实现了从用户登录,个人信息修改,家政信息分类、修改以及添加,信息审核以及用户添加修改等功能。
本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。
本系统开发工具是MyEclipse和SqlServer数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。
这学期学习了java高级语言课程,系统的了解了JSP开发技术的知识,文章管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。
本学期也开设了软件工程,数据库系统概念等课程,具备了一定的系统分析、设计和测试能力。
因此,完成系统实现在技术上完全具有可行性。
二、需求分析
1.业务需求
在项目的开始是需求调研,经过一系列的调查,我了解了家政服务信息共享管理的流程。
根据实际情况及调查结果,发现实现家政服务信息管理的网络化、信息化是十分有必要的,因此设计了家政服务信息管理系统。
2.功能需求
本系统最大的特点是使用操作简单、友好的提示信息。
本系统将实现以下基本功能:
(1)系统具有简洁大方的页面,使用简便,友好的错误操作提示
(2)管理员用户具有部门信息管理、用户信息管理、家政信息分类管理、家政信息审核等功能
(3)普通用户具有家政信息管理及已删除家政信息恢复功能
(4)具有较强的安全性,避免用户的恶意操作
管理员功能模块图说明:
(1)部门信息管理模块:
在该模块中定义了部门信息的管理,其功能包括部门信息的录入、查询、修改、删除等操作。
(2)用户信息管理模块:
在该模块中定义了用户信息的管理,其功能包括用户信息的录入、查询、修改、删除等操作。
(3)家政服务分类信息管理模块:
在该模块中定义了家政服务分类信息的管理,其功能包括分类信息的录入、查询、修改、删除等操作。
(4)家政信息审核模块:
在该模块中定义了家政信息审核的管理,其功能包括家政服务信息的浏览、审核等操作。
管理员用户功能模块图
员工功能模块图说明:
(1)个人资料查看模块:
用户通过该模块查看个人资料。
(2)家政服务信息管理模块:
在该模块中定义了对服务信息的管理,其功能包括家政信息录入、查询、修改、删除等操作。
(3)回收箱管理模块:
在该模块中定义了对已删除服务信息的管理,其功能包括已删除服务信息的浏览、恢复。
员工用户功能模块图
三、概要设计
1.系统组成
设计思想遵循以下几点:
1.采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。
2.采用面向对象的开发与设计理念。
运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。
3.采用模块化设计。
模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。
4.简单方便的系统界面。
设计简单友好的系统界面,方便用户较快的适应系统的操作。
5.速度优先原则。
由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。
6.设计既要突出重点,又要细致周到。
要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。
硬件环境:
普通客户机
CPU:
p41.8GHz以上
内存:
256MB以上
能够运行IE5.0以上或者Netspace4.0版本的机器
分辨率:
推荐使用1024x768像素
Web服务器
CPU:
P42.0GHz
内存:
1GB以上
硬盘:
80GB以上
网卡:
KMb/s速度
数据库服务器
CPU:
P42.0GHz
内存:
1GB以上
硬盘:
80GB以上
软件环境:
本系统的软件环境如下:
操作系统:
UNIX/Linux/Windows2000或以上版本
数据库:
SQLServer2000
浏览器:
IE6.0以上
2系统架构设计
2.1安全性设计
家政服务信息管理系统在管理权限上要严格进行控制,具体要求如下:
想登录家政服务管理系统进行操作,必须有操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。
2.2数据完整性设计
1.各种记录信息的完整性,信息记录内容不能为空
2.各种数据间相互联系的正确性
3.相同数据在不同记录中的一致性
2.3输出设计
输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。
系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。
输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。
3.数据库设计
3.1数据库的概念结构设计
概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。
E-R模型法的组成元素有:
实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。
概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,
根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。
(1)部门信息实体E-R图如图3.1.1所示:
图3.1.1部门信息实体E-R图
(2)员工信息实体E-R图如图3.1.2所示:
图3.1.2员工信息实体E-R图
(3)分类信息实体E-R图如图3.1.3所示
图3.1.3分类信息实体E-R图
(4)家政服务信息E-R图如图3.1.4所示
图3.1.4家政服务信息实体E-R图
(5)管理员信息E-R图如图3.1.5所示
图3.1.5管理员信息实体E-R图
(6)管理员信息E-R图如图3.1.6所示
图3.1.6管理员信息实体E-R图
(7)管理员信息E-R图如图3.1.7所示
图3.1.7客户信息实体E-R图
3.2数据库逻辑结构设计
数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。
即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOTNULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据E-R模型,家政服务信息管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。
(1)部门信息表主要是记录了部门的基本信息,表结构如图3.2.1所示。
表3.2.1部门表(t_organization)
列名
数据类型
长度
允许空
是否主键
说明
id
int
4
否
是
部门ID
name
varchar
50
否
否
部门名称
description
varchar
50
否
否
部门描述
p_id
Int
5
否
否
父部门ID
(2)员工信息表主要是记录了员工基本信息。
表结构如表3.2.2所示。
表3.2.2员工信息表(t_user)
列名
数据类型
长度
允许空
是否主键
说明
id
int
4
否
是
编号
org_id
int
4
否
是
所属部门
name
varchar
50
否
否
姓名
loginname
varchar
50
否
否
登录名
loginpw
varchar
50
否
否
登录密码
(3)分类信息表主要是记录了家政服务信息分类的基本信息,表结构如图3.3所示。
表3.2.3分类信息表(t_fenlei)
列名
数据类型
长度
允许空
是否主键
说明
id
int
4
否
是
编号
mingcheng
varchar
50
否
否
分类名称
(4)文章信息表主要是记录了家政服务的基本信息,表结构如图3.4所示。
表3.2.4家政服务信息表(t_wenzhang)
列名
数据类型
长度
允许空
是否主键
说明
id
int
4
否
是
编号
user_id
int
4
否
否
所属用户
fenlei_id
int
4
否
否
所属分类
biaoti
varchar
50
否
否
标题
neirong
varchar
50
否
否
内容
guanjianzi
varchar
50
否
否
关键字
yijian
varchar
50
否
否
审核意见
zt
int
4
否
否
当前状态
(5)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.5所示。
表3.2.5管理员信息表(t_admin)
列名
数据类型
长度
允许空
是否主键
说明
userId
int
4
否
是
编号
userName
varchar
50
否
否
用户名
userPw
varchar
50
否
否
密码
四、详细设计与实现
4.1登陆及注册界面
4.2主界面
4.2CRUD界面
修改密码界面
家政服务信息添加界面
家政服务信息编辑添加界面
家政服务信息回收界面
4.3Servelet的运用
Servlet是在服务器上运行的小程序。
这个词是在Javaapplet的环境中创造的,Javaapplet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。
其工作模式是:
客户端发送请求至服务器服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器,然后服务器将响应返回客户端。
该程序分别针对部门,用户,文章以及分类建了四个Sevelet类以动态的响应用户的需求。
4.4数据库的连接
采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。
程序采用的是DAO模式来操作数据库,DAO(DataAccessObject,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。
DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。
抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。
关键代码如下
publicDB(){
try{
getDbConnProp();
}catch(Exceptione){
System.out.println("加载数据库驱动失败!
");
e.printStackTrace();
}
}privatevoidgetDbConnProp(){
try{
InputStreamin=getClass().getClassLoader().getResourceAsStream("dbInfo.properties");
PropertiesproHelper=newProperties();
proHelper.load(in);
in.close();
ip=proHelper.getProperty("dburl");
port=proHelper.getProperty("dbport");
user=proHelper.getProperty("dbuser");
password=proHelper.getProperty("dbpass");
dbName=proHelper.getProperty("dbName");
url="jdbc:
sqlserver:
//"+ip+":
"+port+";DatabaseName="+dbName;
}catch(Exceptione){
e.printStackTrace();
}
}/**创建数据库连接*/
publicConnectiongetCon(){
try{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}con=DriverManager.getConnection(url,user,password);
}catch(SQLExceptione){
System.out.println("创建数据库连接失败!
");
con=null;
e.printStackTrace();
}returncon;
}
4.5关键页面设计
4.5.1部门信息修改
1.描述:
先是点击部门管理,页面跳转到部门管理界面,浏览所有的部门信息,点击要修改的部门,弹出的部门修改对话框,修改部门信息。
2.程序效果图如下图所示
部门信息删除
4.5.2部门信息删除
1.描述:
先是点击部门管理,页面跳转到部门管理界面,浏览所有的部门信息,点击要删除的部门,弹出的确定对话框,即可删除该部门信息。
2.程序效果图如下图所示
部门信息删除
4.6用户信息管理
4.6.1用户信息录入
1.描述:
管理员输入用户相关正确信息后点击录入按钮,如果是没有输入完整的用户信息,都会给出相应的错误提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。
2.程序效果图如下图所示:
用户信息录入
4.6.2用户信息管理
1.描述:
管理员点击左侧的菜单“用户信息管理”,页面跳转到学生信息管理界面,调用后台的action类查询出所有的用户信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出用户信息。
2.程序效果图如下图所示
用户信息管理页面
用户信息管理关键代码:
publicvoiduserAdd(HttpServletRequestreq,HttpServletResponseres)
{
intorg_id=Integer.parseInt(req.getParameter("org_id"));
Stringname=req.getParameter("name");
Stringloginname=req.getParameter("loginname");
Stringloginpw=req.getParameter("loginpw");
Stringdel="no";
Stringsql="insertintot_uservalues(?
?
?
?
?
)";
Object[]params={org_id,name,loginname,loginpw,del};
DBmydb=newDB();
mydb.doPstm(sql,params);
mydb.closed();
req.setAttribute("message","操作成功");
req.setAttribute("path","user?
type=userMana");
StringtargetURL="/common/success.jsp";
dispatch(targetURL,req,res);
}
publicvoiduserDel(HttpServletRequestreq,HttpServletResponseres)
{
intid=Integer.parseInt(req.getParameter("id"));
Stringdel="yes";
Stringsql="updatet_usersetdel=?
whereid=?
";
Object[]params={del,id};
DBmydb=newDB();
mydb.doPstm(sql,params);
mydb.closed();
req.setAttribute("message","操作成功");
req.setAttribute("path","user?
type=userMana");
StringtargetURL="/common/success.jsp";
dispatch(targetURL,req,res);
}
publicvoiduserMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException
{
ListuserList=newArrayList();
Stringsql="select*fromt_userwheredel='no'orderbyorg_iddesc";
Object[]params={};
DBmydb=newDB();
try
{
mydb.doPstm(sql,params);
ResultSetrs=mydb.getRs();
while(rs.next())
{
TUseruser=newTUser();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setLoginname(rs.getString("loginname"));
user.setLoginpw(rs.getString("loginpw"));
user.setOrg_id(rs.getInt("org_id"));
user.setOrganization(liuService.getOrg(rs.getInt("org_id")));
userList.add(user);
}
rs.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("userList",userList);
req.getRequestDispatcher("admin/user/userMana.jsp").forward(req,res);
}
publicvoiduserEdit(HttpServletRequestreq,HttpServletResponseres)
{
intid=Integer.parseInt(req.getParameter("id"));
intorg_id=Integer.parseInt(req.getParameter("org_id"));
Stringname=req.getParameter("name");
Stringloginname=req.getParameter("loginname");
Stringloginpw=req.getParameter("loginpw");
Stringsql="updatet_usersetorg_id=?
name=?
loginname=?
loginpw=?
whereid=?
";
Object[]params={org_id,name,loginname,loginpw,id};
DBmydb=newDB();
mydb.doPstm(sql,params);
mydb.closed();
req.setAttribute("message","操作成功");
req.setAttribute("path","user?
type=userMana");
StringtargetURL="/common/success.jsp";
dispatch(targetURL,req,res);
}
4.6.3用户信息修改
1.描述:
先是点击用户信息管理,页面跳转到用户信息管理界面,浏览所有的用户信息,点击要修改的用户信息,弹出修改界面,即可修改该用户信息。
2.程序效果图如下图所示
用户信息修改页面
4.6.4用户信息删除
1.描述:
先是点击用户信息管理,页面跳转到用户信息管理界面,浏览所有的用户信息,点击要删除的用户信息,点击弹出的确定对话框,即可删除该用户信息。
2.程序效果图如下图所示
用户信息删除页面
4.7分类信息管理
4.7.1分类信息录入
1.描述:
管理员输入分类相关正确信息后点击录入按钮,如果是没有输入完整的分类信息,都会给出相应的错误提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。
2.程序效果图如下图所示:
分类信息录入
4.7.2分类信息管理
1.描述:
管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jsp 家政 服务 管理 系统 课程设计 报告