您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页jsp家政服务系统课程设计报告(完整版)

jsp家政服务系统课程设计报告(完整版)

来源:华佗小知识
 《数据库应用系统》

课程设计报告

题 目: 家政服务业务管理系统

院系名称: 信息科学与工程学院 专业班级:计科1201 学生姓名: XXX 学号: 2

指导教师: 孙宜贵 教师职称: 副教授

2015年1 月

计算机科学与技术 专业课程设计任务书

学生姓名 题 目 课题性质 指导教师 本设计以网页的方式,登陆权限进去首页 ,对于员工,工资,业务 的增删改,不同方式的查询,根据日期,或则具体的信息搜索功能 ,或则模糊查主要内容 询 ,显示结果分页处理,退出功能,对于表单做了控制处理 所用的开发工具 MyEclipse,tomcat ,开发语言为jsp ,模式为jsp+javabean涉及网站前端语言js,css ,DBMS,采用的是sqlsever2008 综合运用所学的数据库基本知识,并能通过查阅相关文献材料,完成该课题的设计开发工作。要求根据本课题设计出合理的数据结构,实现用户类 型模块,信息查看和浏览模块,查找模块,管理模块。 [1]詹英.数据库技术与应用[M].北京:清华大学出版社.2008.9-14 [2]黄德才.数据库原理及其应用教程.[M].北京:科学出版社.2007.12-3 [3]龚沛曾,杨志强. 数据库技术与应用[M].北京 高等教育出版社.2008 [4]任满杰.数据库实用教程[M].电子工业出版社.2006 [5]王珊,萨师煊.数据库系统概论[M].高等教育出版社出版.2005 指导教师签字: 审查意见 教研室主任签字: 年 月 日 专业班级 计科1201 学号 2 家政服务业务管理系统 其它 孙宜贵 课题来源 同组姓名 自拟课题 无 任务要求 参考文献 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

目录

一 引言 .............................................................. 1 二 需求分析 .......................................................... 1

2.1 功能需求...................................... 错误!未定义书签。 2.2 功能模块图说明................................................ 1 三 概要设计 .......................................................... 2

3.1设计思想 ...................................................... 2 3.2系统架构设计 .................................................. 2 3.3数据库的概念结构设计 .......................................... 3 3.4基本数据结构 .................................................. 4 3.5数据库逻辑结构设计 ............................................ 5 四 详细设计于实现 ................................................... 6

4.1登陆界面 ...................................................... 6 4.2 主界面功能.................................................... 7 五 结束语 ........................................................... 15 六 参考文献 ......................................................... 15

一 引言

本文系统地阐述了整个在线家政服务信息管理系统的功能及实现。实现了从用户权限登录,员工信息修改,增加,查询,删除 家政信息分类、修改以及添加,信息审核以及用户添加修改等功能。本系统界面简单直观,易于操作和使用,交互性强,完全基于Internet网络。

本系统开发工具是MyEclipse和SqlServer2008数据库,开发语言是Java,主要使用了J2EE的技术,jsp+javabean模式

二 需求分析

2.1 功能需求

本系统最大的特点是使用、友好的提示信息,实现了面向对象的封装,继承。实现以下基本功能:

(1)系统具有简洁大方的登陆页面,使用简便,友好的错误操作提示

(2)首页具有工资信息管理、员工信息管理、家政信息分类管理、家政信息查询等功

(3)具有较强的安全性,采用预编译 ,避免用户的恶意SQL注入安全操作

2.2 功能模块图说明

(1) 工资信息管理模块:在该模块中定义了信息的管理,其功能包括工资信息的录入、修改、删除,浏览信息,条件查询,模糊搜索查询。

(2) 员工信息管理模块:在该模块中定义了员工信息的管理,其功能包括员工信息的录入、修改、删除,浏览信息,条件查询,模糊搜索查询

(3) 家政服务分类信息管理模块:在该模块中定义了家政服务分类信息的管理,录入、修改、删除,浏览信息,条件查询,模糊搜索查询 (4) 安全退出登录功

主页功能模块

管理首页 员工信息管理 工资信息管理 业务信息管理 退出登陆

三 概要设计

3.1设计思想

1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。

2. 采用面向对象的开发与设计理念。

3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。

4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。

3.2系统架构设计

3.2.1安全性设计

家政服务信息管理系统在管理权限上要严格进行控制,具体要求如下:

想登录家政服务管理系统进行操作,必须有操作权限,没有权限的用户不能通过 何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。 3.2.2数据完整性设计

1.各种记录信息的完整性,信息记录内容不能为空

2.各种数据间相互联系的正确性 3.相同数据在不同记录中的一致性 3.2.3输出设计

对接收的数据汉字乱码问题进行了解决,输出显示正确结果

3.3数据库的概念结构设计

根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

(1) 管理员信息实体E-R图如图3.3.1所示:

登录名 管理员 密码 图3.3.1 部门信息实体E-R图

(2) 家政业务信息实体E-R图如图3.3.2所示:

分类 编号 工作时间 工薪 拓展原因 业务信息

批准人 业务描述 编辑时间间 图3.3.2 家政服务信息实体E-R图

(3) 员工员信息E-R图如图3.3.3所示

性别 身份证 员工信息 民族 部门 员工号 身份证 学历

生日 职称 电话 毕业学校 邮箱 备注 图3.3.3 管理员信息实体E-R图

(3)工资E-R图如图3.3.4所示 员工号 工资编号 考勤扣除 加工工资 交通补助 保险扣除 基本工资 扣税 员工姓名 实际工资 年份 月份 工资信息 3.4基本数据结构

管理员( 登陆账号,密码)

员工信息( 员工编号 姓名 身份证 民族 性别 生日 毕业学校 学位部门 职位 电话 邮箱)

工资信息(工资编号 员工编号 员工姓名 年份,月份 基本工资加工工资 加工工资 交通补助 考勤扣除 保险扣除 实际工资)

家政服务信息(编号 类型 业务时间 工薪 拓展原因 批准人 业务描述)

3.5数据库逻辑结构设计

(1)部门信息表主要是记录了部门的基本信息,表结构如图3.5.1所示。

表3.5.1管理员表(admin)

列名 数据类型 长度 允许空 是否主键 说明 adminName varchar 50 否 是 登录名 password varchar 50 否 否 登陆账号 (2)员工信息表主要是记录了员工基本信息。表结构如表3.5.2所示。 表3.5.2员工信息表(employee)

列名 数据类型 长度 允许空 是否主键 说明 employeeId varchar 50 否 是 员工编号 name Varchar 50 否 否 姓名 CardNumber nvarchar 50 否 否 身份证 nation varchar 8 否 否 民族 sex varchar 8 否 否 性别 birthday nvarchar 50 是 否 生日 graduate nvarchar 50 是 否 毕业学校 schoolRecor nvarchar 50 是 否 学位 Department nvarchar 50 否 否 部门 position nvarchar 50 否 否 职位 telephone BigInt 8 是 否 电话 email nvarchar 50 是 否 邮箱 editTime datetime 是 否 编辑时间 memo Varchar MAX 是 否 动作(删除或修改) (3)主要是记录了家政服务的基本信息,表结构如表3.5.3所示。 表3.5.3家政服务信息表(leave)

允许空 是否主说明 键 leaveId nvarchar 50 否 是 编号 employeed nvarchar 50 否 否 类型 time int 4 否 否 业务时间 money bigint 8 否 否 工薪 reason nvarchar 50 是 否 拓展原因 Pepple nvarchar 50 否 否 批准人 edittime nvarchar 50 是 否 业务描述 memo Varchar MAX 是 否 动作(删除或修改) (4)主要记录了员工薪资管理系统,表如结构如图3.5.4所示 表3.2.4员工薪资信息表(salary)

列名 数据类型 长度 列名 数据类型 salaryId varchar employeeId varchar employeeName varchar year int month int basicWage real overtimeWage real trafficWage real kaoqinaReduc real secureReduc real TaxReduce real totalReduce real realWage real Edittime nvarchar memo nvarcahr 长度 允许空 是否主键 20 否 是 50 否 否 50 否 否 4 是 否 4 是 否 是 否 是 否 是 否 是 否 是 否 是 否 是 否 是 否 50 是 否 50 是 否 说明 工资编号 员工编号 员工姓名 年份 月份 基本工资 加工工资 交通补助 考勤扣除 保险扣除 扣税 总扣除 实际工资 编辑时间记录 动作(删除或修改) 四 详细设计于实现

4.1登陆界面

在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的

getConnection()方法就可以创建一个数据库连接。采用的配置数据源链接

private String driverName=\"sun.jdbc.odbc.JdbcOdbcDriver\"; private String url = \"jdbc:odbc:WageManage\"; private String user = \"sa\"; private String password = \"123\";

登陆格式控制

登陆核心代码

<%@page session=\"true\"%>

<%

String mesg = \"\";

String adminName = request.getParameter(\"adminName\"); String password = request.getParameter(\"password\"); if(null == adminName) adminName = \"\"; if(null == password) password = \"\";

if(!adminName.equals(\"\") && !password.equals(\"\")){ adminName = new String(adminName.getBytes(\"ISO8859-1\")); password = new String(password.getBytes(\"ISO8859-1\")); alogin.setAdminName(adminName); alogin.setPassword(password); if (alogin.excute()){ session.setAttribute(\"adminName\",adminName); response.sendRedirect(\"index.jsp\"); }else { mesg = alogin.errorMessage ; } } %>

4.2 主界面功能

主界面

对所有功能的增删改的数据库方法声明处理封装在一个java文件中

public DataBase() {

try

{ DBConnectionManager dcm = new DBConnectionManager(); conn = dcm.getConnection(); stmt = conn.createStatement(); } catch (Exception e) { System.out.println(e); isConnect=false; } }

public Statement getStatement() { return stmt; }

public Connection getConnection() { return conn; }

public PreparedStatement getPreparedStatement() { return prepstmt; }

public ResultSet getResultSet() { return rs; }

public boolean execute() throws Exception { return false; }

public boolean insert() throws Exception { return false; }

public boolean update() throws Exception { return false; }

public boolean delete() throws Exception { return false; }

public boolean query() throws Exception { return false; }

public void close() throws SQLException { if ( stmt != null ) { stmt.close(); stmt = null; }

}

conn.close(); conn = null;

模糊查询的核心数据库部分代码

sqlStr = \"select * from employee \"; if (searchZiduan.equals(\"\") && !keyword.equals(\"\") ) { sqlStr = sqlStr + \"where employeeId like '%\" + keyword + \"%' or name like '%\" + keyword + \"%' or department like '%\" + keyword + \"%' order by employeeId desc\"; } else if(!searchZiduan.equals(\"\")) { sqlStr = sqlStr + \"where \" + searchZiduan + \" like '%\" + keyword + \"%' order by employeeId desc\"; } else if(searchZiduan.equals(\"\") && keyword.equals(\"\")) { sqlStr = sqlStr + \"order by employeeId desc\"; }

分页方法声明处理

public int getPage() { return page; }

public void setPage(int newpage) { page = newpage; }

public int getPageSize(){ return pageSize; }

public void setPageSize(int newpsize) { pageSize = newpsize; }

public int getPageCount() { return pageCount;

}

public void setPageCount(int newpcount) { pageCount = newpcount; }

public long getRecordCount() { return recordCount; }

public void setRecordCount(long newrcount) { recordCount= newrcount; }

分页功能的一个具体实现//

public boolean execute(HttpServletRequest res) throws Exception { request = res; String PAGE = request.getParameter(\"page\"); String searchZiduan = request.getParameter(\"searchZiduan\"); String keyword = request.getParameter(\"keyword\"); if (keyword==null) keyword = \"\"; if (searchZiduan == null) searchZiduan = \"\"; keyword = getGbk(keyword); searchZiduan = getGbk(searchZiduan); try { page = Integer.parseInt(PAGE); } catch (NumberFormatException e) { page = 1; } int rscount = pageSize; try { ResultSet rs1 = stmt.executeQuery(sqlStr); if (rs1.next()) recordCount = rs1.getInt(1); rs1.close(); } catch (SQLException e) { errorMessage = \"\" + searchZiduan + sqlStr + e.getMessage(); return false; } if (recordCount < 1) pageCount = 0;

else

pageCount = (int)(recordCount - 1) / pageSize + 1; if (page < 1) page = 1;

else if (page > pageCount) page = pageCount; rscount = (int) recordCount % pageSize; sqlStr = \"select * from employee \"; try { rs = stmt.executeQuery(sqlStr); employeelist = new Vector(rscount); for(int i=0;i}

<%@ page import=\"org.pan.web.employee\" %>

<% String mesg = \"\"; String submit = request.getParameter(\"Submit\"); if (submit!=null && !submit.equals(\"\")){ if(employee_manager.getRequest(request)){ if(employee_manager.update()){ mesg = \"员工信息资料修改成功!\"; } else { mesg = \"数据库操作失败\" + employee_manager.errorMessage; } }else { mesg = \"对不起,你提交的参数有错误\"; } }

%>

<%@ page session=\"true\" %> <%

if (session.getAttribute(\"adminName\")==null || session.getAttribute(\"adminName\")==\"\"){ response.sendRedirect(\"login.jsp\"); } %>

<% String mesg = \"\"; String submit = request.getParameter(\"Submit\"); if (submit!=null && !submit.equals(\"\")){ if(employee_manager.getRequest(request)){ if(employee_manager.insert()){ mesg = \"新员工信息提交成功!\"; } else { mesg = \"数据库操作失败\" + employee_manager.errorMessage; } }else { mesg = \"对不起,你提交的参数有错误\"; } } %>

弹出窗口显示浏览信息

弹出窗口的js代码

<%@ page session=\"true\" %>

<%@ page import=\"org.pan.web.employee\" %> <%@ page import=\"org.pan.util.strFormat\" %> <%

if (session.getAttribute(\"adminName\")==null || session.getAttribute(\"adminName\")==\"\"){ response.sendRedirect(\"login.jsp\"); } %>

<%

String mesg = \"\";

String employeeId = request.getParameter(\"employeeId\");

if (request.getParameter(\"employeeId\")==null || request.getParameter(\"employeeId\").equals(\"\")) { mesg = \"你要查看的员工不存在!\"; } else { if (!employee_manager.getOneEmployee(employeeId)){ mesg = employee_manager.errorMessage; } } %>

五 结束语

本文论述了一个业务管理系统,基本实现了登陆,业务信息增删改功能,员工增删改,工资增删改,各种查询功能。在这一个周的设计过程中,我初步了解了jsp的优点,了解到其在网络技术上的前景。 通过这次设计,我们实现了简单的功能,方案的各部分在实际运用中能够解决相应问题。

在设计这一整体项目的过程中,也培养了我们综合能力和从全局考虑的思想。将复杂问题简单化,使自己对于jsp和数据库的了解更加深入和明了。

当然,其中也留下了一些待解决的问题,但出于自己水平有限,项目中还有一些不足之处等待完善,,加强自己对jsp和数据库的应用。

通过这次课程设计,我们了解了当前流运行原理,,锻炼了动手操作能力。更重要的是,通过这次课程设计我们培养了认真钻研,刻苦学习的精神

六 参考文献

[1]刘长炯.《MyEclipse 6 Java 开发中文教程》[DK].北京:2007:1-99 [2]郑阿奇.《MySQL实用教程》[M].北京:电子工业出版社,2009:1-218

[3]孙卫琴.《Tomcat与Java Web开发技术详解(第2版)》[M].北京:电子工业出版社,2009:1-220 [4]萨师煊,王珊.《数据库系统概论》[M].北京:高等教育出版社,2002:56-110

[5]谷雨,阎隽,高春蓉等译.《JSP从入门到精通》[M].北京:电子工业出版社,2002:1-104 [6]李迎秋,姜仲.《JSP实用教程》[M].大连:大连理工大学出版社,2007:1-200 [7]赵明昌译.《JSP数据库编程指南》[M].北京:北京希望电子出版社,2001:37-48 [8]葛蒙,程显峰.《JavaScript实践与提高》[M].北京:中国电力出版社,2002:108-228 [9]黄嘉辉.《Java网络程序设计》[M].北京:清华大学出版社,2002:445-470

[10]李绪成.《Java Web开发教程——入门与提高篇》[M].北京:清华大学出版社,2009:1-198 [11]舒红平.《Web数据库编程:Java》[M].西安:西安电子科技大学出版社

完整的项目源码放在

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务