摘  要

当今社会作为一个飞速发展的社会,网络已渗入人们的生活,网络已成为信息传播的一大媒介,可以说网络资源的获取已逐步改变了人们以往的生活方式,网络已经成为人们日常工作,休闲的主要工具之一。基于JSP的人才信息管理系统的设计与实现,正是互联网与社会生活之间的紧密联系的体现。

在这个系统中我综合应用了MySQL、SSH、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。

本论文就此人才信息管理系统进行了详细全面的论述。访问本系统的用户分为求职用户、企业用户和管理员三种角色,3个角色共有十几个功能的实现。系统中求职用户的主要功能有:查询职位信息,浏览就业新闻,在线注册会员、投递简历等功能。企业用户的主要功能有:注册企业会员,发布招聘信息,查看简历等功能。管理员的主要功能有:用户信息管理,就业新闻管理,职位信息管理,系统留言板管理,系统公告信息等功能。


关键字人才网、JSP、MYSQL、MyEclipse






Abstract

Today's society is a rapidly developing society, network has infiltrated into people's lives, the network has become one of the major media of information dissemination, access can be said to cyber source has gradually changed people's way of life, the network has become the people daily, one of the main tools of leisure. Design and implementation of personnel information management system based on JSP, it demonstrates the close link between the Internet and social life。

In this system the integrated application of MySQL, SSH, JSP knowledge. Structure design of webpage interface to practicality, has the characteristics of easy operation, simple, convenient. In the design, first of all, has obtained the good effect of art using the static page HTML language on the website of the fine processing and in site. Secondly, to learn and practice a lot for the dynamic programming, JSP Java programming and MySQL database, and applied to the construction of the site。

In this paper, the personnel information management system in detail. Access to the system user is divided into application users, enterprise users and administrators three roles, the realization of the 3 character has dozens of functions. The main functions of the system application users are: query job information, browse employment news, online registration, resume and other functions. The main function of enterprise users are: members of registered enterprises, recruitment information, view the resume function. Administrator's main function is: user information management, employment information management, job information management, system message board management, system information and other functions。


Key Words、JSP、MYSQL、MyEclipse



目  录

摘  要

Abstract

绪  论

1  系统概述与技术介绍

1.1  B/S结构介绍

1.2  MySQL数据库

1.3  MyEclipse介绍

1.4  JavaScrip语言

1.5  JSP技术

1.6  MVC模式

2  系统需求分析

2.1  开发环境

2.2  需求分析

2.3  可行性分析

3  系统概要设计

3.1  系统设计概述

3.2  系统用例图

3.3  系统流程图

3.4  系统功能分析

4  数据库设计与实现

4.1  数据库结构设计

4.1.1  表概要说明

4.1.2  数据表的结构

5  系统的实现

5.1  前台首页设计

5.2  网站导航设计

5.3  职位信息列表

5.4  用户注册模块

5.6  后台登录页面

5.7  职位信息管理

5.8  退出后台管理

6  系统测试

4.1  测试方法

4.2  系统测试结果

总 结

参考文献


绪  论

21世纪是个信息化的时代,现代计算机互联网络技术的发展已深入到各行各业。Internet的应用对人才信息的保存、交流、处理影响愈来愈大,同时人们越来越需要在互联网上发布信息以进行共享。人才信息管理系统设计和开发正越来越受到企业管理的重视,人才信息以成为企业的重要财富及资源,它的管理同时也是企业管理的一个重要内容。

计算机网络人才信息管理系统与传统人才信息管理相比较,有时效性强、保留时间长、方便、快捷查询、电子文档易管理等好处。这是与传统人才信息管理所不同的,对于信息拥有者本人及单位都是良好的优点。采用Web人才信息管理系统可高效的管理人才信息,减少企业的管理费用,增加企业信息化程度,这是企业不断发展中进行信息化改革所必须迈出的一步。

Web人才信息管理系统是一个具有交互功能的人才信息管理系统,它的开发包括数据库的建立与维护和前台、后台程序开发两个方面,对于前者要求建立起数据一致性与完整性强的、数据安全性好的库;后者要求应用程序功能完备、容易使用等特点。

20世纪80年代美国对管理信息系统提出了完整的定义:他是一个利用计算机硬件和软件、手工作业,分析、计划、控制和决策模型,以及数据库的人机系统。它能提供信息,支持企业或组织运行、管理和决策功能。这说明计算机是管理系统的重要工具,当今时代随着计算机技术的不断发展与应用,基于Web的信息发布和检索技术、出现了软件系统的网络体系结构进入了B/S体系结构(即browser/server,浏览器/服务器模式)。

本次设计人才信息管理系统即是采用B/S体系结构进行开发,整个系统分为客户端与服务端,客户端主要功能包括用户登录、搜索、查看自己的个人信息等功能。服务端包括管理员对人才信息的管理、信息维护等功能,同时在模块设计中对不同权限应该有不同的功能和特殊的限制。数据库的设计要合理,要考虑与各个模块的兼容情况。

1  系统概述与技术介绍

作为一个人才信息管理系统网站,首先布局一定要新颖、有特色,只有这样才能引起用户的关注,最大限度的满足人们的需求,而且要有很强的交互性,交互性差的网站会让用户产生厌烦情绪。当然一个好的人才信息管理系统站还要有很完整的处理信息的功能,以便及时的更新网站中的信息。通过对用户的调查和对现有的人才信息管理系统运行的流程分析,为了满足大多数用户的需求,所以我的目标是要构建一个页面简单清晰但包含信息相对全面、交互性强的人才信息管理系统站系统。

1.1  B/S结构介绍

本系统采用B/S结构,即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着Internet技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的WWW浏览器技术,结合多种Script语言(VBScript、JavaScript…)和ActiveX技术,是一种全新的软件系统构造技术。 在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。

1.2  MySQL数据库

MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。

MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。  MySQL网站(http://www.mysql.com)提供了关于MySQL和MySQL AB的最新的消息。 

MySQL是一个数据库管理系统一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。

MySQL是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。SQL标准发展自1986年以来,已经存在多个版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的当前版本。

MySQL是开源的开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共许可),在hpt://www.fsf.org/licenses中定义了你在不同的场合对软件可以或不可以做什么。如果你觉得GPL不爽或者想把MySQL的源代码集成到一个商业应用中去,你可以向MySQL AB购买一个商业许可版本。

1.3  MyEclipse介绍

本系统是跨越平台限制和跨越浏览器限制的充满动感的网页。构建人才信息管理系统站所用的网页编辑器为MyEclipse, MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

1.4  JavaScrip语言

Javascript是一种解释性的,基于对象的脚本语言,Javascript主要是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。它的代码可以直接嵌入到HTML命令中,最大特点是可以方便操纵网站上的元素,并与Web浏览器交互,同时JavaScrip可以捕捉用户操作并作出反映。

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


1.5  JSP技术

JSP技术使用Java编程语言编写类XML的tags和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请求的参数; 网页传回客户端的响应;pageContext 网页的属性是在这里管理;与请求有关的会话;正在执行的内容;out 用来传送响应的输出流; 代码片段配置对象;page JSP网页本身; 针对错误网页,未捕捉的例外。


1.6  MVC模式

为了满足系统对先进性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于java的B/S的三层体系结构。MVC是

三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)[9]。 MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Web浏览技术已经广泛地应用于Internet,并被广大用户接受和使用。Web技术是随http和html一起出现的。Web服务器利用http传递html文件,Web浏览器使用http检索html文件。Web服务器一旦检索到信息,Web浏览器就会以静态和交互(如文本、图像)方式显示各种对象。在电子商务业务进行过程中,需要在各种贸易角色之间浏览和交换各种信息,此时就要使用Web浏览技术。 这种模型使系统结构更加清楚,分工更加明确,有利于整个系统后期的维护和升级。

MVC(Model View Controller)模型(model)-视图(view)-控制器(controller)MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC 的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为MySQL旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 

三层体系结构由浏览器、web服务器和数据库组成,并结合HTML语言、jsp、JavaScript脚本语言、Ajax、ODBC等技术,后台的数据库采用微软的MySQL 2005,系统一般的MVC模型如图1-1所示。 

基于ssh招聘就业网站的计算机毕设_数据库


图1-1  系统MVC结构图

如图1-1可知,用户界面层是用户和整个系统的接口,客户端只需安装通用的浏览器即可建立与本系统的连接。业务逻辑层负责处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。数据访问层是整个分层体系的最底层,它主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念视图,模型,控制器。

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。MVC模型还可以实现软件工程的高内聚,低耦合的终极目标。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求自己本身并不参与业务逻辑处理,然后再确定用哪个视图来显示返回的数据。

MVC的优点:

1)低耦合性

2)高重用性和可适用性

3)较低的生命周期成本

4)快速的部署

5)可维护性

6)有利于软件工程化管理











2  系统需求分析

2.1  开发环境

本系统的开发环境为Windows XP,数据库使用的是开源的MySQL,使用Dreamweaver MX 2004软件制作网页,发布使用MyEclipse工具。采用JSP为服务器端脚本环境,脚本语言使用JavaScript编写的人才信息管理系统站,不需要安装客户端程序,客户端只需安装浏览器即可,使用方便,方便升级维护,方便与Internet和Internet上的应用程序集成。

2.2  需求分析

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。需求分析之所以重要,就因为他具有决策性、方向性、策略性的作用,需求分析是软件定义的最后一个阶段,它的基本任务是回答“系统必须做什么” 这个问题。需求分析的任务不是确定系统怎样完成他的工作,而仅仅是确定系统完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,它在软件开发的过程中具有举足轻重的地位。

系统初步调查的主要目标是从系统分析人员和管理人员的角度看新项目开发有无必要和可能,其基本内容包括:系统的基本情况、系统信息处理情况和系统资源情况。

独具匠心的网站规划设计就像一幢宏伟的建筑前期的规划设计一样,要进行认真、科学总体规划,之后才可以“破土动工”。

2.3  可行性分析

(1)经济性

服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,所以在经济上具有完全的可行性

(2)技术性

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

(3)操作系

本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对用户的要求很低,只需对WINDOWS操作熟练,而且本系统可视性非常好,所以在技术上不会有很大难度。

(4)法律性

本系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。











3系统概要设计

3.1  系统设计概述

系统设计是在系统分析的基础上由抽象到具体的过程,同时,还应考虑到系统所实现的内外环境和主客观条件,本着实事求是的态度进行这一阶段的工作。

系统设计阶段的主要目的是将系统分析阶段所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。

这一阶段的主要任务就是从管理信息系统的总体目标出发,根据系统分析阶段对系统的逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保系统总体目标的实现[11]。

系统设计工作的特点:

1)系统设计阶段,大量工作是技术性的。

2)允许用户对已提出的信息需求做非原则性的修改或补充。

3)用户在操作使用和运行环境等方面的具体要求也要在系统设计阶段加以明确并在系统的技术方案中得反映,因此系统设计人员还要同管理环境打交道。

4)系统设计工作的环境是管理环境和技术环境的结合,是系统设计工作的重要特点也是整个系统成功的一个必不可缺的环节。

系统设计原则

1)阶段开发原则:系统框架和数据结构全面设计,具体功能实现分阶段进行。

2)易用性原则:方便上网客户浏览和操作,最大限度地减轻后台管理人员的负担,做到部分业务的自动化处理,提供良好的用户体验。

3)业务完整性原则:对于业务进行中的特殊情况能够做出及时、正确的响应,保证业务数据的完整性,减少数据的误读。

4)业务规范化原则:在系统设计的同时,也为将来的业务流程制定了较为完善的规范,具有较强的实际操作性,也给整个系统带来安全性。

5)可扩展性原则:系统设计要考虑到业务未来发展的需要,要尽可能设计得简明,各个功能模块间的耦合度小,便于系统的扩展。如果存在旧有的数据库系统,则需要充分考虑兼容性,比如说浏览器的兼容。


3.2  系统用例图

求职用户的操作:

1、根据自己的要求来查询职位信息。

2、针对某个合适的招聘信息在线投递简历。

3、可以浏览就业新闻信息。

4、系统留言板模块可以发布留言,互相交流。


求职用户用例图,如图3-1所示:

基于ssh招聘就业网站的计算机毕设_MySQL_02

图 3-1 普通用户用例图



管理员的操作:

1、管理员可以管理注册的会员信息,包括企业会员和求职会员。

2、管理员可以添加发布一些就业新闻。

3、管理员可以管理企业用户发布的招聘信息。

4、管理员可以管理留言信息,删除恶意的留言。

5、管理员可以管理系统公告信息,发布新的公告

管理员用例图,如图3-2所示:

基于ssh招聘就业网站的计算机毕设_Web_03

图 3-2 管理员用例图



3.3 系统流程图

当用户进入网站首页之后,可以根据自己的需要,输入关键字查询招聘信息,对于何时的岗位可以在线投递简历。基本流程如图3-3所示。

基于ssh招聘就业网站的计算机毕设_数据库_04

图 3-3流程图


当管理员进入本系统之后,管理员首先要登录之后,才能管理后台。登录失败,给管理员相关的提示,请管理员重新登录。登录成功之后,管理员可以删除任何的商品信息。管理员的后台管理的基本流程如下图3-4所示:

基于ssh招聘就业网站的计算机毕设_数据库_05

图 3-4 管理员流程图


3.4 系统功能分析

基于ssh招聘就业网站的计算机毕设_Web_06

图 3-5 系统前台功能图

基于ssh招聘就业网站的计算机毕设_MySQL_07

图 3-6 系统后台功能图








4  数据库设计与实现

4.1数据库结构设计

数据库是“按照数据结构来组织、存储和管理数据的仓库”。作为网络的一个重要应用,数据库在网站建设中发挥着重要的作用,与普通网站相对而言,具有数据库功能的网站网页我们通常称为动态页面,也就是说页面不是一层不变的,页面上内容(或部分内容)是动态生成的,它可以根据数据库中相应部分内容的调整而变化,使网站内容更灵活,维护更方便,更新更便捷。MySQL数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。

本系统数据库采用MySQL数据库,系统数据库名称为db_huns,下面分别给出数据表概要说明、主要数据表的结构。

4.1.1  表概要说明

系统数据库db_rcw中含有7张数据表,求职用户表t_user、企业用户表t_qiye、招聘信息表t_zhiwei、管理员信息表t_admin、简历信息表t_jianli、就业新闻信息表t_news、系统公告信息表t_gonggao。

4.1.2  数据表的结构

(1)t_user(求职用户信息表)

求职用户表主要用于保存注册的求职用户的信息,如姓名、性别、年龄、账号、登陆密码等,该表结构如表2.1所示。

表2.1 t_user的结构

列名

数据类型

长度

允许空

是否主键

说明

id

int

4

自动编号

loginname

varchar

50

登录账号

loginpw

varchar

50

登录密码

name

varchar

50

用户姓名

sex

int

4

用户性别

age

varchar

50

用户年龄

address

varchar

20

住址


(2)t_qiye(企业用户表)

企业用户信息表主要用于注册的企业信息,主要字段有企业名称、地址等,该表结构如表2.2所示。

表2.2t_qiye的结构

列名

数据类型

长度

允许空

是否主键

说明

id

int

4

自动编号

loginname

varchar

50

登录账号

loginpw

varchar

50

登录密码

mingcheng

varchar

50

企业名称

dizhi

int

4

企业地址

dianhua

varchar

50

联系方式

youxiang

varchar

20

电子邮箱


(3)t_gonggao(公告信息表)

公告信息表主要用于保存管理员发布的公告信息,主要字段有公告标题、公告内容、发布时间等内容。该表结构如表2.4所示。

表2.4 t_gonggao的结构

列名

数据类型

长度

允许空

是否主键

说明

gonggao_id

int

4

公告ID

gonggao_title

varchar

50

公告标题

gonggao_content

varchar

50

公告内容

gonggao_data

varchar

50

发布日期


(4)t_admin(管理员信息表)

管理员信息表主要用于保存管理员的基本信息,该表结构如表2.5所示。

表2.4 t_admin的结构

列名

数据类型

长度

允许空

是否主键

说明

userId

int

4

编号

userName

varchar

50

用户名

userPw

varchar

50

密码



(5)t_zhiwei(职位信息表)

职位信息表主要用于保存企业用户发布的职位信息,该表结构如表2.5所示。

表2.4 t_zhiwei的结构

列名

数据类型

长度

允许空

是否主键

说明

id

int

4

自动编号

qiyeId

varchar

50

发布企业

mingcheng

varchar

50

职位名称

xueli

varchar

50

学历要求

daiyu

varchar

50

工资待遇

didian

varchar

50

工作地点

jingyan

varchar

50

工作经验

beizhu

varchar

50

备注信息

fabushi

varchar

50

发布时间


(6)t_liuyan(留言信息表)

留言信息表主要用于保存求职用户或者企业用户发布的留言信息,该表结构如表2.6所示。

表2.6 t_liuyan表结构

列名

数据类型

长度

允许空

是否主键

说明

liuyan_id

int

4

ID

liuyan_title

varchar

50

标题

liuyan_content

varchar

50

内容

liuyan_date

varchar

50

时间


(7)t_news(新闻信息表)

新闻信息表主要用于保存管理员发布的就业新闻信息,该表结构如表2.6所示。

表2.7 t_news表结构

列名

数据类型

长度

允许空

是否主键

说明

news_id

int

4

ID

news_title

varchar

50

标题

news_content

varchar

50

内容

news_date

varchar

50

发布时间














5系统的实现

5.1  前台首页设计

前台首页是浏览者打开一个网站后第一眼看到的网页,网站能不能吸引浏览者,在很大程度上取决于首页做得怎么样。首页包含内容虽然丰富但不杂乱,色彩搭配要合理,整体风格要独特。网站前台首页的运行结果如图5-1所示。

基于ssh招聘就业网站的计算机毕设_MySQL_08

图5-1网站首页运行结果

5.2  网站导航设计

导航是网站设计不可缺少的基础元素之一,它不仅是信息结构的基础分类,也是浏览者的网站路标,就像一本书或杂志的目录一样,但比书籍或杂志的目录更为重要,因为书籍我们可以一页一页的从头向后翻,而我们的网页却不可以,只有有了清楚、明晰的导航,才能让浏览者知道自己身处网站的什么位置。网站导航有很多种,如带图标的文字导航、按钮导航、Flash导航等。网站导航设计效果页面如图5-2所示。

基于ssh招聘就业网站的计算机毕设_Web_09

5-2网站导航页面设计效果

5.3  职位信息列表

职位信息显示模块的主要功能是让用户浏览和查询企业用户发布的职位信息,因此职位展示模块主要包括显示职位列表、显示职位详细信息内容两个部分。

点击职位列表按扭,进入职位列表页面,页面中会显示职位信息的名称和发布时间,该页面的设计效果如图5-3所示。

基于ssh招聘就业网站的计算机毕设_数据库_10

图5-3职位展示模块界面设计

此页面的主要代码是通过调用zhiweiAction的方法zhiweiAll方法来实现的。该方法的主要功能是查询数据库,获取相关的信息,并绑定这些信息,然后传递到JSP页面显示。显示职位列表的代码主要是:

public String zhiweiAll()

{

HttpServletRequest request=ServletActionContext.getRequest();


String sql="from TZhiwei where del='no'";

List zhiweiList=zhiweiDAO.getHibernateTemplate().find(sql);


request.setAttribute("zhiweiList", zhiweiList);

return ActionSupport.SUCCESS;

}


public String zhiweiDetailQian()

{

HttpServletRequest request=ServletActionContext.getRequest();


TZhiwei zhiwei=zhiweiDAO.findById(id);

zhiwei.setQiye(qiyeDAO.findById(zhiwei.getQiyeId()));

request.setAttribute("zhiwei", zhiwei);


return ActionSupport.SUCCESS;

}


然后点击职位名称超链接进入相应的职位详细页面,可以在线投递简历,但是需要用户登录后才能实现,执行页面效果如图5-4。

基于ssh招聘就业网站的计算机毕设_MySQL_11

图5-4 职位详细内容界面设计

5.4  用户注册模块

对于游客,至于浏览的功能,如果想进一步使用本系统,比如说发布留言信息、在线投递简历等,首先需要注册一个合法的账号,然后登陆后,方能使用,点击导航栏菜单“免费注册”,调用js的open()方法,弹出注册页面,输入相关正确信息后点击注册按钮即可完成注册,如果是没有输入完整的信息,或都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法notallow="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式,执行页面效果如图5-5。

基于ssh招聘就业网站的计算机毕设_Web_12

图5-5 用户注册模块界面色设计

注册核心代码如下

public String userReg()

{

        HttpServletRequest request=ServletActionContext.getRequest();

String sql="from TUser where loginname=? and del='no'";

Object[] c={loginname.trim()};

List list=userDAO.getHibernateTemplate().find(sql,c);

if(list.size()>0)

{

request.setAttribute("msg", "用户名已被占用,请重新注册");

}

else

{

TUser user=new TUser();

user.setLoginname(loginname);

user.setLoginpw(loginpw);

user.setName(name);

user.setSex(sex);

user.setAge(age);

user.setAddress(address);

user.setDel("no");

userDAO.save(user);

request.setAttribute("msg", "注册成功,请登录");

}

return "msg";

}

5.6  后台登录页面

由于网站后台是用于维护整个网站系统,所以必须先要登录系统,才能进校相关的管理操作,当用户单击“后台登录”超链接时,将弹出确认进入后台管理页面的程序窗口,要求用户输入正确的用户名、密码,二者缺一不可,后台登录模块主要用于验证用户的身份和密码。后台登录模块的运行效果如图5-6:

基于ssh招聘就业网站的计算机毕设_数据库_13

图5-6 后台登录模块的设计效果图

判断管理员身份的相应代码:

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="from TAdmin where userName=? and userPw=?";

Object[] cnotallow={userName,userPw};

List adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

 result="no";

}

else

{

 WebContext ctx = WebContextFactory.get();

 HttpSession sessinotallow=ctx.getSession();

 TAdmin admin=(TAdmin)adminList.get(0);

 session.setAttribute("userType", 0);

             session.setAttribute("admin", admin);

             result="yes";

}

}

if(userType==1)

{

String sql="from TUser where userName=? and userPw=? and userDel='no'";

Object[] cnotallow={userName,userPw};

List userList=userDAO.getHibernateTemplate().find(sql,con);


if(userList.size()==0)

{

 result="no";

}

else

{

 WebContext ctx = WebContextFactory.get();

 HttpSession sessinotallow=ctx.getSession();

 TUser user=(TUser)userList.get(0);


 session.setAttribute("userType", 1);

             session.setAttribute("user", user);


             Cart cart=new Cart();

 session.setAttribute("cart", cart);

             result="yes";

}

}

if(userType==2)

{


}

return result;

}


5.7  职位信息管理

本模块实现对职位信息的管理操作,包括职位信息的添加、删除操作。

点击职位信息管理菜单,进入职位信息管理页面,该页面通过列表列出已添加的职位信息,包括序号、职位名称、薪资待遇等。点击列表的删除按钮,实现职位信息的删除操作。界面设计如图5-8:

基于ssh招聘就业网站的计算机毕设_数据库_14

图5-8 职位信息管理

点击添加按钮,进入职位信息添加页面,输入符合条件的职位信息,完成职位的添加操作。界面设计如图5-9:

基于ssh招聘就业网站的计算机毕设_数据库_15

图5-9 职位信息添加


该模块的主要功能zhiweiAction类实现的,该类的主要功能是与数据库交互,查询或保存职位信息,并通过response跳转,打开相应的jsp页面。主要代码是:

public String zhiwei_add_qiye()

{

HttpServletRequest request=ServletActionContext.getRequest();

HttpSession sessinotallow=request.getSession();

TQiye qiye=(TQiye)session.getAttribute("qiye");


TZhiwei zhiwei=new TZhiwei();


zhiwei.setQiyeId(qiye.getId());

zhiwei.setMingcheng(mingcheng);

zhiwei.setXueli(xueli);

zhiwei.setDaiyu(daiyu);


zhiwei.setDidian(didian);

zhiwei.setJingyan(jingyan);

zhiwei.setBeizhu(beizhu);

zhiwei.setFabushi(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()));


zhiwei.setDel("no");


zhiweiDAO.save(zhiwei);


request.setAttribute("msg", "职位添加完毕");

return "msg";



}


public String zhiwei_mana_qiye()

{

HttpServletRequest request=ServletActionContext.getRequest();

HttpSession sessinotallow=request.getSession();

TQiye qiye=(TQiye)session.getAttribute("qiye");


String sql="from TZhiwei where del='no' and qiyeId="+qiye.getId();

List zhiweiList=zhiweiDAO.getHibernateTemplate().find(sql);


request.setAttribute("zhiweiList", zhiweiList);

return ActionSupport.SUCCESS;

}



public String zhiwei_del()

{

HttpServletRequest request=ServletActionContext.getRequest();


TZhiwei zhiwei=zhiweiDAO.findById(id);

zhiwei.setDel("yes");

zhiweiDAO.attachDirty(zhiwei);


request.setAttribute("msg", "职位删除完毕");

return "msg";

}

5.8  退出后台管理

退出后台管理模块主要用于退出后台管理系统。当管理员退出后台管理系统之后,再单击【退出】按钮时,虽还在后台中,但已不能进行任何操作;单击其他功能模块时,将弹出后台登录窗口,要求用户输入正确的用户名、密码以及验证码。


6系统测试

系统测试是系统开发过程的重要组成部分,是用来确认一个系统的品质或性能是否符合开发之前所提出的一些要求。系统测试就是在系统投入运行前,对系统需求分析、设计规格说明和编码的最终复审,是系统质量保证的关键步骤。系统测试是为了发现错误而执行程序的过程。

4.1  测试方法

测试的方法可分三种:传统的测试方法、功能验证、系统测试。

传统的测试方法包括某种形式的简单单元测试,通常由开发人员执行。设计这些测试需要了解系统的内部知识,并且这些测试几乎总是针对产品的非常小的、特定的部分。这些类型的测试非常适合与其他代码组件极少交互,甚至没有交互的简单部分。

功能验证也是一种测试过程,在这个过程中,对产品源代码了解有限的设计者进行测试以确认产品或服务的核心功能。设计这种测试是为了证明这个核心功能符合某个规范。举个例子,登录时输入的邮箱错误时是不是有提示?如果测试失败,通常就意味着检测到了系统的一个基本问题。这种测试也是适合简单的 Web 服务,使您可以检查服务是否能够正确执行它的各个功能。

系统测试通常是在功能验证阶段完成,验证了核心功能后进行。它倾向于把整个系统作为一个整体来查找问题。弄清Web服务作为系统的一部分怎样运作,以及Web服务相互之间如何交互。由于系统测试是在开发生命周期快结束时才进行,所以通常不能给它分配足够的时间来完成。系统测试阶段经常被忽略,并且一些通常都可以发现的、少见的错误都不能被检测到。即使发现了这种错误,这时也来不及确定错误的原因并设法修复它们了。因此,在查找代码错误时,必需把系统测试应用设计得尽可能高效。

4.2  系统测试结果

在系统开发完成后,对系统进行了测试,情况如下:

(1) 各功能模块都可以正常进行,基本实现了系统设计时的各项功能要求;

(2) 界面简洁,操作简单,系统使用方便;

本系统的下一步开发方向如下:

(1) 加强网站个性化设计;

(2) 加强网站人性化服务功能;

总之,本此系统开发圆满成功,各模块运行正常。本次的设计开发为下一步的完善提供了重要的帮助和支持,将会更加提高我们的系统的功能。












总 结

在毕业设计和开发期间,经过老师的指导和三个多月的认真学习,同时翻阅了大量的资料,终于完成了人才信息管理系统站站系统的开发设计。其功能基本符合用户需求,能够完成课题的提交。我感觉自己从理论到实践都有了长足的进步和很大的提高,使我在数据库设计方面、JSP编程技术方面有了长足的进步,对人才信息管理系统站开发过程、步骤有了比较深刻的认识。

通过毕业设计,我还明白了一点,合作是至关重要的。虽然我是自己一个人为一组,但是在设计过程中也经常和同学们商量,相互借鉴。一个完整软件程序需要若干个人的通力合作。在人才信息管理系统站开发过程中,我加强和同学们的沟通和交流,使得对每一个问题的解决获得较优的方案,从而保证人才信息管理系统站系统的合理性、完整性,为该平台的进一步完善和扩充打下了良好的基础。

撰写毕业论文期间,我深刻体会到,实践到理论的重要性。在实践到理论的转化中,我将自己的工作过程清晰的展现在面前,而且增强了自己查阅资料的能力,获得了一些必要的知识。

    总之,在整个毕业设计期间,我既有收获,也发现了自己的不足。今后,我一定更加努力,弥补自己的不足,提高自己的水平。在本次毕业设计中,我从指导老师蒋建伟老师的身上学到了很多东西。蒋老师认真负责的工作态度、严谨的治学精神都使我受益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,使我得到了不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的指导。










参考文献

[1] 张孝祥、徐明华, JAVA基础与案例开发详解, 清华大学出版社, 2009.

[2] 康牧,JSP动态网站开发实用教程,清华大学出版社,2009.

[3] 刘亚宾,精通Eclipse--JAVA技术大系,电子工业出版社,2005.

[4] 于万波,网站开发与应用案例教程,清华大学出版社,2009.

[5] 杨学瑜,高立军,软件开发过程与项目管理,电子工业出版社,2008.

[6] 张洁才,Java web应用开发教程,科学出版社,2005.

[7] 戴维尔,JavaScript程序员教程,电子工业出版社,2010.

[8] 黎连业、王华、李淑春,软件测试与测试技术,清华大学出版社,2009.

[9] 黄梯云著.管理信息系统.北京.电子工业出版社.2006 .

[10].James D. McCaffrey等著.NET软件测试自动化之道[M]. 北京.电子工业出版社.2007.

[11].甘仞初著.信息系统开发.北京.经济科学出版社.2007.

[12].马赫著. Dreamweaver MX 2004 网页设计经典108例.中国青年出版社.2005.

[13].唐友国 湛洪波著.JSP网站开发详解.电子工业出版社2008年10月.

[14].卫红春等著.信息系统分析与设计[M].北京.清华大学出版社.2009.

[15].张大方 李玮等著.软件测试技术与管理[M].湖南.湖南大学出版社,2007.

[16]. (美)H.M.Deitel,P.Jdeitel著.Java程序设计教程(第五版). 清华大学出版社.2004.

[17].(美)Elliotte Rusty Harold著.Java Network Programming.东南大学出版社 .2005.

[18] 孙卫琴等著.精通struts:基于MVC的Java Web设计与开发. 电子工业出版社.2005.

[19] 张文静 林琪著.JSP程序设计.人民邮电出版社.2005.

[20] 孙卫琴 李洪成著.Tomcat与Java Web开发技术详解. 电子工业出版社.2005.

[21](美)John J.Patrick著.SQL基础(第二版).清华大学出版社.2004.

[22](美)David flanagan著.Java技术手册(第五版).东南大学出版社.2006.

[23]黄裴、徐汀荣,电子商务原理与技术(第二版),科学出版社,2006年10月