JSP人事管理系统

来源:环球网校 发布时间:2020-09-09 点击:

  毕业设计(论文)资料

  :

 设计(论文)题目:

 人事 A OA 管理系统

 摘

 要 伴随计算机普及和计算机科学技术飞速发展,大家开始越来越多地利用计算机来处理我们生活中实际问题了。近几年来,因为人力资源制度不停改革,各级人力资源部门对人力资源信息管理计算机化需求也和日俱增。因为对大多数企业管理者而言,怎样有效管理企业人力资源,使其发挥最大效益,是每位企业管理者不停面临难题和挑战。所以企业人力资源成为了企业管理中重中之重。

 以前人力资源甚至还采取人力处理方法,这么不仅效率低下,不易保留和查找,更多会因为人为原因,造成数据遗漏,差错,误报,从而给企业带来重大损失。所以,开发一个界面友好,功效全方面,操作简单基于 B/S(Browser/Server)结构企业人力资源系统变得十分关键,这也正是本系统开发目标和意义所在。本系统将采取现在比较优异 MyEclipse6.5 开发工具和 SQL Server 20XX 数据库进行设计。

 此企业人力资源系统将人力资源和办公自动化管理进行了有机结合,能有效地管理企业内多种人力资源信息,使企业各部门工作人员全部能立即,方便地取得所要人员多种信息,和对信息组合条件查询,更新,管理员密码设置和工资统计发放等功效,从而提升企业工作效率和竞争力,满足了现代企业管理需要。

 本系统前台关键使用JSP作为开发语言,后台使用 SqlServer 作为数据库管理系统,开发环境是 MyEclipse,服务器采取 tomcat,开发出一个基于 Web 技术 B/S 结构人力资源信息管理系统。

 关键词:人事管理,JSP,B/S 结构

 ABSTRACT With the popularity of computer and the computer science and technology rapid development, more and more people began to use computers to solve practical problems in our life. In recent years, because of the personnel system reform and, at all levels of the personnel department personnel information management of computerized demand is growing. Because for the majority of the enterprise managers, how to the effective management of the enterprise personnel, make it play the biggest benefit, is each enterprise managers continuously problems and challenges. So the business enterprise personal management become the enterprise management in the top priority。

 Before the personnel management and even human treatment method, it is not only the efficiency is low, is not easy to preserve and find, more will due to human reason, cause the omission of data, mistakes, distorting, thus brings to the enterprise significant loss. Therefore, development of a friendly interface, comprehensive functions, operation simple based on B/S (Browser/Server) structure of the enterprise personnel management system has become very important, and this is the purpose of this system development and its meaning. This system will use at present more advanced MyEclipse6.5 development tools and SQL Server 20XX database design。

 The enterprise personnel management system will personnel management and office automation management of organic union, can effectively manage the business enterprise inside various personnel information, make enterprise department staff can timely and easily get to all of the information personnel, and the combination of the conditions of information query, update, and administrator password set and wage statistics distribution function, so as to promote the enterprise work efficiency and competitiveness, and meet the needs of modern enterprise management The front of the system using JSP as a development language, the use of SqlServer as a database management system, the development environment is MyEclipse, server using tomcat, developed a Web technology based on B / S structure windows management system. Keywords: Personnel management,JSP,B / S structure

 目

 录 摘

 要 ................................................................................... 错误! 未定义书签。

 ABSTRACT .......................................................................... 错误! 未定义书签。

 第一章 绪论 ......................................................................... 错误! 未定义书签。

 1.1 课题背景 ....................................................................................... 错误! 未定义书签。

 1.2 目标和意义 ................................................................................... 错误! 未定义书签。

 1.3 开发工具及技术 ........................................................................... 错误! 未定义书签。

 1.3.1 开发工具 ............................................................................. 错误! 未定义书签。

 1.3.2 JSP ....................................................................................... 错误! 未定义书签。

 1.3.3 JavaScript ............................................................................ 错误! 未定义书签。

 1.4 软硬件需求 ................................................................................... 错误! 未定义书签。

 第二章 需求分析 ................................................................. 错误! 未定义书签。

 2.1 需求调研 ....................................................................................... 错误! 未定义书签。

 2.2 可行性分析 ................................................................................... 错误! 未定义书签。

 2.2.1 技术可行性 ......................................................................... 错误! 未定义书签。

 2.2.2 经济可行性 ......................................................................... 错误! 未定义书签。

 2.2.3 操作可行性 ......................................................................... 错误! 未定义书签。

 2.2.4 法律可行性 ......................................................................... 错误! 未定义书签。

 2.3 系统用户用例图 ........................................................................... 错误! 未定义书签。

 2.3.1 管理员用例图 ..................................................................... 错误! 未定义书签。

 2.4 功效模块需求分析 ....................................................................... 错误! 未定义书签。

 2.5 设计基础思想 ............................................................................... 错误! 未定义书签。

 2.6 性能需求 ....................................................................................... 错误! 未定义书签。

 2.6.1 系统安全性 ......................................................................... 错误! 未定义书签。

 2.6.2 数据完整性 ......................................................................... 错误! 未定义书签。

 2.7 界面需求 ....................................................................................... 错误! 未定义书签。

 第三章 系统分析和设计 ..................................................... 错误! 未定义书签。

 3.1 数据库分析和设计 ....................................................................... 错误! 未定义书签。

 3.1.1 数据库概念结构设计 ......................................................... 错误! 未定义书签。

 3.1.2 数据库逻辑结构设计 ......................................................... 错误!未 未 定义书签。

 3.1.3 数据库连接原理 ................................................................. 错误! 未定义书签。

 3.2 汉字乱码问题处理 ....................................................................... 错误! 未定义书签。

 第四章 系统功效实现 ......................................................... 错误! 未定义书签。

 4.1 系统登陆页面实现 ....................................................................... 错误! 未定义书签。

 4.2 管理员模块 ................................................................................... 错误! 未定义书签。

 4.2.1 部门信息管理 ..................................................................... 错误! 未定义书签。

 4.2.2 职员信息管理 ..................................................................... 错误! 未定义书签。

 4.2.3 职员工资管理 ..................................................................... 错误! 未定义书签。

 4.2.4 职员出勤管理 ..................................................................... 错误! 未定义书签。

 4.2.5 职员奖惩管理 ..................................................................... 错误! 未定义书签。

 4.2.6 招聘信息管理 ..................................................................... 错误! 未定义书签。

 4.2.7 修改个人密码 ..................................................................... 错误! 未定义书签。

 4.2.8 退出系统 ............................................................................. 错误! 未定义书签。

 第五章 系统测试 ................................................................. 错误! 未定义书签。

 5.1 系统测试目标和意义 ................................................................... 错误! 未定义书签。

 5.2 测试过程 ....................................................................................... 错误! 未定义书签。

 5.2.1 主页面登录模块测试 ......................................................... 错误! 未定义书签。

 5.3 其它错误 ....................................................................................... 错误! 未定义书签。

 结

 论 ................................................................................... 错误! 未定义书签。

 参考文件 ............................................................................... 错误! 未定义书签。

 致

 谢 ................................................................................... 错误! 未定义书签。

 第一章 绪论 1.1 课题背景 计算机网络技术发展,给信息时代大家带来了很大方便。现在在 Internet 上,随地全部能够看到种类繁多信息管理系统,比如,企业办公化自动管理系统,电子商务系统,高校教务管理系统等等。伴随信息技术日益发展已深入到社会各个角落,各个大企业,全部充足意识到传统手工管理模式已经逐步不能适应时代发展,为了愈加好发展,纷纷开发适合自己管理系统。不管大企业。多种职员信息小企业也是 如此, 企业管理层也深深 意识 到这一点, 以前管理大多为 手工管理,效率低、 易犯错、手续繁琐,而且花费大量人力,物力,财力。她们期望有一个适合自己管理系统,能够实现职员信息管理,部门管理,请假管理,考勤管理,工资管理等功效。经过此系统,管理者能够对职员各项情况实施电脑化管理,这么能够提升工作效率,也使得人力资源信息管理所需各项信息能方便快速进行录入,查询,删除和更新,对对应关键数据也能够方便统计结果。

 1.2 目标和意义 长久以来,企业人力资源信息管理工作大多数全部采取是传统手工方法来统计相关信息,这种管理方法存在很多缺点,比如说,职员请假、审批等信息录入,查询,更新,分析全部要完全依靠管理人员手工统计和人工分析。对于小规模企业来说还勉强能够接收,但对于规模大一点企业来说,人工统计是相当麻烦。为满足企业发展需求,决定采取多种编程语言 JSP 开发了基于 B/S 架构人力资源信息管理系统,人力资源信息管理系统是包含信息科学、数据计算和计算机技术复杂人机交互系统。经过这些系统,能够对人力资源信息和管理进行智能化管理,有效地统计并查询职员请假、出勤等情况,为企业管理者提供了很多方便。

 1.3 开发工具及技术 1.3.1 开发工具 此次设计关键采取 MyEclipse 加 Tomcat 后台服务器进行,设计过程中页面关键使用 JSP 技术完成,下面对 MyEclipse、Tomcat 和 SqlServer 数据库进行简明介绍。

 1.3.1.1 MyEclipse MyEclipse,是一个十分优异用于开发 Java, J2EEEclipse 插件集合,MyEclipse功效很强大,支持也十分广泛,尤其是对多种开元产品支持十分不错。MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE扩展,利用它我们能够在数据库和 JavaEE 开发、公布,和应用程序服务器整合方面极大提升工作效率。它是功效丰富 JavaEE 集成开发环境,包含了完备编码、调试、测试和公布功效,完整支持 HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

 1.3.1.2 Tomcat

 Tomcat 是一个小型轻量级应用服务器,在中小型系统和并发访问用户不是很多场所下被普遍使用,是开发和调试 JSP 程序首选。能够这么认为,当在一台机器上配置好Apahce 服务器,可利用它响应对 HTML 页面访问请求。实际上 Tomcat 部分是 Apache 服务器扩展,但它是独立运行,所以当运行 tomcat 时,它实际上作为一个和 Apache 独立进程单独运行。

 1.3.1.3 SqlServer

 SqlServer 使用 C 和 C++编写,并使用了多个编译器进行测试,确保源代码可移植性;支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多个操作系统;为多个编程语言提供了 API;支持多线程,充足利用 CPU 资源;提供 TCP/IP、ODBC 和 JDBC 等多个数据库连接路径;能够处理拥有上千万条统计大型数据库。对于通常个人使用者和中小型企业来说,SqlServer 提供功效已经绰绰有余,而且因为 SqlServer 是开放源码软件,所以能够大大降低总体拥有成本。

 1.3.2 JSP J SP 技术使用 Java 编程语言编写类 XMLtags 和 scriptlets,来封装产生动态网页处理逻辑。网页还能经过 tags 和 scriptlets 访问存在于服务端资源应用逻辑。JSP 将网页逻辑和网页设计和显示分离,支持可重用基于组件设计,使基于 Web 应用程序开发变得快速和轻易。

 Web 服务器在碰到访问 JSP 网页请求时,首先实施其中程序段,然后将实施结果连同 JSP 文件中 HTML 代码一起返回给用户。插入 Java 程序段能够操作数据库、重新定向网页等,以实现建立动态网页所需要功效。JSP 和 Servlet 一样,是在服务器端实施,通常返回给用户端就是一个 HTML 文本,所以用户端只要有浏览器能浏览。JSP 页面由HTML 代码和嵌入其中 Java 代码所组成。服务器在页面被用户端请求以后对这些 Java代码进行处理,然后将生成 HTML 页面返回给用户端浏览器。Servlet 是 JSP 技术基础,而且大型 Web 应用程序开发需要 Java Servlet 和 JSP 配合才能完成。JSP 含有了 Java技术简单易用,完全面向对象,含有平台无关性且安全可靠,关键面向因特网全部特点。JSP 技术优点:

 (1)一次编写,四处运行。除了系统之外,代码不用做任何更改。

 (2)系统多平台支持。基础上能够在全部平台上任意环境中开发,在任意环境中进行系统布署,在任意环境中扩展。相比 ASP/.net 不足是显而易见。

 (3)强大可伸缩性。从只有一个小 Jar 文件就能够运行 Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大生命力。

 (4)多样化和功效强大开发工具支持。Java 已经有了很多很优异开发工具,而且很多能够无偿得到,而且其中很多已经能够顺利运行于多个平台之下 (5)支持服务器端组件。web 应用需要强大服务器端组件来支持,开发人员需要利用其它工具设计实现复杂功效组件供 web 页面调用,以增强系统性能。JSP 能够使用成熟JAVA BEANS 组件来实现复杂商务功效。

 内部对象说明:request 用户端请求,此请求会包含来自 GET/POST 请求参数; response 网页传回用户端响应;pageContext 网页属性是在这里管理; session 和请求相关会话; application servlet 正在实施内容;out 用来传送响应输出流;

 config 代码片段配置对象;page JSP 网页本身; exception 针对错误网页,未捕捉例外

 1.3.3 JavaScript J avaScript 是一个基于对象和事件驱动并含有相对安全性用户端脚本语言。同时也是一个广泛用于用户端 Web 开发脚本语言,常见来给 HTML 网页添加动态功效,比如响应用户多种操作。JavaScript 一个关键功效就是面向对象功效,经过基于对象程序设计,能够用更直观、模块化和可反复使用方法进行程序开发。在 HTML 基础上,使用Javascript 能够开发交互式 Web 网页。Javascript 出现使得网页和用户之间实现了一个实时性、动态、交互性关系,使网页包含更多活跃元素和愈加出色内容。在本系统中很多地方使用了 javascript 技术,比如说,检验用户输入数据有效性,是否反复,是否为空等等。

 1.4 软硬件需求 硬件需求:

 CPU:Pentium 以上计算机 内存: 512M 以上 软件需求:

 操作系统版本:Windows XP /vista/Win7 开发工具:MyEclipse 6.0.1 后台服务器:Apache Tomcat 6.0 开发语言:Java 浏览器:IE6.0

  第二章 需求分析 2.1 需求调研 所谓“需求分析”,是指对要处理问题进行具体分析,搞清楚问题要求,包含需要输入什么数据,要得到什么结果,最终应输出什么。在软件工程中,需求需求分析是软件工程中一个关键过程。在这个过程中,系统分析员和软件工程师确定用户需要。只有在确定了这些需要后她们才能够分析和寻求新系统处理方法 在项目标开始是需求调研,而且走访了部分大型企业和企业,经过一系列调查和谈话中发觉,现行人力资源信息管理工作还是存在着很多不足之处,手工统计方法不易保留,轻易丢失,一样也不利于数据查询和统计分析。依据企业实际情况及调查结果,发觉实现人力资源信息管理网络化、信息化是十分有必需,所以设计了本套人力资源信息管理系统。

 2.2 可行性分析 开发任何一个系统,全部会受到时间和资源上限制。所以,在每一个项目开发之前,全部要进行可行性分析,能够降低项目标开发风险,避免人力、物力和财力浪费。下面就技术、经济、操作和法律四个方面来介绍。

 2.2.1 技术可行性 本系统开发工具是 MyEclipse 和 SqlServer 数据库,开发语言是 Java,关键使用了J2EE 技术,java 是一个面向对象编程语言,简单易学而且灵活方便。大三时就学习了java 课程,大四期间也系统了解了 J2EE 知识,人力资源信息管理系统总体上开发难度不高,数据库设计和操作是本系统设计关键。在大学期间学习过软件工程,软件测试,UML 统一建模语言等课程,每个学期也会完成对应课程设计,含有一定系统分析、设计和测试能力。所以,完成系统实现在技术上完全含有可行性。

 2.2.2 经济可行性 现在是信息化时代,信息化管理能够使人力资源信息管理工作愈加系统化、快速化、全方面化。这么能够为企业带来较高工作效益和经济效益,在提升工作效率基础上,能够考虑降低人力资源信息管理人员数量,本系统对计算机配置要求不高,企业机房更换下来低配置电脑全部能够完全满足需要,再者,企业在管理工作上高效率和便捷性远远超出了开发本系统成本,所以在经济上含有完全可行性。

 2.2.3 操作可行性 本系统操作简单,输入信息页面大多数全部是下拉框选择形式,在一些页面,信息能够自动生成,无需输入,时间输入也是用日历控件,操作简便,对操作人员要求很低,只需对 WINDOWS 操作熟练,加之对本系统操作稍加培训即可工作,而且本系统可视性很好,所以在技术上不会有很大难度。

 2.2.4 法律可行性 本人力资源信息管理系统是自行开发管理系统,是很有实际意义系统,开发环境软件和使用数据库全部是开源代码,开发这个系统不一样于开发一般系统软件,不存在侵权等问题,即法律上是可行。

 总而言之,开发一个人力资源信息管理系统和人工统计方法相比含有速度愈加快,操作更正确,节省开支等有利之处,所以,建立一个人力资源信息管理系统是必需可行。

 2.3 系统用户用例图 2.3.1 管理员用例图 管理员是系统关键用户,包含到六大功效模块,管理员对系统全部用户有着操作权限,能够立即动态掌握职员各项情况。

 有权限的管理人员登陆系统部门管理修改个人密码员工管理工资管理出勤管理奖惩管理招聘管理 图 2.1 管理员用例图

  2.4 功效模块需求分析 本系统最大特点是使用操作简单、友好提醒信息。本系统将实现以下基础功效:

 (1)系统含有简练大方页面,使用简便,友好错误操作提醒 (2)管理员用户含有做部门管理、职员信息管理、职员工资管理,职员出勤管理、职员奖惩管理、职员招聘管理、修改个人密码等功效

 (3)含有较强安全性,避免用户恶意操作

 管理员功效结构图 管理员修改密码部门管理奖惩管理工资管理出勤管理员工管理招聘管理 图 2.2 管理员用户功效模块图 2.5 设计基础思想 设计思想遵照以下几点:

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

 2. 采取面向对象开发和设计理念。利用面向对象技术前提是对整体系统高度和正确抽象,经过它能够确保系统良好框架,进而带来产品较强稳定性和运行效率。

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

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

 5.速度优先标准。因为此工具最关键评测标准就是速度,所以在设计过程中,具体过程尽可能做到资源占用少,速度快。

 6.设计既要突出关键,又要细致周到。要符合设计需求,在有可能改善地方进行扩充,使系统更适应用户需要。

 2.6 性能需求 2.6.1 系统安全性 人力资源信息管理系统在管理权限上要严格进行控制,具体要求以下:

 1.想登陆人力资源信息管理系统进行操作,必需有一些操作权限,没有权限用户不能经过任何方法登录系统查看系统任何信息和数据,以确保系统严密性和安全性。

 2.在具体实现中设定不一样权限,不一样权限用户登录到系统后,不能越级操作。

 2.6.2 数据完整性 1 .多种统计信息完整性,信息统计内容不能为空 2.多种数据间相互联络正确性

 3.相同数据在不一样统计中一致性 2.7 界面需求 界面设计现在已经成为评价软件质量一条关键指标,一个好用户界面能够增加用户使用系统信心和爱好,提升工作效率,JSP 技术是用 JAVA 语言作为脚本语言,JSP 网页为整个服务器端 JAVA 库单元提供了一个接口来服务于 HTTP 应用程序。

 创建动态页面很方便。用户界面是指软件系统和用户交互接口,通常包含输出、输入、人-机对话界面格式等。

 1.输出设计 输出是由计算机对输入原始信息进行加工处理,形成高质量有效信息,并使之含有一定格式,提供管理者使用,这是输出设计关键职责和目标。

 系统设计过程恰好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接和使用者相联络,设计出发点应该是确保输出表格方便地为使用者服务,正确立即反应和组成用于各部门有用信息。输出设计标准是考虑既要全方面反应不一样管理层各项需要,又要言简意赅,不要将用户需要和不需要全部提供给用户。

 2.输入设计 输入数据搜集和录入是比较费事,需要大量人力和一定设备,而且轻易犯错。假如输入系统数据有错误,则处理后输出将扩大这些错误,所以输入数据正确性对于整个系统质量好坏是含有决定性意义。

 输入设计标准有以下几点:

 1)输入量应保持在能满足处理要求最低程度。设计中可采取设置字段初值,下拉式数据窗口等方法尽可能降低用户键盘输入量。输入量越少,错误率就越少,数据准备时间也降低。

 2)输入准备及输入过程应尽可能轻易进行,从而降低错误发生。

 3)应尽可能早对输入数据进行检验(尽可能靠近原数据发生点),方便使错误立即得到更正。

 4)输入数据尽早地用其处理所需形式被统计,以避免数据由一个介质转移到另一个介质时需要转录而可能发生错误

  第三章 系统分析和设计 3.1 数据库分析和设计 计算机信息系统以数据库为关键,在数据库管理系统支持下,进行信息搜集、整理、存放、检索、更新、加工、统计和传输等操作。数据库已经成为现在信息系统等计算机系统基础和关键部分。数据库设计好坏直接影响到整个系统质量和效率。

 数据库设计通常经过计划。需求分析、概念设计、逻辑设计、物理设计 5 个步骤。

 3.1.1 数据库概念结构设计 概念设计是指在数据分析基础上自底向上建立整个系统数据库概念结构,从用户角度进行视图设计,然后将视图集成,最终对集成结构分析优化得到最终结果。

 数据库概念结构设计采取实体—联络(E-R)模型设计方法。E-R 模型法组成元素有:实体、属性、联络,E-R 模型用 E-R 图表示,是提醒用户工作环境中所包含事物,属性则是对实体特征描述。

 概念设计目标是产生反应企业组织信息要求数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库 DBMS,不依靠于计算机系统, 依据以上对数据库需求分析,并结合系统概念模型特点及建立方法,建立 E-R 模型图。

 (1)职员信息实体 E-R 图图 3.1 所表示:

 图 3.1 职员信息实体 E-R 图 (2)部门信息实体 E-R 图

 图 3.2 部门信息实体 E-R 图 (3)出勤信息 E-R 图

  实体 属性 实体间关系 职员信息

 性别 姓名

 年纪 是否领导 登陆账号

 登陆密码 部门编号 部门信息

 部门名称

 部门介绍

 月份

 出勤天数 职员编号

  图 3.3 出勤信息实体 E-R 图 (4)奖惩信息 E-R 图

 图 3.4 奖惩信息实体 E-R 图

  (5)招聘信息 E-R 图

 图 3.5 招聘信息实体 E-R 图

 (6)管理员信息 E-R 图

  图 3.6 管理员信息实体 E-R 图

 出勤信息

 奖惩信息

 职员编号

 奖惩时间 奖惩项目 奖惩属性 奖惩金额 管理员 用户 ID 登陆密码 登陆账号 招聘信息

 姓名

 性别 年纪 联络电话 职位

 (7)工资信息 E-R 图

 图 3.7 工资信息实体 E-R 图

 3.1.2 数据库逻辑结构设计 我们知道,数据库概念模型独立于任何特定数据库管理系统,所以,需要依据具体使用数据库管理系统特点进行转换。即转化为按计算机见解处理逻辑关系模型,E-R 模型向关系数据库模型转换应遵照下列标准:

 *每一个实体要转换成一个关系 *全部主键必需定义非空(NOT NULL)

 *对于二元联络应根据一对多、弱对实、一对一、多对多等联络来定义外键。

 依据E-R模型,人力资源信息管理系统建立了以下逻辑数据结构,下面是各数据表具体说明。

 (1)部门表关键是统计了部门基础信息。表结构如表 3.1 所表示。

 表 3.1 部门表(t_organization) 列名 数据类型 长度 许可空 是否主键 说明 id int 4 否 是

  部门 ID name varchar 50 否 否 部门名称 description varchar 50 否 否 部门描述 p_id Int 5 否 否

 父部门 ID

  (2)职员信息表关键是统计了职员基础信息,表结构图 3.2 所表示。

 表 3.2 职员信息表(t_yuangong) 列名 数据类型 长度 许可空 是否主键 说明 id Int 4 否 是 编号 org_id Int 4 否 否 部门 ID bianhao varchar 50 否 否 工号 name varchar 50 否 否 姓名 sex varchar 50 否 否 性别 工资信息

 职员编号

 工资月份 工资金额 备注信息

 bumenlingdao varchar 50 否 否 是否部门领导

 (3)出勤信息表关键是统计了职员出勤基础信息,表结构图 3.3 所表示。

 表 3.3 出勤信息表(t_chuqin) 列名 数据类型 长度 许可空 是否主键 说明 id Int 4 否 是 编号 yuefen varchar 4 否 否 月份 tianshu varchar 50 否 否 出勤天数 yuangong_id Int 4 否 否 职员 ID

 (4)奖惩信息表关键统计了职员奖惩信息,表图 3.4 所表示。

 表 3.4 奖惩信息表(t_jiangcheng) 列名 数据类型 长度 许可空 是否主键 说明 id int 2 否 是 编号 yuangong_id varchar 50 否 否 职员信息 shijian varchar 50 否 否 奖惩时间 xiangmu int 50 否 否 奖惩项目 shuxing varchar 50 否 否 奖惩属性 jine varchar 50 否 否 奖惩金额 beizhu varchar 50 否 否 备注

 (5)招聘信息表关键是管理招聘信息,表结构图 3.5 所表示。

 表 3.5 招聘信息表(t_zhaopin) 列名 数据类型 长度 许可空 是否主键 说明 id int 4 否 是 编号 xingming varchar 50 否 否 姓名 xingbie

 varchar 5000 否 否 性别 nianling

 varchar 50 否 否 年纪 lianxi

 varchar 50 否 否 联络电话 zhiwei

 varchar 50 否 否 职位 fujian

 varchar 50 否 否 附件路径

 fujianyuanhiming

 varchar 50 否 否 附件原始名

  (6)管理员信息表关键统计管理员账号信息,包含用户名和密码,表结构如表 3.6所表示。

 表 3.6 管理员信息表(t_admin) 列名 数据类型 长度 许可空 是否主键 说明 userId int 4 否 是 编号 userName varchar 50 否 否 用户名 userPw varchar 50 否 否 密码

  (7)工资信息表关键统计职员工资信息,包含工资月份、工资金额等,表结构如表3.7 所表示。

 表 3.7 工资信息表(t_gongzi) 列名 数据类型 长度 许可空 是否主键 说明 id int 4 否 是 编号 yuefen varchar 50 否 否 工资月份 jine int 4 否 否 工资数 yuangong_id int 4 否 否 职员 ID

  3.1.3 数据库连接原理 采取 JDBC 连接数据库方法,只需在工程中导入对应数据库 jar 包,就能够方便对数据库进行连接,在程序中,用 Class.forName()方法来加载驱动程序,在用DriverManagergetConnection()方法就能够创建一个数据库连接。程序采取是 DAO 模式来操作数据库,DAO(Data Access Object,数据访问对象),是 Java 编程中一个经典模式,已被广泛应用,也是 J2EE 架构中持久层框架基础知识,基于分层次式软件架构来实现对数据库访问操作。DAO 模式关键思想就是从抽象数据源获取和操纵数据方法。抽象数据含义就是编写应用程序程序员无须关心数据库物理位置,已经是何种数据库,只需使用封装数据库中表示统计数据对象即可。其思想图 3.10 所表示:

 BusinessObject DataAccessObject DataSource DataTransferObject 使用 封装 创建/使用 获取/修改

  图 3.10

 DAO 模式类图

  图中 BussinessObject 是业务对象,是使用 DAO 模式用户端;DataTransferObject数据传输对象,在应用程序不一样层次之间传输对象,在一个分布式应用程序中,通常能够提升整理性能;DataObjectAcces 数据输入/输出对象封装了对数据源部分基础操作;DataSource 指是数据源。能够从图中看出,DAO 模式分离了业务逻辑和数据罗立即,是编写软件含有良好层次式体系结构。本系统为了方便数据库操作,关键使用 DBContent对象来接一个数据库(建立一个类 DBContent),代码以下:

 public DBContent(){

 String CLASSFORNAME=" com.microsoft.jdbc.sqlserver.SQLServerDriver ";//连接数据库驱动

 String url=" jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_bangong ";

 String user="root";//连接数据库用户名

 String password="root";//连接数据库密码

 try{

 Class.forName(CLASSFORNAME);

 con= DriverManager.getConnection(url,user,password);//加载数据库驱动

 stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

  }

 catch(Exception ex){

 ex.printStackTrace();

 }

 }

 在程序需要连接数据库地方,只需要生成一个DBConnet对象,就能够对数据库进行连接并操作。

 3.2 汉字乱码问题处理 在程序中常常会碰到汉字乱码情况,假如手动在servlet 和jsp页面进行设置,相当麻烦。所以,在程序开始就写了一个过滤器 SetCharacterEncodingFilter。

 在 web.xml 中配置:

 <filter> <filter-name>SetCharacterEncodingFilter</filter-name> <filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> </filter> <filter-mapping>

 <filter-name>SetCharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern>//*表示工程下全部页面全部会有此过滤器处理 </filter-mapping> 对应SetCharacterEncodingFilter.java文件中关键代码,在初始化init()方法中定义:

 public void init(FilterConfig filterConfig) throws ServletException {

 this.filterConfig = filterConfig;

  this.encoding = filterConfig.getInitParameter("encoding");

  String value = filterConfig.getInitParameter("ignore");

  } 在工具包util包中一样定义了DataFormate类来处理字符转换:

 public static String toUni(String gbStr){

  String uniStr = ""; /*把字符串转换成uincode编码*/

  if(gbStr == null){

  gbStr = "";

  }

  try{

  byte[] tempByte = gbStr.getBytes("GB2312");

  uniStr = new String(tempByte,"ISO8859_1");

  }catch(Exception ex){

  }

  return uniStr;

  }

  /* 把字符串转换成Utf8编码*/

  public static String toUtf8String(String s) {

  StringBuffer sb = new StringBuffer();

  for (int i = 0; i < s.length(); i++) {

 char c = s.charAt(i);

  if (c >= 0 && c <= 255) {

  sb.append(c);

  }

  else {

 byte[] b;

  try {

 b = Character.toString(c).getBytes("utf-8");

 }catch (Exception ex) {

  System.out.println(ex);

  b = new byte[0];

 }

 for (int j = 0; j < b.length; j++) {

 int k = b[j];

 if (k < 0) {

 k += 256;

 }

  sb.append("%" + Integer.toHexString(k).

 toUpperCase());

 } }

 return sb.toString();

 } }

 第四章 系统功效实现 在管理信息系统生命周期中,仅过了需求分析、系统设计等阶段以后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作关键是集中在逻辑、功效和技术设

 计上,系统实施阶段要继承以前面各个阶段工作结果,将技术设计转化为物理实现,所以系统实施结果是系统分析和设计阶段结晶。

 4.1 系统登陆页面实现 1.描述:为了确保系统安全性,要先使用本系统必需先登陆到系统中,而且不一样角色用户进入不一样界面,功效也随之不一样。

 2.程序运行效果图图 4.1 所表示:

 图 4.1 系统登陆页面设计

 3.在登陆页面输入用户名和密码以,选择登陆身份后,点击提交按钮,跳转到登陆 service中,在该 service中会对用户名,密码,验证码进行判定,并依据对应用户角色进入对应页面,loginservice 关键代码:

 public String login(String userName,String userPw,int userType)

 {

  System.out.println("userType"+userType);

  try

  {

 Thread.sleep(700);

  } catch (InterruptedException e)

  {

 // TODO Auto-generated catch block

 e.printStackTrace();

  }

 String result="no";

 if(userType==0)//系统管理员登陆

 {

 String sql="select * from t_admin where userName=? and userPw=?";

 Object[] params={userName,userPw};

 DB mydb=new DB();

 mydb.doPstm(sql, params);

 try

  {

  ResultSet rs=mydb.getRs();

  boolean mark=(rs==null||!rs.next()?false:true);

  if(mark==false)

  {

  result="no";

  }

  else

  {

  result="yes";

  TAdmin admin=new TAdmin();

  admin.setUserId(rs.getInt("userId"));

  admin.setUserName(rs.getString("userName"));

  admin.setUserPw(rs.getString("userPw"));

  WebContext ctx = WebContextFactory.get();

 HttpSession session=ctx.getSession();

 session.setAttribute("userType", 0);

 session.setAttribute("admin", admin);

  }

  rs.close();

 }

  catch (SQLException e)

 {

  System.out.println("登录失败!");

  e.printStackTrace();

 }

 finally

 {

  mydb.closed();

 }

  }

  if(userType==1)

  {

 String sql="select * from t_yuangong where del="no" and loginname=?

 and loginpw=?";

 Object[] params={userName,userPw};

 DB mydb=new DB();

 mydb.doPstm(sql, params);

 try

  {

  ResultSet rs=mydb.getRs();

  boolean mark=(rs==null||!rs.next()?false:true);

  if(mark==false)

  {

  result="no";

  }

  else

  {

 result="yes";

  Yuangong yuangong=new Yuangong();

 yuangong.setId(rs.getInt("id"));

  yuangong.setBianhao(rs.getString("bianhao"));

  yuangong.setName(rs.getString("name"));

  yuangong.setSex(rs.getString("sex"));

  yuangong.setShifoubumenlingdao(rs.getString("shifoubumenlingdao"));

  yuangong.setLoginname(rs.getString("loginname"));

  yuangong.setLoginpw(rs.getString("loginpw"));

  yuangong.setOrg_id(rs.getInt("org_id"));

  yuangong.setDel(rs.getString("del"));

 WebContext ctx = WebContextFactory.get();

 HttpSession session=ctx.getSession();

 session.setAttribute("userType", 1);

 session.setAttribute("yuangong", yuangong);

 }

  rs.close();

 }

  catch (SQLException e)

 {

  System.out.println("登录失败!");

  e.printStackTrace();

 }

  finally

 {

  mydb.closed();

 }

  4.2 管理员模块 1.描述:管理员主页面:左方页面展示了管理员可操作五大功效,进入相关管理页面能够链接到子菜单,而且高亮显示,每个管理模块下面全部有对应子菜单。

 2.程序运行效果图图 4.2 所表示:

 图 4.2 管理员主页面 在每个jsp页面将会对相关用户进行拦截操作,这么能够提升安全性,预防用户不经过登陆页面而进入任何子菜单页面:

 if(session.getAttribute("user")==null) {

 out.print("<script>alert("请先登录!");window.open("../index.jsp","_self")</script>");

  } 4.2.1 部门信息管理 4.2.1.1 部门信息录入 1. 描述:管理员输入部门相关正确信息后点击录入按钮,假如是没有输入完整部门经理信息,全部会给出对应错误提醒,不能录入成功。输入数据全部经过 form 表单中定义方法 onsubmit="return checkForm()"来检验,checkForm()函数中是多种校验输入数据方法。

 2. 程序效果图以下图 4.3 所表示:

  图 4.3 部门信息录入

 3. 步骤图以下图 4.4 所表示:

 图 4.4 部门经理信息录入步骤图 4.2.1.2 部门信息管理 1.描述:管理员点击左侧菜单“部门管理”,页面跳转到部门管理界面,调用后台 servlet 类查询全部部门经理。

 2.程序效果图以下图 4.5 所表示 管理员录入 部门信息 系统验证 部门信息 录入成功 结 束 经过 未经过 登陆系统

  图 4.5 部门经理信息管理 部门管理关键代码:

 public void orgMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException {

  List orgList=new ArrayList();

  String sql="select * from t_organization where del="no"";

  Object[] params={};

  DB mydb=new DB();

  try

  {

 mydb.doPstm(sql, params);

 ResultSet rs=mydb.getRs();

 while(rs.next())

 {

  TOrganization organization=new TOrganization();

  organization.setId(rs.getInt("id"));

  organization.setName(rs.getString("name"));

  organization.setDescription(rs.getString("description"));

  organization.setP_id(rs.getInt("p_id"));

  organization.setDel(rs.getString("del"));

  organization.setParenOrganization(liuService.getOrg(rs.getInt("p_id")));

  orgList.add(organization);

  }

 rs.close();

  }

  catch(Exception e)

  {

 e.printStackTrace();

  }

  mydb.closed();

  req.setAttribute("orgList", orgList);

  req.getRequestDispatcher("admin/org/orgMana.jsp").forward(req, res);

 }

 public void orgAdd(HttpServletRequest req...

推荐访问:人事管理系统 JSP
上一篇:部编人教版七年级下册语文-四、综合性学习-孝亲敬老,从我做起-亲子账单
下一篇:全面预算管理审计研究-审计研究论文-财政税收论文

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有