毕业设计(论文)-人事管理信息系统设计

上传人:na****u 文档编号:56160053 上传时间:2022-02-20 格式:DOC 页数:50 大小:3.42MB
收藏 版权申诉 举报 下载
毕业设计(论文)-人事管理信息系统设计_第1页
第1页 / 共50页
毕业设计(论文)-人事管理信息系统设计_第2页
第2页 / 共50页
毕业设计(论文)-人事管理信息系统设计_第3页
第3页 / 共50页
资源描述:

《毕业设计(论文)-人事管理信息系统设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)-人事管理信息系统设计(50页珍藏版)》请在装配图网上搜索。

1、毕业设计(论文) - 1 -摘摘 要要高等学校的人事管理工作意义重大,较高的人事管理水平,必将为学校的教学科研提供强有力的支撑。而人事管理系统则是现代化人力资源管理的有效工具。通过人事管理信息系统,可以更快捷、高效的进行人力资源的管理,对高校的人事管理工作影响深远。本系统遵照实际需求,共包含了高校人员信息录入、人员信息查看、人员信息查询、报表查看、人员信息的修改、删除等功能模块,同时,也为系统用户提供了注册、登录、修改个人信息,以及权限管理的相关功能。界面简洁、友好,使用方便,性能可靠。该系统的开发,参照了系统设计的三层架构模型,即将业务应用划分为表现层(UI) 、业务逻辑层(BLL) 、数据

2、访问层(DAL) ,体现了“高内聚,低耦合”的思想。其中,展现层使用了 JSP 技术,业务逻辑层使用了 Servlet 技术,数据访问层采用 JDBC 作为持久化对象。选择此课题可以更加深入的了解人事管理的相关业务,并在对业务需求了解的情况下,做出技术层面的详细设计,以达到同时提升自己的业务技能和技术能力的目的。关键词关键词:高校 人事 系统 Java 毕业设计(论文) - 2 -AbstractPersonnel management work of colleges and universities is of great significance, the higher level of

3、 management, personnel for the teaching and scientific research will provide strong support. And personnel management system, modern human resources management is the effective tools. Through the personnel management system, we can be more fast and efficient in human resource management, personnel m

4、anagement of college is of important significance.In accordance with the actual demand, this system of university staff contains the information input, personnel information view, personnel information query, statements of the review, researchers information modification and deletion function module

5、, and at the same time, also for users of the system provides register, login, modify, personal information, and rights management of related functions. The interface is simple and friendly, use convenient, reliable performance.The development of the system, reference for the design of the system ar

6、chitecture models, three layers to business application is divided into the presentation layer (UI), business logic layer (BLL), data access layer (DAL), embodies the high cohesion and low coupling thought. It USES an JSP as show the technology to achieve, business of logic layer use the Servlet tec

7、hnology, data access layer using JDBC as persistent object.Choose the topic can be more in-depth understanding of the personnel management of relevant business, and to understand the needs of the business in the case, make the technical level of the detailed design, in order to achieve while increas

8、ing your business skills and technical ability of the goal.KeywordsKeywords:colleges and universities personnel system Java毕业设计(论文) - 3 -目目 录录前前 言言.- 1 -1 高校人事管理概述高校人事管理概述.- 2 -1.1 高校人事管理现状 .- 2 -1.2 人事管理信息系统的意义.- 2 -2 开发工具与技术方案开发工具与技术方案.- 4 -2.1 开发工具选择.- 4 -2.2 开发工具介绍.- 4 -2.2.1 Eclipse.- 4 -2.2.2

9、JDK.- 6 -2.2.3 Tomcat.- 6 -2.2.4 MySQL Server.- 7 -2.3 技术方案选择.- 8 -2.4 技术简要介绍.- 9 -2.4.1 Java.- 9 -2.4.2 JSP 与 Servlet.- 10 -2.4.3 JDBC.- 11 -2.4.4 CSS JavaScript .- 12 -3 需求分析与详细功能设计需求分析与详细功能设计.- 14 -3.1 功能需求.- 14 -3.1.1 查询功能.- 14 -3.1.2 图表功能.- 14 -3.1.3 权限管理.- 14 -3.2 详细功能设计.- 15 -3.2.1 登录注册.- 15

10、-3.2.2 数据录入.- 15 -3.2.3 数据查询.- 15 -3.2.4 数据修改、删除.- 15 -3.2.5 报表查询.- 15 -3.2.6 权限管理.- 15 -3.3 页面规范.- 16 -3.3.1 页面命名.- 16 -3.3.2 页面样式.- 16 -4 数据库与代码设计数据库与代码设计.- 22 -4.1 数据库设计.- 22 -4.1.1 用户表.- 22 -4.1.2 人员表.- 23 -4.2 代码设计.- 25 -毕业设计(论文) - 4 -4.2.1 文件命名规范.- 25 -4.2.2 主要方法简介.- 26 -4.2.3 公用代码示例.- 28 -5 5

11、 功能模块详细说明功能模块详细说明.- 32 -5.1 人员信息录入.- 32 -5.1.1 数据展现.- 32 -5.1.2 逻辑处理.- 34 -5.1.3 数据库操作.- 34 -5.2 人员信息查看、查询.- 36 -5.2.1 数据展现.- 36 -5.2.2 逻辑处理.- 37 -5.2.3 数据库操作.- 39 -5.3 人员信息修改、删除.- 40 -5.3.1 数据展现.- 40 -5.3.2 逻辑处理.- 41 -5.3.3 数据库操作.- 42 -结结 论论.- 44 -致致 谢谢.- 45 -参考文献参考文献.- 46 -毕业设计(论文) - 0 -前前 言言人力资源管

12、理是高校管理中的一个重要内容,随着教育改革的推进,高校的规模不断扩大,师资的数量也水涨船高。如何管理好高校内部的人员信息,成为高校管理中一个大问题。在这种情况下,开发一个高效人事管理系统就显得尤为重要。本系统结合具体的功能要求,采用 B/S 架构的 Java Web 开发技术编写。整个系统从符合操作简便、界面友好、灵活、实用的要求出发。本系统包括人员信息录入、人员信息查看、人员信息查询、人员信息修改、人员信息删除、报表查看、权限管理等功能。目前,在众多的高校中,人事管理系统的使用相当广泛。同时,也有众多应用比较成熟的人事管理信息系统。不同的高校或者企业,有着不同的人事管理制度,这就决定了不同的

13、组织需要不同的人事管理信息系统。鉴于人力资源在高校中的重要地位,高校人事管理系统则不可或缺。本系统采用三层架构,分别在展现层、业务逻辑层、持久化层使用了JSP、Servlet、JDBC 等技术。毕业设计(论文) - 1 -1 高校人事管理概述高校人事管理概述1.11.1 高校人事管理现状高校人事管理现状传统的“高校人事管理”,是指以教职工与有关教学、科研、管理以及其它教辅活动的相互关系为对象,运用有关理论原则和方法,对吸收录用、调配派遣、奖惩任免、培训考核、工资福利等事务,进行计划、组织、协调、指挥、监督的活动,以保证学校活动的正常高效运作。 高校人力资源指高校从事教学、科研、管理、后勤等教职

14、工总体所具有的劳动能力的总和,其中教研人员是主体,管理人员是关键,服务人员与离退休人员是补充。人力资源管理是指运用现代化的科学方法,对人力进行合理的培训与配置,同时对人的思想、心理和行为进行恰当的引导,充分发挥人的主观能动性,使人尽其才,事得其人,人事相宜,以实现组织目标。 因此,人力资源管理是在人事管理基础上发展起来的人性化管理,从以工作为导向转变成以员工为导向,“以人为本”的管理理念是现代人力资源管理与传统人事管理最根本的区别。1.21.2 人事管理信息系统的意义人事管理信息系统的意义随着高校规模的扩大,高校的管理组织也变得越来越庞大,相应的也就给高校的人事管理工作带来了更大的困难,而信息

15、的处理与使用也变得越来越重要,它对于企业的决策者和管理者来说都至关重要。所以人事管理信息系统应该能够为用户提供充足的信息和快捷的查询手段。建立一套人事管理信息系统能够加快物质的周转速度,提高生产效率,加强管理的信息化手段,提高本单位的经济效益。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会大生产的周期,因此,开发一套管理软件成为很有必要的事情。人事管理的对象是一个单位或若干单位中员工的基本信息,这些信息是在变化的。人事部门要为本单位、上级部门提供准确的统计数据。由于人员众多、数据源复杂、统计工作困难,以往每做一项工作,都需要花费很多的精力和时毕业设计(论文) - 2 -间。传统的人

16、工管理方式存有诸如效率低、保密性差,查找、更新、维护困难等各种各样的缺点。因此,人事管理信息系统能够为用户提供充足的信息和快捷的查询手段。使用计算机进行人事资料管理,会给应用者带来很多的方便,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,同时,这也是高校的科学化、正规化管理以及与先进管理技术接轨的重要条件。人事管理信息系统具有的重要意义是:大幅度的提高工作效率,使高校的人事管理从繁重琐碎的人事工作中解脱出来,把主要精力投入到日常工作中。用计算机数据库管理替代手工统计工作,并且对数据库中的各数据自动进行逻辑验证,使数据统计过程中的错

17、漏减少到最低程度。使各管理部门的信息管理工作规范化、高效化,大大简化数据汇总的工作量。毕业设计(论文) - 3 -2 开发工具与技术方案开发工具与技术方案2.12.1 开发工具选择开发工具选择开发平台采用 Eclipse 开发工具;中间件采用 Tomcat6.0;Java 虚拟机采用 jdk1.6.0_10;数据库平台采用 MySQL Server 5.0;表 2-1 开发工具列表平台名称工具名称备注开发集成平台Eclipse虚拟机JDK1.6.0_10 版本中间件(服务器)Tomcat6.0 版本数据库MySQL Server5.0 版本2.22.2 开发工具介绍开发工具介绍2.2.12.2

18、.1 EclipseEclipseEclipse 是一个基于 Java 的开源平台 。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools,JDT) 。Eclipse 最初是由 IBM 公司开发的替代商业软件 Visual Age for Java 的下一代 IDE 开发环境,2001 年 11 月贡献给开源社区,现在它由非营利软件供应商联盟 Eclipse 基金会(Eclipse Foundation)管理。 2003 年,Eclipse 3.0 选择

19、OSGi 服务平台规范为运行时架构。 2007 年6 月,稳定版 3.3 发布。2008 年 6 月发布代号为 Ganymede 的 3.4 版。2009 年 7 月发布代号为 GALILEO 的 3.5 版。2010 年 6 月发布代号为Helios 的 3.6 版。 Eclipse 是著名的跨平台的自由集成开发环境( IDE) 。最初主要用来毕业设计(论文) - 4 -Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和 Python 的开发工具。 Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难

20、具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE。 Eclipse 最初由 OTI 和 IBM 两家公司的 IDE 产品开发组创建,起始于1999 年 4 月。IBM 提供了最初的 Eclipse 代码基础,包括 Platform、JDT 和 PDE。目前由 IBM 牵头,围绕着 Eclipse 项目已经发展成为了一个庞大的 Eclipse 联盟,有 150 多家软件公司参与到 Eclipse 项目中,其中包括Borland、Rational Software、Red Hat 及 Sybase 等。Eclipse 是一个开发源码项目,它其实是 Visual Age fo

21、r Java 的替代品,其界面跟先前的Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle 在内的许多大公司也纷纷加入了该项目,并宣称Eclipse 将来能成为可进行任何语言开发的 IDE 集大成者,使用者只需下载各种语言的插件即可。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。 Eclipse 还包括插件开发环境( Plug-in Development Environment,PDE) ,这个组件主要针对希望扩展

22、 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如, WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。 Eclipse

23、是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse 项毕业设计(论文) - 5 -目、Eclipse 工具项目和 Eclipse 技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT 和 PDE。JDT 支持 Java 开发、CDT 支持 C 开发、PDE 用来支持插件开发, Eclipse Platform 则是一个开放的可扩展 IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。 Eclipse Platform 允许工具建造者独立开发与他人工具无缝集

24、成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 2.2.22.2.2 JDKJDKJDK(Java Development Kit)是 Sun Microsystems 针对 Java 开发员的产品。自从 Java 推出以来,JDK 已经成为使用最广泛的 Java SDK。JDK 是整个 Java 的核心,包括了 Java 运行环境, Java 工具和 Java 基础的类库。JDK 是学好 Java 的第一步。而专门运行在 x86 平台的 Jrocket 在服务端运行效率也要比 Sun JDK 好很多。从 SUN 的 JDK5.0 开始,提供了泛型等非常实用的功能,其

25、版本也不断更新,运行效率得到了非常大的提高。SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0 开始,改名为 Java SE。 EE(J2EE),enterprise edition,企业版,使用这种 JDK 开发 J2EE 应用程序,从 JDK 5.0 开始,改名为 Java EE。 ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java 应用程序,从 JDK 5.0开始,改名为 Java ME。 没有 JDK 的话,无法安装或者运行 eclipse。因此 JDK 要作为eclipse 的运行支撑。2.2.32

26、.2.3 TomcatTomcatTomcat 是 Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同毕业设计(论文) - 6 -开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。

27、Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的 tomcat 标志改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一

28、个与 Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和 Servlet。另外,Tomcat 和 IIS、Apache 等 Web 服务器一样,具有处理 HTML 页面的功能,另外它还是一个 Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。不过,Tomcat 处理静态 HTML 的能力不如 Apache 服务器。2.2.42.2.4 MySQLMySQL ServerServerMySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB

29、公司。在 2008 年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购。对于 Mysql 的前途,没有任何人抱乐观的态度。目前 MySQL 被广泛地应用在Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库。毕业设计(论文) - 7 -与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之处,如规模小、功能有限(MySQL Cluster 的功能和效率都相对比较差)等,但是这丝毫也没有减少

30、它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,而且由于 MySQL 是开放源码软件,因此可以大大降低总体拥有成本。 目前 Internet 上流行的网站构架方式是 LAMP(Linux+Apache+MySQL+PHP) ,即使用 Linux 作为操作系统,Apache 作为 Web 服务器,MySQL 作为数据库,PHP 作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。MySQL 使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代

31、码的可移植性。MySQL 也支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统,并同时为多种编程语言提供了 API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。支持多线程,充分利用 CPU 资源;优化的 SQL 查询算法,有效地提高查询速度;既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的

32、Shift_JIS 等都可以用作数据表名和数据列名;提供 TCP/IP、ODBC 和JDBC 等多种数据库连接途径;提供用于管理、检查、优化数据库操作的管理工具;可以处理拥有上千万条记录的大型数据库。可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator,MySQL Query Browser 和 MySQL Workbench。另外,还有其他的 GUI 管理工具,例如早先的mysql-front 以及 ems mysql manager,navicat 等等。2.32.3

33、技术方案选择技术方案选择底层逻辑采用 Java 语言编写;前端页面采用 JSP 展现;业务处理使用毕业设计(论文) - 8 -Servlet;操纵数据库使用 JDBC;界面修饰采用 CSS 样式表;异步查询、提交,采用 AJAX;前端页面的少量逻辑采用 JavaScript;表 2-2 技术方案用途技术名称备注编程语言Java业务处理Servlet纯 Java 语言编写前端页面JSP在 HTML 基础上编写数据库操纵JDBC纯 Java 语言编写界面修饰CSS异步操作AJAX前端逻辑JavaScript前端验证等逻辑2.42.4 技术简要介绍技术简要介绍2.4.12.4.1 JavaJavaa

34、、Java 语言的相对简单性。Java 语言的语法与 C 语言和 C+语言很接近,并且 Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。b、Java 语言是面向对象的。Java 语言提供类、接口和继承等,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java 语言全面支持动态绑定,而 C+ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语言。 c、Java 语言是分布式的。d、Java 语言是健壮的。Java 的强类型机制、异常处理、废料的自动收集等是 Java 程序健壮性的重要保证。对指

35、针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。 e、Java 语言是安全的。Java 通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。毕业设计(论文) - 9 -f、Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件), 然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 g、Java 语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长

36、度。 h、Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 i、Java 是高性能的。与那些解释型的高级脚本语言相比,Java 的确是高性能的。j、Java 语言是多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子将一个实现了 Runnable

37、接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized) 。 k、Java 语言是动态的。Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。2.4.22.4.2 JSPJSP

38、 与与 ServletServletJSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基毕业设计(论文) - 10 -于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网

39、页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。Servlet 是一种服务器端的 Java 应用程序,具有独立于平台和协议的特性,可以生成动态的 Web 页面。 它担当客户请求(Web 浏览器或其他 HTTP 客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。 Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同,Servlet 由 Web 服务器进行加载,该 Web服务器必须包含支持 Serv

40、let 的 Java 虚拟机。JavaServer Pages(JSP)是一种实现普通静态 HTML 和动态 HTML 混合编码的技术,JSP 并没有增加任何本质上不能用 Servlet 实现的功能。但是,在JSP 中编写静态 HTML 更加方便,不必再用 println 语句来输出每一行 HTML 代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开。2.4.32.4.3 JDBCJDBCJDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用

41、 Java语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。使用 JDBC 之后,向各种关系数据发送 SQL 语句就是一件很容易的事。同时,将 Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是 Java 语言“编写一次,处处运行”的优势。 毕业设计(论文) - 11 -Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法。JDBC 实现了所有这些面向标准的目标并且具有简

42、单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。JDBC 扩展了 Java 的功能。2.4.42.4.4 CSSCSS JavaScriptJavaScriptCSS(Cascading Style Sheet)是一组格式设置规则,用于控制 Web 页面的外观。通过使用 CSS 样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在 HTML 文档中,而用于定义表现形式的 CSS 规则则

43、存放在另一个文件中或 HTML 文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使 HTML 文档代码更加简练,缩短浏览器的加载时间。使用 CSS 具有以下优点:a、表现和内容相分离将设计部分剥离出来放在一个独立样式文件中,HTML 文件中只存放文本信息。这样的页面对搜索引擎更加友好。b、提高页面浏览速度。对于同一个页面视觉效果,采用 CSS 布局的页面容量要比 TABLE 编码的页面文件容量小得多,前者一般只有后者的 1/2 大小。浏览器就不用去编译大量冗长的标签。c、易于维护和改版。你只要简单的修改几个 CSS 文件就可以重新设计整个网站的

44、页面。d、使用 CSS 布局更符合现在的 W3C 标准。本系统中也广泛的采用了 JavaScript 语言。JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户毕业设计(论文) - 12 -端 Web 开发的脚本语言,常用来给 HTML 网页添加动态功能,比如响应用户的各种操作。系统中将 JavaScript 语言用来实现数据的验证,界面的动态展示、隐藏等。尤其是验证逻辑的处理,极大地减轻了服务器端的压力。毕业设计(论文) - 13 -3 需求分析与详细功能设计需求分析与详细功能设计3.13.1 功能需求功能需求高校人事管理系统主要包括三个方

45、面的功能需求。分别为查询功能、图表功能、权限管理。下面对这三项功能进行详细说明。3.1.13.1.1 查询功能查询功能系统要求能在根据各种条件查询人员信息。因为录入的人员信息有多个字段,当录入的信息较多时,需要根据不同的字段对整个数据集进行筛选,比如,根据人员的姓名、编号、部门等进行查询。3.1.23.1.2 图表功能图表功能即按照人员不同的属性,对人员信息的情况以图表的形式展现出来。以使整个统计结果更加直观明了。3.1.33.1.3 权限管理权限管理鉴于系统数据的安全性,需要对用户进行一定的授权,对用户的操作权限进行约束。用户的权限分为功能权限和数据权限。系统要根据不同的要求对用户的权限进行

46、管理。权限管理主要包括以下三方面内容:a.功能权限即授予用户具体的操作功能,控制系统的相应功能模块对用户的可见性。b.数据权限根据需求授予用户操作数据的权限,例如,修改权限、删除权限等。c.权限管理系统的管理员可以对所有的系统用户权限进行维护。可授予用户相应的功能权限及数据权限,当然,也可以对已经授权的用户重新进行授权或者取消授权。毕业设计(论文) - 14 -3.23.2 详细功能设计详细功能设计3.2.13.2.1 登录注册登录注册进入系统之前,要先登录系统。需要输入用户名和密码,否则需要注册,以获得用户名和密码。3.2.23.2.2 数据录入数据录入由于是人事管理系统,需要录入相应的人员

47、信息,系统需要包含数据录入的功能。当然,录入的数据应该需要进行验证。3.2.33.2.3 数据查询数据查询将人员信息录入到系统中之后,需要能够按照一定条件,筛选出特定的信息。查询的时候,可以让用户选择多个属性值对数据进行查询。3.2.43.2.4 数据修改、删除数据修改、删除对录入的数据要求可以进行修改并删除,当然,修改或删除数据的前提是用户具有相应的权限。3.2.53.2.5 报表查询报表查询需要将查询出的信息按照一定的统计方法生成相应的报表。以使统计信息简明直观。3.2.63.2.6 权限管理权限管理系统的管理员可以对系统用户的权限进行维护。授予用户不同的权限,以便用户可以进行相关的功能及

48、数据操作。毕业设计(论文) - 15 -3.33.3 页面规范页面规范3.3.13.3.1 页面命名页面命名页面的命名全部采取小写字母以及下划线组成,名称尽量的表意,即可以从页面的命名中看出页面的功能。表 3-1 页面列表功能页面名称页面命名备注登录页面index.jsp注册页面register.jsp主页homepage.jsp登录之后,进入主页人员信息录入insert.jsp人员信息查看info.jsp人员信息简略列表单个人员详细信息info_detail.jsp人员信息修改update.jsp人员信息查询info_query.jsp含人员信息列表报表查看report.jsp权限管理页面i

49、mpower.jsp权限说明power_explain.html辅助页面查询展现info_query_list.jsp系统用户信息更改user_update.jsp3.3.23.3.2 页面样式页面样式a登录页面毕业设计(论文) - 16 -图 3-1b注册页面图 3-2毕业设计(论文) - 17 -c系统主页图 3-3d.人员信息录入图 3-4毕业设计(论文) - 18 -e.人员信息查看图 3-5f.人员信息查询图 3-6毕业设计(论文) - 19 -g.权限管理图 3-7h.人员信息毕业设计(论文) - 20 -图 3-8i.个人资料修改图 3-9毕业设计(论文) - 21 -4 数据库

50、与代码设计数据库与代码设计4.14.1 数据库设计数据库设计高校人事管理系统后台数据库中建立了相应的数据表,以存储系统所需的数据,保证系统的正确运行。数据库中对应有用户表 HR_User,人员表 HR_ Person(数据库中字母的大小写不敏感) 。4.1.14.1.1 用户表用户表用户表用来储存系统用户的信息,在登录系统、注册新用户、授权等功能时使用。用户表是高校管理系统所依赖的最基本数据表之一。以下是用户表的详细设计,包括字段名、字段类型、字段长度等。表 4-1 HR_User字段字段名类型长度为空备注用户名usernamevarchar32N主键密码passwordvarchar32N性

51、别genderint1女 0;男 1生日birthdaytimestamp简介infovarchar256功能权限fun_powint1附说明数据权限data_powint1附说明权限说明:功能权限:系统中将功能权限分为三种,分别为查看、查询、报表权限。功能权限项在数据库中采用 int 类型进行标识,其中各种权限对应的数值如下:毕业设计(论文) - 22 -表 4-2 功能权限对照数值对应权限备注0录入默认权限,任何用户都具有1查看2查询含查看权限3报表4查看、报表5查询、报表含查看权限,普通用户最高权限6以上所有权限及授权系统管理员权限数据权限:系统中将数据权限分为修改与删除两项权限,在数据

52、库中用int 类型的数值进行标识,权限与数值的对应规则如下:表 4-3 数据权限对照数值对应权限备注0默认权限不具有修改、删除的权限1修改2删除3修改、删除最高的数据权限4.1.24.1.2 人员表人员表人员表 HR_Penson 中存储系统中需要录入、以及查询所用的人员数据。以毕业设计(论文) - 23 -下是人员表的详细设计:表 4-4 HR_Person字段字段名类型长度为空备注编号numbervarchar32N主键姓名namevarchar32N性别genderint1女 0;男 1职称typeint1附说明生日birthdaytimestamp部门编号dep_numvarchar3

53、2入职年月work_datetimestamp婚姻状况marriageint1附说明备注infovarchar256字段说明:职称:职称在数据库中用 int 类型的字符存储。职称的对应关系如下:表 4-5 职称对照数值对应职称备注1教授2副教授3讲师4助教毕业设计(论文) - 24 -5其它婚姻状况:在数据库中同样以 int 类型的数据存储,下面是数值与真实情况的对应关系:表 4-5 婚姻状况对照数值对应备注0未婚1已婚2离异3丧偶4.24.2 代码设计代码设计本系统的代码主要包含前台页面的代码(.jsp) ,后台的逻辑处理代码(.java,包括处理业务逻辑的 Servlet、执行数据库操作的

54、 JDBC,以及用来封装对象的 Java 类和工具类),辅助类型的代码(包括修饰页面样式的.css,以及修饰页面及处理少量前台逻辑的.js) 。这里主要对文件的文件名、主要方法、通用代码进行设计。4.2.14.2.1 文件命名规范文件命名规范由于页面已经做出设计规范,这里主要对处理后台逻辑的.java 文件进行命名。 (命令规范:首字母大写,类名中含有多个单词时,每个单词的首字母也大写)表 4-6 文件命名ServletLoginServlet负责处理用户登录系统RegisterServlet注册信息的处理毕业设计(论文) - 25 -InsertServlet人员信息录入的处理UpdateS

55、ervlet人员信息更改QueryServlet负责查询逻辑的处理ImpowerServlet授权处理NameCheckServlet异步验证注册用户名,请求来自 ajaxPersonPagingServlet人员信息查询分页ImpowerPageServlet处理授权页面的数据展示QueryPageServlet展示查询界面的初步数据UpdateUserInfoServlet修改系统用户的信息DAO/VOBaseDAO连接数据库、释放资源、父类HRDAO继承 BaseDAO,User系统用户的 VOPerson人员信息的 VO工具类Page分页页面的 VOPower权限逻辑的处理Shift数

56、据格式的转换SqlTool根据条件,生成不同的 SQLTimeShift对时间戳进行转换4.2.24.2.2 主要方法简介主要方法简介下面主要列举一些在 HRDAO 中执行数据操作的一些方法。毕业设计(论文) - 26 -表 4-7 方法摘要public boolean addUser(User user)添加系统用户public boolean login(String username,String password)验证用户登录public User userInfo(String username)查询用户信息public boolean addPerson(Person person

57、)添加人员信息public boolean isUsernameBe(String username)检查系统用户是否已经存在public boolean isNumberBe(String number)检查人员编号是否已经存在public int userCount()查询系统用户总数public int personCount()查询人员信息总数public List selectUser(Page page)查询系统用户public List selectPerson(Page page)查询人员信息public Person personInfo(String number)查询单个

58、人员信息public boolean delPerson(String number)删除人员信息public boolean updatePersonInfo(Person person)更新人员信息毕业设计(论文) - 27 -public boolean impower(User user)授权处理public int queryCount(String sql)查询数据记录数目public boolean updateUserInfo(User user)更新系统用户信息4.2.34.2.3 公用代码示例公用代码示例程序中的处理相似逻辑的代码是可以共用的,因此,在系统设计的过程中,将共

59、用的代码抽取出来,需要使用的时候,直接调用共用的方法即可。如此以来,可以使整个系统更为简洁,并减少了许多重复的工作量。以下是一些类和方法的实例:获取数据库连接,以及释放资源的基类:public class BaseDAO /MySql 数据库的驱动名private static final String DRIVER_NAME = com.mysql.jdbc.Driver;/数据库的连接地址,以及用户名、密码信息private static final String DB_URL = jdbc:mysql:/localhost:3306/mydatabase?+ user=root&pass

60、word=guoxu;/ final 用来修饰成员变量的时候,成员变量不可修改/ 修饰方法的时候,方法不可被覆盖/ 修饰类的时候类不可以被继承,保证了程序的稳定性获得数据库连接的代码如下:/*毕业设计(论文) - 28 - * 获得连接 */protected Connection createConnection() Connection conn = null;try Class.forName(DRIVER_NAME); catch (ClassNotFoundException e) throw new RuntimeException(e);try conn = DriverMana

61、ger.getConnection(DB_URL); catch (SQLException e) throw new RuntimeException(e);System.out.println(conn: + conn);return conn;释放数据库连接资源的代码:/* * 释放资源 */protected void releaseResources(Statement stmt, Connection conn) try if (stmt != null) stmt.close();毕业设计(论文) - 29 - catch (SQLException e) e.printStac

62、kTrace();try if (conn != null) conn.close(); catch (SQLException e) e.printStackTrace();下面程序为负责转换时间戳类型数据的公共类:import java.sql.Timestamp;public class TimeShift /* * 该方法用来转换时间戳到字符串 * param time 接收的参数类型是时间戳 * return 返回字符串类型的时间格式 */public String timeShift(Timestamp time) / 时间戳类型的值例如 “1987-08-08 00:00:00.

63、0”/ 我们先把时间戳转成字符串,然后进行解析String str = time.toString();/这里对时间戳转换成的字符串进行解析,转换成 “1987 年 8 月 8 日”毕业设计(论文) - 30 -/这里需要将字串切割之后,进行解析,然后拼接String string = str.substring(0, 4) + 年 + month(str.substring(5, 7) + 月 + date(str.substring(8, 10) + 日;return string;毕业设计(论文) - 31 -5 功能模块详细说明5.1 人员信息录入登录高校人事管理系统之后,用户默认具有

64、人员录入的功能权限,在前段的展现页面录入人员信息的数据之后,业务逻辑层对数据进行判断并整理,调用持久化层,将录入的数据插入到数据库中。5.1.15.1.1 数据展现数据展现a.页面样式图 5-1 人员信息录入页面b.页面代码编号毕业设计(论文) - 32 -姓名性别男女生日毕业设计(论文) - 33 -5.1.25.1.2 逻辑处理逻辑处理人员信息录入之后,使用了 Servlet 进行了业务逻辑的处理,下面是业务逻辑的代码:/除个人简介外,其它录入项都不允许为空boolean isNull = !.equals(number) & !.equals(name) & !.equals(birth

65、day) & !.equals(depNum) & !.equals(workDate);if(isNull)/编号和姓名不为空的前提下,查询该编号是否已经存在boolean isNum = new HRDAO().isNumberBe(number);if(isNum)msg = 输入的人员编号已经存在,请重新录入人员信息。;request.setAttribute(msg, msg);request.getRequestDispatcher(insert.jsp).forward(request, response);5.1.35.1.3 数据库操作数据库操作业务逻辑层中对数据进行处理之后

66、,调用 DAO 中的方法,执行数据库操作。以下是相应方法对应的代码。/* * 新增人员信息,将页面中录入的人员信息添加到数据库中毕业设计(论文) - 34 - * 增加成功,返回 true * param person * return */public boolean addPerson(Person person)/用来接收执行插入数据库的返回值int result = 0;Connection conn = null;Statement stmt = null;try conn = createConnection();System.out.println(conn= + conn); / 打印連接stmt = conn.createStatement();System.out.println(sql); / 打印 sql 语句result = stmt.executeUpdate(sql); catch (SQLException e) e.printStackTrace(); finally releaseResources(stmt, conn);毕业设计(论文) - 35

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!