基于java毕业生就业信息管理系统的设计(含源文件)

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye


毕业生就业信息管理系统的设计与实现

摘要:随着高校教育体制的改革大学生人数的不断增加,毕业生就业制度发生了根本的变化。单位和学生走向人才市场,双向选择,择优录用。因此在这样的情况下,在INTERNET上开发并运行信息管理系统就能够极大地提高工作效率,弥补了用人单位和学生在时间和空间上的不足。
本设计就是采用网页编程工具、JSP技术和数据库技术,在网上设计一个虚拟的人才市场,用人单位可以在网上发布招聘信息,管理毕业生的基本情况,学生的就业条件及意向,建立毕业生和用人单位的联系。

关键字:就业; 信息管理; SQL Server;JSP

Graduates Employment Information Management System
Abstract: Company with both the reformation of higher education system and the increasing in university students, the employment system has been changed radically. Both companies and students choose each other, a mutual selection turns to be a trend. In such circumstances, information management system based on Internet would enhance the efficiency to satisfy both sides. 
This thesis designs a on-line virtual recruitment market, by using web page programming  tool, JSP technology and database technology, where the company can publish wanted information, also it is an effective way to supervise all the information from graduates, as well as building up a connection between two sides. 
After testing the system is running well.
Key words:Graduates, Information Management , SQL Server , JSP 


目  录

第1章  绪  论    1
1.1  背景    1
1.2  国内外发展现状    1
1.3  选题的目的及意义    1
1.4  此次设计完成的工作    2
第2章 毕业生就业系统分析    3
2.1  开发技术与环境选择    3
2.1.1  JSP    3
2.1.2  JSP与ASP的比较    3
2.1.3  Tomcat    4
2.1.4  Hibernate    5
2.1.5  SQL Server 2000    5
2.1.6  JDBC    6
2.1.7  运行环境    7
2.2  体系结构    7
2.2.1  B/S模式    7
2.2.2  B/S与C/S模式比较    8
2.3  需求分析    9
2.3.1  整体分析    9
2.3.2  各个模块详细分析    10
2.4.3  系统功能结构图    12
第3章   毕业生就业系统设计    13
3.1  数据库设计    13
3.2  模块设计    17
3.2.1  个人模块    17
3.2.2  企业模块    17
3.2.3  管理员模块    18
第4章  毕业生就业系统实现    19
4.1   数据库连接    19
4.2   系统运行结果    20
4.2.2  注册界面    20
4.2.3  个人资料页面    22
4.2.4  学历信息页面    23
4.2.5  个人简历页面    23
4.2.6  首页页面    23
4.2.7  企业资料页面    24
4.2.8  职位信息页面    24
4.2.9  职位资料页面    27
4.2.10 就业指导页面    27
第5章  系统测试    28
5.1  系统测试的目的和任务    28
5.2  测试方法和环境    28
5.3  测试内容及结果    28
5.4  测试结论    33
结    论    34
致    谢    36
参考文献    37

 
第1章  绪  论
1.1  背景
国际互联网是集现代通信技术、计算机技术为一体的世界上最大的计算机互联网络。相对报刊、电视、广播,互联网被称为第四媒体。由于具有许多传统媒体无法比拟的优势。互联网已迅速发展成为一个连通全球近200个国家的千万台主机的巨大网络,而且还在以惊人的速度迅猛增长。中国的互联网虽然起步稍晚,但经过多年的发展建设,现在已拥有几亿用户,国内众多的企业、商家纷纷在互联网上申请域名、建立自己的网站,以对企业形象和产品进行宣传。
毕业生就业信息网,是为高校毕业生提供就业信息化服务的公益性网站,它的建设目标是以网站为枢纽,运用统一数据交换标准,适时的数据更新,分工协作的信息收集发布机制,形成毕业生就业服务信息系统,为广大高校毕业生和各类用人单位提供求职和招聘的信息化平台,同时以此为依托,构建高校毕业生就业管理检测网络,为高等学校的专业设置、人才配置等提供准确的决策依据。
1.2  国内外发展现状
目前国内比较优秀的此类网站不胜枚举,最为突出的有“中国高校毕业生就业信息服务网”与“北京大学毕业生就业信息服务网”。
它们主要包括了“求职”、“招聘”、“新闻”、“企业介绍”、“政策”、“咨询”六大板块。分别为毕业生提供就业的各类信息帮助,属于非常优秀的网络资源站。通过对这些优秀网站的学习研究为本设计提供了一个很好的参考平台。
1.3  选题的目的及意义  
J2EE平台的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于J2EE平台基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。以J2EE平台的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。在系统中还采用了CSS层布局技术。使设计更加的简便。
毕业生就业问题是大学毕业生至关重要的问题,每个合格的大学毕业生都都将就业途径视为命脉,而“毕业生就业信息网”正是提供这种途径的最佳方式之一,具有极度的应用价值与实用性。
1.4  此次设计完成的工作
此次设计中,作者主要完成了“毕业生就业信息网”这一项目的设计。以下是作者的工作清单:
1. 了解internet的历史
2. 对internet网的用途与优势进行了分析
3. 了解了网站开发的流程与技术分类
4. 学习了网站页面的制作与动态网站的实现方式
5. 深入学习了数据库的原理与编程方法
6. 掌握了基于B/S的三层架构方式
7. 设计与实现了“毕业生就业信息网”这一网站项目

第2章 毕业生就业系统分析
2.1  开发技术与环境选择
2.1.1  JSP
JSP(JavaServer Pages)是一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易[1]。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.1.2  JSP与ASP的比较
JSP和微软的ASP在技术方面有许多相似之处。两者都是为基于WEB应用实现动态交互网页制作提供的技术环境支持。同等程度上来讲,两者都能够为程序开发人员提供实现应用程序的编制与自带组件设计网页从逻辑上分离的技术。而且两者都能够替代CGI使网站建设与发展变的较为简单与快捷。 尽管JSP 技术和微软的ASP在许多方面都有相似的,但仍然存在很多不同之处,其中最本质上的区别在于:两者是来源于不同的技术规范组织,其实现的基础:WEB服务器平台要求不相同。与ASP相比JSP有以下的特点:
1  JSP 技术:开放的技术 
JSP和ASP技术明显的不同点:开发人员在对两者各自软件体系设计的深入的式不同。JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP技术主要依赖微软的技术支持。SP技术依附于一次写入,之后,可以运行在任何具有符合Java TM语法结构的环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上并且支持来自多家开发商提供的各种各样工具包。 由于ASP是基于Activex 控件技术提供客户端和服务器端的开发组件,因此ASP技术基本上是局限于微软的操作系统平台之上。
2  JSP标签可扩充
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖[2]。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。 
3   JSP技术的应用程序易于管理 
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。 因为JSP技术是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。
因此基于JSP的以上优点在设计本系统时最终选择了JSP技术进行开发。
2.1.3  Tomcat
Tomcat 服务器是一个免费的开放源代码的Web应用服务器,在本系统中我们运用的是Tomcat6.0版本。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
在本系统中使用它是因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求[3]。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
2.1.4  Hibernate   
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
2.1.5  SQL Server 2000    
有许多的数据库可以选择,SQL SERVER、ACCESS(*.mdb)、EXCEL(*.xls)、FOXPRO(*.dbf)甚至普通的文本文件(*.txt)都可以达到存储数据的功能。在此选择了SQL SERVER 2000作为数据库,因为SQL SERVER 2000作为Microsoft家族的重要成员,是新一代基于客户机、服务器的大型关系数据库系统。根据测试表明,SQL SERVER 2000能够满足大型Web站点和企业数据处理系统的数据存储和分析需求,是一套组件的集合,有许许多多的组件共同完成强大的功能。SQL SERVER 2000可以运行在多种操作系统之上。其服务器环境可以是Windows 2000各个版本,Windows NT,Windows 95/98;客户机环境可以是Windows 2000,Windows NT,Windows 95/98,Windows 3.X,MS-DOS,还可以是Internet的各种浏览器。并且由于SQL SERVER 2000是和Windows NT完全集成的,因此还可以利用Windows NT的安全系统以及性能监测器等组件。其特点是:
1 强大的可伸缩性
SQL SERVER 2000允许多用户同时访问数据库。SQL SERVER 2000的一个实例包括数据库的备份和关系数据库管理系统的复制。运行在SQL SERVER 2000上的应用程序通过通讯组件来把传输命令传到SQL SERVER 2000的实例,当应用程序与SQL SERVER 2000的实例连接时,可以访问实例中用户授权的任何数据库。同样,通讯组件还允许在同一台计算机上运行多种实例。
2 支持大型Web站点或企业信息处理系统
SQL SERVER 2000支持对称多处理器(SMP)技术,允许用户自己增加处理器,内存以及磁盘空间来满足上千的用户同时访问数据库。SQL SERVER 数据库表中的数据可以分布在多台服务器上。所有这些设置对用户来说都是透明的,用户不知道实现的技术细节,对数据的操作完全和单机上的一样。另外,SQL SERVER 的可伸缩性还支持单机系统。在这种情况下,由于没有涉及太多的资源,包括分配处理器,存储空间等资源。关系数据库引擎自动调节资源以及实现并发控制。
3 客户机/服务器体系结构
服务器是数据库服务器,能够支持如Microsoft SQL SERVER ,Sybase,Oracle等数据库管理系统,客户对数据库服务器传输SQL代码[4]。采用分布式处理系统。客户机做一些前端工作,服务器则执行客户通过网络传递古来的SQL语句(后台处理)。允许数据放在网络中任意一台计算机上。而应用程序能够透明处理这些数据,就好象数据是存放在本地计算机上一样。并且服务器可以是客户机,客户机也可以是服务器。在网络环境中,服务器是一台固定的计算机(对等网除外);而在C/S体系结构中,服务器可以是任何一台计算机,它既可以是服务器,也可以充当客户机。
2.1.6  JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。其主要功能是:与数据库建立连接、发送 SQL 语句并处理结果。有了 JDBC,向各种关系数据库发送 SQL 语句就是一件很容易的事[5]。换言之,有了 JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,为访问 Informix 数据库又写另一个程序,等等。您只需用 JDBC API 写一个程序就够了它可向相应数据库发送 SQL 语句。而且,使用 Java 编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将Java 和 JDBC 结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法[7]。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。如图2-1是JDBC原理示意图。
 
图2-1 ODBC原理示意图
2.1.7  运行环境
应用服务器: Tomcat5.
数据库服务器: SQL Server 2000
客户端: IE5及其以上版本.
2.2  体系结构  
2.2.1  B/S模式
B/S模式即Browser/Server结构模式(如图2-2所示),是基于Internet/Intranet的结构模式,分为三层,第一层为表示层,用户通过浏览器完成和后台的交互及最终查询结果的输出功能。第二层为具有ODBC接口的WEB服务器,属功能层,主要利用服务器完成客户的应用功能。第三层为数据层,根据客户的请求独立地进行各种运算。此种结构由客户端在Web页面发出请求至Web Sever,再由Web Sever向数据库服务器发出请求,而最后中间件服务器接受到数据库服务器的应答后,最终返回给客户端的仍然是页面形式。这样实现了客户端不直接和数据库服务器发生关系,保证了数据安全性。

图2-2 B/S模式
服务器:当多台计算机需要同时对同一数据库操作时,通过局域网联接,采用一台计算机存放数据库并管理数据库,使得其他计算机能安全可靠地访问。
2.2.2   B/S与C/S模式比较
用Clent/Server模式和Browse/Server模式的优势侧重表现于不同的方面。对Client/Server模式而言,其主要特点为: 
1  有成熟的设计开发方法和工具。经过多年的研究和积累,基于Client/Server模式的系统设计开发方法已被用户所熟悉和掌握。并且,众多的数据库和软件生产商提供了各种可视化工具和编程语言来支持它的开发。相对而言,目前的基于Browse/Server模式的应用及其开发方法仍然处于发展阶段。
2  交互性强,界面友好。各个Client机上运行的应用程序是针对将待定的用户和任务设计,同时具有在线帮助和出错提示等辅助功能。这些优势是Browse/Server模式所不具备的。
3  数据通信量小,安全性高。Client/Server模式中前后台传递的仅仅是查询请求SQL语言或查询结果,而不像Browse/Server模式中在前台的Browse和后台Server之间传递程序或主页模块,Client/Server模式一般采用基于局域网点对点式的结构和安全性较好的网络协议,而Browse/Server是一种开放式的结构,面向众多的用户,其防火墙技术并不能完全屏蔽网络黑客和内部人员对系统的恶意侵袭[8]。对Browse/Server模式而言,其主要特点为:
1  在逻辑上采用了三层结构,它在前台Browse和后台Server之间增加了一层Web Server层,所有的应用程序模块都安装在它上面,在Browse上只需安装一个通用的浏览器软件,因此,这种模式简化了客户端,使用户的操作更加方便。
2  放性好,Intranet/Internet完全兼容。
3  扩展性好,根据发展需要,可对系统随时进行扩展,降低了系统的开发和维护开销。基于上面的分析,在毕业生就业信息管理系统中,用户与管理员都是通过浏览器方式进行各项操作的,当然采用B/S模式。因为B/S方式是HTTP协议和WWW服务在C/S方式上的一种应用和扩展,它把WWW服务器,用户程序,网络数据库有机的结合在一起。其特点是支持利用基于Internet的数据访问方式和新的开发工具。从开放的角度考虑,采用B/S方式实现毕业生就业信息管理系统是符合当前的发展方向的,而且由于采用了HTML标准格式和HTTP标准协议,客户端用户只需要使用浏览器便可以进行登录毕业生就业信息管理系统,从而降低了对客户端软件,硬件平台的要求,这增强了系统的通用性,而C/S在这些方面则没有优势。因此选择B/S方式实现毕业生就业信息管理系统。而且具有更高的交互性和安全性开放性好,Intranet/Internet完全兼容,扩展性好,根据发展需要,又可对系统随时进行扩展,降低了系统的开发和维护的开销。
2.3  需求分析
2.3.1  整体分析
本系统是为毕业生求职,用人单位招聘人才提供的现代化信息平台,毕业生能够通过浏览器进行网上个人基本资料,学历水平,求职意向的发布,还可以在网上查看到最新的招聘信息与就业指导,对自己的信息进行修改和查询。同时用人单位可以通过浏览器进行职位的发布,修改和删除,同时可以在网上查找所需人才简历。管理员可以通过浏览器完成对就业指导的增加,删除和修改。这无论对于毕业生,用人单位和管理员来说都节省了大量的工作量。充分利用毕业生就业信息网来提高用人单位和毕业生之间的交流,实现全面网络化,规范化和集成化。
系统分为以下四大模块来实现以上设计思想:
用户登录模块: 根据用户名,密码,用户类别 转发用户到不同的模块。
个人模块: 个人资料注册及修改。学历信息注册及修改,密码修改,查看就业信息,查看就业指导。
企业模块:企业资料注册及修改,招聘信息的发布,修改和删除,查看人才信息。查看就业指导。
管理员模块:就业信息的发布
系统的整个结构图2-3如下:
 
图2-3 系统结构图
2.3.2  各个模块详细分析
1 注册模块
 这是一个公共模块,每当一个用户来到该系统首页,在进行用户注册时在便会有2个级别的用户类型选择(个人类,企业类),以转发用户到不用的模块。
2 个人模块
本模块面向的用户是全体毕业生的。毕业生通过此模块进行个人资料的注册,修改,学历信息的发布,修改。对就业指导的查看
(1) 个人资料
个人用户可以在首页中点击“新用户注册”进入注册界面。填写注册的用户名,密码选择用户类型为“个人类”进入此界面。填写个人的详细信息,点击确认,系统将自动保存所添个人资料并跳转到“学历信息”页面用户可继续进行个人信息的完善也进行页面上的其他操作。在此功能页面上可以对用户的个人资料进行修改。
在基本资料中个人用户有些必须填写的项(如:姓名,性别,国籍,出生日期,联系方式等)以便于用人单位对人才的联系。
(2) 学历信息
通过此功能,毕业生可以根据自己的实际情况来完善自己的资料。个人用户只要在登陆后就可以对自己的学历信息进行填写或者修改,这样就可以对自己的信息进行完善。系统在用户进行填写保存后便会自动的将资料保存进数据库进行更新。
(3) 修改密码
个人用户通过此功能可以对自己的登陆密码进行修改重设。当用户觉得自己密码过于简单或者不安全时,只要记得之前的密码就可以进行对密码的修改重设。
3 企业模块
 本模块面向的用户是用人单位。用人单位通过此模块进行单位资料的填写,职位的发布和修改,删除:
(1) 企业资料
企业可以在首页中点击“新用户注册”进入注册界面。填写注册的用户名,密码,选择用户类型为“企业类”进入此界面。填写企业的详细信息,点击确认,系统将自动保存所添企业资料并跳转到首页面。用户可继续进行其他的操作。在此功能页面上可以对用户的企业资料进行修改。
在企业资料中企业用户有些必须填写的项(如:企业名称,企业地址,联系人,联系电话,电子邮件等)以便于毕业生跟用人单位的联系。
(2) 职位信息
企业通过此功能可以进行职位的发布与对已发布职位的查看,修改,删除。点击此功能当企业未发布任何职位时,页面变会显示“您未发布任何的职位信息!”。并在页面上有“发布新的职位信息”功能键。当企业用户发布有职位时便会显示所发布的职位信息,可对所发信息进行修改,删除。在页面上也有“发布新的职位信息”功能键。
“发布新的职位信息”是企业对要发布的招聘信息进行详细填写的功能键。通过此功能企业可发布详细的招聘信息如:招聘职位,招牌人数,工作地点,工资,职位要求等等。以方便毕业生查找适合自己的职位。
(3) 修改密码
企业用户通过此功能可以对自己的登陆密码进行修改重设。当用户觉得自己密码过于简单或者不安全时,只要记得之前的密码就可以进行对密码的修改重设。
4 管理员模块
管理员通过此模块可以对“就业指导”进行信息的添加,修改和删除。可方便毕业生,对就业咨询的及时掌握。
(1) 就业指导
当管理员登陆页面后,系统会自动跳转到就业指导页面。在页面上有“添加新的就业指导”功能键,点击该功能键,便可进行对就业指导的添加。在页面上也可对所添加的就业指导进行修改与删除。
2.4.3  系统功能结构图

图2-4 系统功能结构图


第3章   毕业生就业系统设计
3.1  数据库设计
本系统的数据库关系图4-1如下:
 
图3-1 数据库关系图


在实现本系统时虽然数据库中有些数据表未被使用,可考虑到以后系统二次开发时的需要,在设计时我们也把所需的数据考虑进去,以便二次开发的需要。现根据系统功能设计的要求以及功能模块的划分,对于本系统用户信息数据库,可以列出以下数据项和数据库:
系统各部分E-R图如图3-2,3-3所示:

 
图3-2 个人模块E-R


 
图3-3个人模块E-R
1.名称:毕业生信息表
    标识:stuInfo
毕业生信息表包括姓名,性别,国籍,生日,婚姻状况,身高,体重等29个字段

表3-1 毕业生信息表
名       称    字段名称    类    别    主    键    非   空
毕业生ID    stuID    int    Yes    Yes
注册ID    loginID    Int    No    Yes
姓名    Name    navrchar    No    Yes
性别    sex    bit    No    Yes
国籍    nation    navrchar    No    Yes
生日    birth    avrchar    No    Yes
婚姻状况    marry    Bit    No    Yes
身高    height    smallint    No    Yes
体重    weight    smallint    No    Yes
身份证号码    idCard    avrchar    No    Yes
籍贯    idAddress    navrchar    No    Yes
电话号码    telephone    avrchar    No    No
移动电话    mobilephone    avrchar    No    No
Q Q号码    qq    avrchar    No    No
电子邮件    email    avrchar    No    No
邮政编码    postNum    avrchar    No    No
通讯地址    nowAddress    navrchar    No    No
自我评价    myselfOpinion    navrchar    No    No
毕业院校    college    navrchar    No    No
专业名称    studyType    navrchar    No    No
学位    studyName    navrchar    No    No
中文水平    chinese    navrchar    No    No
电脑等级    computer    navrchar    No    No
第一外语    language_a    navrchar    No    No
一外水平    level_a    navrchar    No    No
第二外语    language_b    navrchar    No    No
二外水平    level_b    navrchar    No    No
2.名称:用户注册表
标识:loginInfo
用户注册表包括注册ID,用户名,用户密码,用户类型,注册时间4个字段
表3-2 用户注册表
名       称    字段名称    类    别    主    键    非   空
注册ID    loginID    int    Yes    Yes
用户名    loginName    varchar    No    Yes
用户密码    loginPwd    Varchar    No    Yes
用户类型    loginType    bit    No    Yes
注册时间    loginTime    datetime    No    No
3.名称:招聘职位信息表
标识:jobInfo
招聘职位信息表包括职位ID,企业用户ID,职位名称,职位要求,工作地点等9个字段。
表3-3 招聘职位信息表
名       称    字段名称    类    别    主    键    非   空
职位ID    jobId    int    Yes    Yes
企业用户ID    enterpriseID    int    No    Yes
职位名称    jobName    nvarchar    No    Yes
职位要求    jobNeed    nvarchar    No    Yes
工作地点    jobAddress    nvarchar    No    Yes
招聘人数    jobAmount    nvarchar    No    Yes
薪   金    jobSalary    nvarchar    No    Yes
其他待遇    jobOtherTreatment    nvarchar    No    No
截止日期    jobEndTime    datetime    No    No
4.名称:企业资料信息表
     标识:enterpriseInfo
企业资料信息表包括企业用户ID,注册ID,企业名称,企业地址等8个字段。


表3-4 企业资料信息表
名       称    字段名称    类    别    主    键    非   空
企业用户ID    enterpriseID    Int    Yes    Yes
注册ID    loginID    Int    No    Yes
企业名称    enterpriseName    nvarchar    No    Yes
企业地址    address    nvarchar    No    Yes
联系电话    telephone    varchar    No    Yes
联系人    contactMan    nvarchar    No    Yes
电子邮件    email    varchar    No    Yes
网站    homepage    varchar    No    No
5.名称:就业指导信息表
     标识:instructInfo
就业指导信息表包括就业指导ID,标题,内容,发布时间4个字段
表3-5 就业指导信息表
名       称    字段名称    类    别    主    键    非   空
就业指导ID    instructId    int    Yes    Yes
标题    instructTitle    nvarchar    No    Yes
内容    instructContent    ntext    No    Yes
发布时间    instructTime    datetime    No    No
3.2  模块设计
3.2.1  个人模块
个人如要进入本系统,必须先进行注册,在注册时选定好注册类型“个人类”进入系统。如果未注册就只能查看网站上的信息而不能填写个人的资料生成简历。系统要能保留每个个人用户的注册信息,在填写了“个人资料”与“学历信息”后自动的生成简历。个人类用户可以对个人资料进行修改,也能对个人登陆密码进行重设修改。
3.2.2  企业模块
企业要进入本系统,也必须先进行注册,在注册时选定好注册类型“企业类”进入系统。如果未注册就只能查看网站上的信息而不能填写企业的资料与发布招聘信息。系统要能保留每个企业用户的注册信息,企业用户对自己资料的填写可随时修改。对于要发布的招聘信息可随意的进行增加,修改以及删除。企业用户也可对登陆密码进行重设。其E-R图如图4-3所示。
3.2.3  管理员模块
管理员通过特定的用户名以及密码对就业指导信息进行增加,修改和删除。系统只允许管理员对就业指导里的信息进行操作。其他类型用户就只能查看就业指导信息。管理员不能修改自己的密码。只能固定使用。


第4章  毕业生就业系统实现
4.1   数据库连接
系统在一个静态JAVA类(GetConnection.java)中采用ORACLE thin连接方法与数据库取得连接,数据源的配置主要通过XML文件的方式,这样如果修改了配置文件也不必要重新启动服务器,主要代码如下:
数据库XML配置文件内容如下:
<?xml version="1.0"?>
<db-conf>
  <dbPort>1433</Port>                     /*端口号*/
  <dbIp>127.0.0.1</dbIp>                   /*IP地址*/
  <dbSID>personresource</dbSID>           /*数据库的SID*/
  <dbUser>sa</dbUser>                    /*数据库用户名*/
 <dbPwd>sa</pwd>                       /*用户密码*/
</db-conf>
……
   读取XML配置文件的主要代码如下:
URL confURL=ReadConfigration.class.getClassLoader().getResource("db_conf.xml");                 m_file_name = confURL.getFile();          /*读取xml文件*/
m_file = new File(m_file_name);
SAXBuilder builder = new SAXBuilder();     /*由解析器解析xml文件*/
Document doc;
String m_value = "";
doc = builder.build(m_file);
Element element = doc.getRootElement();
Element child_element = (Element)element.getChild(childvalue);                 m_value = child_element.getText(); 
与数据库取得连接的主要代码如下:
String m_port = ReadConfigration.getPort();
String m_ip = ReadConfigration.getDataServerIp(); 
String m_sid = ReadConfigration.getDataSID();
String m_user = ReadConfigration.getUserName();
String m_pwd = ReadConfigration.getUserPwd();
//dbUrl数据库连接串信息 
String dbUrl = "jdbc:oracle:thin:@"+m_ip+":"+m_port+":"+m_sid;
String theUser = m_user;                //theUser为数据库用户名 
String thePw = m_pwd;                 //thePw为数据库密码  
Connection c = null;                    //初始化连接 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();         
//与url指定的数据源建立连接        
c = DriverManager.getConnection(dbUrl,theUser,thePw);  
4.2   系统运行结果
4.2.1  主界面
进入主页面在左边登陆框上可进行用户登陆与新用户的注册。在页面的右部显示出了最近活跃的毕业生与最新的招聘信息。在这里可以对毕业生信息与企业招聘信息进行点击查询如图4-1所示。
 
图4-1主页面图
4.2.2  注册界面
注册新的用户名根据选择用户类型的不同,系统自动跳转到不同页面。其效果图当注册时选择“个人类”时直接跳转到个人资料页面,当注册时选择“企业类”直接跳转到企业资料页面中如图4-2所示。数据库保存了注册信息其关键代码如下:  
    Java bean保存注册信息
public void save(LoginInfo loginInfo) {
        log.debug("saving LoginInfo instance");/调试用
        Session session = getSession();/获得当前页面SESSION值
        Transaction tran = session.getTransaction();/通过SESSION获得值
        try {
            tran.begin();
            session.saveOrUpdate(loginInfo);/更新SESSION
            tran.commit();/提交ACTION
            log.debug("save successful");
        } catch (RuntimeException re) {
            log.error("save failed", re);
            tran.rollback();
            throw re;
        } finally {
            session.clear();
            session.close();
        }
    }
 
图4-2 注册页面图
4.2.3  个人资料页面
当注册的新用户名在注册页面上选择用户类型为“个人类”时,注册成功后便会自动跳转到的“基本资料”页面,可在此进行个人资料的填写。后面有红色标示的是必须填写项目如:姓名,性别,国籍,婚姻状况,身高,体重,身份证号,籍贯,电子邮件,如图4-3所示。 
 
图4-3 个人资料页面图
4.2.4  学历信息页面
  个人用户可在此页面填写自己的学历信息以便生成简历如图4-4所示。
 
图4-4 学历信息页面图
4.2.5  个人简历页面
在首页上直接点击求职人的名字就会自动的弹出简历。在简历上现实了个人所填写的所有资料以方便用人单位的查询如图4-5所示。
 
图4-5 个人简历页面图
4.2.6  首页页面
当个人类用户登陆后系统自动跳转到该页面如图4-6所示
 
图4-6 首页页面图
4.2.7  企业资料页面
当注册的新用户名在注册页面上选择用户类型为“企业类”时,注册成功后便会自动跳转到的“企业资料”页面,可在此进行企业资料的填写,如图4-7所示。
 
图4-7 企业资料页面图
4.2.8  职位信息页面
点击“职位信息”功能键时,系统跳转到职位信息页面,企业在此可进行职位信息的发布,修改和删除,如图4-8所示。其删除,更新关键代码如下:
<dt>
<img src="img/head.gif"/>操&nbsp;作
</dt>
<dd>
<a href="jobInfo.do?method=delete&jobId=<bean:write name="jobInfo" property="jobId"/>"><img src="img/delete.gif" border="0"/></a>
<a href="jobInfo.do?method=toUpdate&jobId=<bean:write name="jobInfo" property="jobId"/>"><img src="img/update.gif" border="0"/></a>
</dd>
Java bean代码
    public void delete(JobInfo jobInfo) {
        log.debug("deleting JobInfo instance");
        Session session = getSession();
        Transaction tran = session.getTransaction();
        try {
            tran.begin();
            session.delete(jobInfo);
            tran.commit();
            log.debug("delete successful");
        } catch (RuntimeException re) {
            tran.rollback();
            log.error("delete failed", re);
            throw re;
        } finally {
            session.clear();
            session.close();
        }
    }
    public void update(JobInfo jobInfo) {
        log.debug("updating JobInfo instance");
        Session session = this.getSession();
        Transaction tran = session.getTransaction();
        SQLQuery query = session
                .createSQLQuery("update JobInfo set jobName=?, jobNeed=?,jobAddress=?,jobAmount=?,jobSalary=?,jobOtherTreatment=?,jobEndTime=? where jobId=?");
        query.setParameter(0, jobInfo.getJobName());
        query.setParameter(1, jobInfo.getJobNeed());
        ......
        try {
            tran.begin();                     //事务开始
            getSession().update(jobInfo);       //更新SESSION
            tran.commit();                   //提交数据到SQL Sever数据库
            log.debug("update successful");
        } catch (RuntimeException re) {
            tran.rollback();                  //回滚数据信息
            log.error("update failed", re);
            throw re;
        } finally {
            session.clear();
            session.close();
        }
    }
 
图4-8 职位信息页面图
4.2.9  职位资料页面
企业类用户可以在此页面进行职位的发布,如图4-9所示。
 
图4-9 职位资料页面图
4.2.10  就业指导页面
管理员登陆时系统直接跳转到该页面,管理员对就业指导进行添加,修改,删除。如图4-10所示。
 
图4-10 就业指导页面图
第5章  系统测试
5.1  系统测试的目的和任务
系统测试是为了发现系统中存在的错误而执行系统的过程。其目的是为了发现系统中存在的错误,以提高系统的可靠性。统计表明,在开发较大规模的系统中,有40%以上的精力是耗费在测试上的,即使富有经验的程序员,也难免在编码中发生错误,何况,有些错误在设计甚至分析阶段就已埋下祸根,无论是早期潜伏下来的错误或编码中新引入的错误,若不及时排除,轻者降低软件的可靠性,重者导致整个系统的失败。为防患于未然,进行系统测试试非常重要的。测试系统功能测试的任务就是要尽可能多的发现系统的错误,选择测试用例时,应选择易于发现系统错误的数据,以便尽早的发现并提出问题供开发者解决,是进一步完善系统的关键步骤。
5.2  测试方法和环境
好的测试方案的选择有利于系统测试工作的良好进行,现阶段的两种常用测试方法是 “黑盒测试”和“白盒测试”[2]。两种方法的区别在于,黑盒测试是已知系统的内部控制结构,通过测试证明每种内部操作是否都符合设计规范,所以内部成分都已经经过检查,它是在程序接口进行的测试,并且保持外部信息(如:数据库或文件)的完整性。与黑盒测试法相反,白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试测试程序,检查程序中的每条通路是否都能按预定要求正确工作。这两种方法都有一定的局限性,下面将采用白盒测试和黑盒测试相结合方法进行系统测试。
对于本系统的测试作者采用黑盒测试的方法,也就是主要检测系统的每个功能能否正常使用。测试环境如下:
处 理 器:T7250  2.00GHz;        硬    盘:120G;
操作系统:Windows XP;            内    存:2G;
5.3  测试内容及结果
利用以下等价类测试数据登陆系统。
管理员adminuser          密码 111111
个人用户名 silence         密码 111111
企业用户名 qiyetest        密码 111111
1、注册:为个人用户注册,分别输入一个已经存在的用户名和不存在的用户名,点击“注册”,测试是否能正确提示用户存在或不存在的信息,输入两次不同的密码,测试密码验证功能是否正常给出提示;输入两次相同的密码,选择注册,测试能否正常注册。重复以上测试操作,选择单位用户注册,测试能否正常注册。输入以已存在用户名时系统提示:“用户名已经存在”如图5-1所示。
 
图5-1 测试页面1
输入了在数据库登陆信息表中不存在的用户名代号:apple22,但两次密码输入不相同,系统提示:“两次输入的密码不同”如图5-2所示。
 
图5-2 测试页面2
不输入注册用户名,只输入密码时系统提示:用户名不能为空!用户名长度必须在6~20”如图5-3所示。
 
图5-3 测试页面3
2、登录:从首页登录,输入已经存在的用户名,测试能否正常登录或输入存在用户名密码不正确时是否提示“密码不正确!”。再输入不存在的用户名,测试能否提示用“户名不存在”。测试输入的不同类型的用户是否跳转到不用的用户页面。
输入数据库中已有的用户名可密码不正确点击登陆时系统提示:“密码不正确!”如图5-4所示。
 
图5-4 测试页面4
输入数据库中没有的用户名点击登陆时系统提示:“没有改用户!”如图5-5所示。
 
图5-5 测试页面5
不输入任何信息点击登陆时系统提示:“用户名不能为空!密码不能为空!”如图5-6所示。
 
图5-6 测试页面6
输入不同类型的用户利用个人用户silence与企业用户qiyetestjin进行测试,正确登陆后系统跳转到不同的页面。如图5-7,5-8所示
 
图5-7 测试页面7

 
图5-8 测试页面8
3、修改资料:完成正确登陆后在个人用户页面中点击个人资料,进行资料的修改并保留修改资料,再重新登陆查看个人资料发现资料已经被更新如图5-9所示。企业用户进行同样的操作。
 
图5-9 测试页面9
4、招聘信息发布:在此模块首先对招聘信息进行发布保存,对已发表的信息进行修改,删除。重新登陆后变会发现信息修改成功,已删除的信息已经不存在如图5-9所示。
 
图5-9 测试页面10
5.4  测试结论
由于数据库是基于SQL Sever下,在安全性,容量方面完全可以满足需要,在针对每个页面的测试中,无重大的错误,界面链接正常,操作简便,用户使用步骤清晰,无繁杂。在性能测试方面,本系统的性能比较稳定,在遭遇用户的误操作,以及特殊数据时,能够主动提示,安全性与稳定性都比较高。
但是由于编程与设计方面的疏忽和经验不足等诸多原因,在个别模块性能上还不差强人意,比如,有些功能,在误操作,以及特殊数据测试时,会产生错误,导致系统关闭等。这些在稳定性方面还有待解决。
解决这些问题,需要对系统的菜单功能以及编程的代码进行进一步的优化和改进。通过调整系统菜单的广度和深度,使就业信息网功能更加的完善。

结    论
在设计之初作者对设计进行了细心的分析和详细调查研究,掌握了大量的资料,充分了解了毕业生就业信息管理系统的现状和国内外发展的状况以及未来发展的方向。设计一个怎样的毕业生就业信息管理系统,才能对毕业生就业有更好的帮助,一个怎样的毕业生就业信息管理系统才能有更广阔的市场。通过对该系统要求的分析,作者掌握了更能体现需求情况的设计方案,并且利用了目前流行的毕业生就业信息管理系统设计方案,对它进行了比较论证,提出了它的优点和缺陷。 
通过JSP据库等技术对该设计方案进行了系统实现,完成了设计的主体部分,并对系统进行了长时间的调试和运行,对系统的性能有了充分的了解。
进一步的工作就是维护数据库的完整性、准确性、保密性,让数据库更加完善。在新增一些功能,促进系统的升级。提高页面的美工,使系统更加美观。
总上所述,是作者这次设计的全过程,在其中有失败也有成功,在设计的过程中作者明白了要做成一件事是不容易的,但只要作者努力去做,就一定可以有一个好的结果。
    基于B/S模式下的毕业生就业信息管理系统是一个综合性的应用,系统涉及到网络安全、数据存储与传输、网络的服务与应用、身份识别等多个方面的研究。由于求职招聘是一项严肃的工作,所以要求系统的界面力求简洁、直观、明了,在本系统的界面中很少使用与内容无关的图片、动画等内容,背景前景颜色协调,柔和,避免长期用眼带来的疲劳,同时给你以一种舒适的感觉。    
    综合考虑互联网设施的日益完善、信息技术的普及初期投入、维护成本和用户计算机的低配置性,在网上求职招聘体系架构上选择B/S结构,降低了系统的要求。
    本系统采用完全B/S结构的软件实现(系统所有功能均采用三层结构模型),提高了软件的可维护性和可扩充性。
    本系统的目标定位是满足毕业生和用人单位在网上交流,实现了毕业生可以注册登录发布个人简历,查看搜索用人单位招聘信息;用人单位也可以注册登录本系统发布招聘信息,查看、搜索特色人才的功能。从目前的使用情况来看,本系统不仅可以满足毕业生和用人单位相互交流,相互选择的的功能,提高了资源的利用率,而且还能大大节约人力,物力和财力。给毕业生寻找工作单位和用人单位寻找所需要的人才带来了很大的帮助。
    总的来说,本系统基本上实现了预期的目标和功能,能够让个人用户和单位用户注册成会员,个人会员可以修改个人求职简历,搜索单位在本系统上发布的相应的职位;单位会员可以发布公司的详细资料,发布和更新招聘信息,搜索所需人才。另外,还在系统中加了友情链接、站内公告、站内统计和站内调查等小的模块,是毕业生就业信息管理系统的功能更加完善。但是系统仍然有一些不足的地方,比如:系统无法在用户注册时,先进行身份验证再通过注册。只能让用户注册成功以后,才可以对用户的信息进行审核。系统存在的缺点,作者会尽力去完善。


 
致    谢
值此论文完成之际,谨向给予我无私帮助的老师和同学们致以诚挚的谢意!
在整个设计过程中,有很多人对给予了我重要的支持和帮助。衷心地感谢导师雷全水老师对我设计与论文的耐心指导、认真审阅和严格要求;给我提出了许多宝贵的意见,使我在做毕业论文、即将结束大学生活的同时,深刻的领悟到做事要认真、时刻要严格要求自己。
衷心地感谢许多同学在我完成毕业设计期间在数据库连接、服务器配置、JSP编程等问题上给我的帮助使我能够顺利地进行设计的工作
 衷心地感谢指导老师雷全水老师和同学们对于我论文格式及排版上的提醒。 我还要感谢计算机学院的各位老师,是老师们的共同努力,使我度过了愉快的大学时光。
再次衷心感谢曾经帮助过我的所有人.


参考文献
[1] 陈峰棋,资讯教育小组.ASP与SQL网站数据库程序设计[M]. 北京:科学出版社,2002.1.
[2]《电脑编程技巧与维护》杂志社.JSP编程精选集锦[M].北京:科学出版社,2003.6:30-60.
[3] 蔡翠平,尚俊杰.网络程序设计基础[M].北京:清华大学出版社,北方交通大学出版社,2003.6.
[4] 蒋文蓉 .JSP程序设计[M].高等教育出版社2004年7月第1版
[5] 屈辉立,陈可明,石武信. JSP网站编程教程[M]. 北京希望电子出版社, 2002
[6] 耿祥义,张跃平. JSP实用教程[M]. 清华大学出版社, 2003
[7] 吴会松,小议Microsoft SQL Server 2000的安全及管理[J].微电脑世2001.1:15-25.
[8] 柏亚军等. JSP编程基础及应用实例集锦[M]. 人民邮电出版社,2001
[9] 光军,胡波. JSP应用开发实例详解[M]. 北京航空航天大学出版社, 2002
[10] 姜晓铭等. JSP程序设计精彩实例[M]. 清华大学出版社,2001
[11] 马文刚等,. JSP实用编程实例集锦[M]. 清华大学出版社,2001
[12] 翁卫兵等. JSP网络编程技术[M]. 新时代出版社,2002
[13] 荣钦科技主笔室. 最新JSP入门与应用[M]. 中国铁道出版社,2001


 

猜你喜欢

转载自blog.csdn.net/weixin_55459367/article/details/114380066