基于jsp的网上招聘系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高等教育自学考试
本科毕业论文(设计)
题目:基于JSP的网上招聘系统的设计与实现
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日
导师签名:日期:年月日
目录
1引言 (6)
1.1项目背景 (6)
1.2项目目标 (6)
1.3项目经济可行性 (7)
2 需求分析 (7)
2.1网上招聘系统业务需求 (7)
2.2用例图分析(U SER C ASE) (8)
2.3数据流程图分析(DFD) (9)
3系统设计 (10)
3.1系统总体结构设计 (10)
3.2系统模块设计 (14)
3.2.1公共模块实现的功能 (15)
3.2.2个人模块实现功能 (15)
3.2.3单位模块实现功能 (16)
3.2.4管理员模块实现功能 (16)
3.3系统文件设计 (17)
3.4网页链接转发图 (18)
3.4.1公共模块网页转发图 (18)
3.4.2用户或管理员登录页面转发图 (19)
3.4.3其他页面转发图 (19)
3.4.5全局转发图 (20)
4 数据库设计 (20)
4.1实体关系图(ERD) (20)
4.2E-R图转换为关系模型 (21)
4.3关系模型转成数据库表 (22)
5系统实现 (24)
5.1系统开发环境介绍 (24)
5.2网站目录架设与调试 (25)
5.3数据库实现示例 (28)
5.4主要功能实现 (29)
5.4.1 首页的实现 (29)
5.4.2 登录模块的实现 (32)
5.4.3 添加到“收藏夹”的实现 (34)
5.4.4 发信的实现 (35)
5.4.5显示“我的收藏夹”功能的实现 (37)
6系统测试 (38)
6.1测试规程 (38)
6.2测试步骤 (39)
6.3测试记录 (40)
6.4测试小结 (44)
7总结 (44)
7.1系统的特色 (44)
7.2系统的不足 (44)
7.3系统的改进方向 (45)
摘要
随着Internet 的高速发展,基于B/S结构的系统得到广泛地应用。
网上招聘系统则是其中最为典型的应用。
我们可以透过网络这样一个平台来共享我们的信息。
对于一个企业而言,它需要的是合格的、优秀的人才,对一个人而言,他需要的是一个好的企业来发挥自己的特长,为社会和企业增加更多的财富。
网上招聘系统正是基于这点而开发的,企业需要人才,人才需要企业。
在这个平台上,企业和人才的信息共享。
本文旨在介绍如何去实现一个网络招聘系统,采用Java语言,使用目前流行的SSH(Spring-Struts-Hibernate)框架及微软公司SQL2005数据库开发完成,对需要做Web项目的企业和个人有一定的指导意义。
关键词:网上招聘系统、SSH框架、SQL 2005数据库
1引言
1.1项目背景
Internet网正在迅速进入现代生活的每个角落,正如春天的青草铺满大地。
网络的出现正在全面改变人类的生产和生活方式,人们认为它带来的影响可以和蒸汽机的发明相比拟。
网络将使以制造业为中心的工业社会转化为以信息产业为中心的信息社会,以因特网为主干的国际计算机信息互联网迅速地延伸到全世界每一个角落。
中国互联网络信息中心(CNNIC)发布的《中国互联网络发展状况报告》显示:截至2010年6月,我国网民规模突破了4亿关口,达到4.2亿,互联网普及率攀升至31.8%,较2009年底增加3600万人。
我国使用电脑上网的网民达到3.7亿,半年增长1758万,使用手机上网的网民规模达2.77亿,半年增长4334万,增幅为18.6%。
该报告显示了这样一个大趋势:网民的增速已经走过了一个新生事物最初的高成长期而进入一个稳健的增长期,互联网行业将进入一个逐渐成熟的商业发展阶段。
随着中国加入WTO,全球经济一体化的逐步深入,网络使全球成为一个地球村,企业在做大做强的推力下,不断地渴求着优秀人才的加盟,这些人在为社会贡献财富的同时,也在实现着自我价值。
人才是企业生存的基石,那么如何去网络到合格的、优秀的人才?便成为企业管理者需要思考的问题。
我们需要一个平台来展示我们自己,同时,企业也需要借助网络媒体来宣传自己,提高自己的知名度,优秀的企业需要网络更多优秀的人才。
那么,对于个人而言,也需要借助网络媒体来展示自己,让更多的企业认识自己。
这实际上是一种双赢的模式,优秀的企业需要优秀的人才,优秀的人才需要优秀的企业。
由此,网上招聘系统应用而生。
企业在第一时间发布招聘职位信息,求职人在第一时间发布求职信息,透过这个平台,各取所需。
网上招聘系统的开发看到了信息共享的趋势,也是网络盈利模式的一次尝试。
透过网上招聘系统,在为企业提供人才信息的同时,能过有所收益,网上招聘系统对于个人而言是免费的,对于企业而言是收费的。
1.2项目目标
信息实时
网上招聘系统的建立,使得网站能及时发布新的职位信息给广大用户,同时推荐优秀的企业给广大用户。
求职者无需出门就能及时的了解到新的资讯,并在第一时间知道正在招聘的企业。
离职的、想跳槽的求职者,无论何时,总能在有网络的地方登入到网络,注册自己的信息、更新自己的简历,并能随时的查看有无人事经理的最新来信。
网上招聘系统,就是要在第一时间保证信息的顺畅的传达。
通信便利
用户只要使用Web浏览器,在由INTERNET 接入的地方即可访问该网站。
象在网吧及一些公共的场所。
在家里可使用中国电信的ADSL接入及中国联通的无线接入。
B/S结构的客户端无需特殊配置,并且不存在地域限制。
成本低廉
网上的招聘,仅用文字描述和图片就可以使求职者形成就职意向。
在健康的运作模式下,开设招聘系统的成本远远低于传统模式;与面对面的招聘相比,网上招聘的市场规模和经营模式突破了地理位置、
经营面积、营业时间的局限,是一种全新的招聘方式,大大的降低了传统人才市场的运营成本。
同时,对于求职者而言,不需要再去人才市场,不需要在固定的时间去固定的地方,时间显的很柔性和弹性。
这样可以节约移动成本和时间。
随着用户信息不断的加入,实际上在一定程度上形成了人才储备库,网站的运营者透过人才储备库,可以给用人单位推荐合适的人才,帮助企业找到合适的人才。
特别对于大型企业,人才总是在流动的,招聘对他们来说,实际上是个考验。
有了这个人才储备库,企业就能节省人才招聘的实际成本。
管理先进
作为一个成功的网上招聘系统,首先要充分体现信息的适时性和时效性,这实际上要求网上招聘要有先进的管理模式;其次是体现技术上的优势,在网上招聘,必须保证信息的安全性,防止不法之人滥用网络求职者的信息,给求职者造成经济损失或人生的伤害;同时,通过网络技术来保证信息的真实性,我们不否认有些别有用心的人运用网络媒体干些非法的勾当,所以,诚信和安全也是网上招聘系统存在和运营的基石。
第三,在现阶段我们的观念还没有转变、网上招聘在认知率还不高的前提下,网站的运营者必须透过方方面面的宣传,让用户放心的使用网络资源,共享网络资源。
1.3项目经济可行性
网上招聘系统不需要单独购买服务器,使用托管的方式,挂靠在ISP的专用服务器上面,网上招聘系统的域名是。
日常数据库的维护以及网页的维护都是由本网站的网络管理员来做。
具体的投资估算表如表1所示:
表1 投资估算表
投资收益:
由于该网站面向广大网上用户,可以有广告费之类的现金收入。
投资收益表如2所示:
表2 投资收益表
2 需求分析
2.1 网上招聘系统业务需求
在线招聘系统需要处理以下业务:
1、用户可以通过前台页面查看企业的详细介绍、企业现在的招聘职位;求职者的详细信息。
2、系统管理员登录进入后台发布招聘新闻,并能对注册用户进行管理。
3、个人注册用户可以通过系统向某个单位发送求职信件,并能管理自己在网站上的信箱,同时,把感兴趣的单位加入到自己的收藏夹。
4、单位注册用户通过系统向个人求职者发送面试通知,并能管理自己在网站上的信箱,同时,能把感兴趣的求职者添加到自己的收藏夹。
2.2 用例图分析(USER CASE)
在面向对象分析的方法中通常使用User Case来获取软件的需求。
User Case通过描述“系统”和“活动者”之间的交互来描述系统的行为。
通过分析系统目标,User Case描述活动者为了实现这些目标所执行的所有步骤。
User Case方法最主要的优点,在于它是用户导向的,用户可根据自己所对应的User Case来不断细化自己的需求。
系统分析的第一步就是指出系统能被用来做什么,谁将去使用它。
它们分别是用例和角色,角色是位于系统外的人或其它系统。
通过对上面的业务进行分析,画出网上招聘系统的用例图如图1 所示:
图1 网上招聘系统用例图
从以上的用例图可以看出,系统有三类用户,即系统管理员、注册会员、游客。
这三类用户所需具有的功能各不相同,概述如下。
1、系统管理员需要的功能有:
◆对招聘新闻进行的管理,要能进行添加、删除操作;
◆对单位注册用户进行管理,要能进行删除操作;
◆对个人注册用户进行管理,要能进行删除操作;
2、网站注册会员需要的功能有:
◆能够登录进入到自己的主页;
◆能够查看信箱里的信件,发送站内信件、管理信箱的功能;
◆单位用户能够发布招聘职位信息、把合适的求职者加入到收藏夹的功能;
◆个人注册用户能够在线编写简历,把合适的单位加入到收藏夹的功能;
3、游客需要的功能有:
◆能够注册成为会员;
◆能够浏览网站;
2.3 数据流程图分析(DFD)
DFD图是组织中信息运动的抽象,是信息系统逻辑功能模型的主要形式。
它是用一种图形及与此相关的注解来表示系统的逻辑功能,即所开发的系统在管理和处理方面要做什么,图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况。
在设计数据流图时,只要考虑系统必须完成的基本逻辑功能,而不需要考虑如何实现这些功能。
DFD使用四种基本元素来描述系统的行为,过程,实体,数据流和数据存储。
DFD方法直观易懂,使用者可以方便地得到系统地逻辑模型和物理模型。
经过对上面用例的分析和功能分析,画出系统的数据流图如图2所示:
图2 用户的数据流图
3系统设计
3.1 系统总体结构设计
网上招聘系统使用的动态网页技术,网上内容的展示全部是从数据库读取的数据,一旦,管理员更新了数据库的数据,前台的页面也就跟着变化了。
同时,网站的用户可以注册成为会员,用户更新了自己的资料或者成为新的用户,站点上也会动态的反应出来。
所以,站点的呈现永远是最新的数据。
客户端:提供基于浏览器的客户界面,客户可以在本地浏览来自Web服务器传过来的动态页面,客户也可以通过Web页面和Web服务器交互,使用标准的HTTP协议。
Web服务器层:Servlet、JSP、Hibernate、Spring组件运行在Web服务器上,Spring Bean运行在Spring 容器里,Web服务器负责生成动态HTML页面,POJO负责访问数据库和事务处理。
在Web服务器层还包括一些供JSP和POJO组件访问的实用类。
数据库层:存放和维护Web应用数据信息。
系统的软件结构如图示:
图3 系统结构图
其中,Web服务器层采用MVC Model2设计模式,是目前较流行的一种软件设计模式,它把系统分成为3个模块:模型(Model),视图(View)和控制器(Controller)。
各个模块的功能说明如表3所示:
表3 MVC功能模块说明
的请求由控制器处理,它根据客户的请求调用模型的方法,完成数据更新,然后调用视图的方法将响应结果展示给客户。
视图也可以直接访问模型,查询数据信息,当模型中数据发生变化时,它会通知视图刷新界面,显示更新的数据。
图4 MVC模块间的关系
本系统采用Apache Jakarta-Struts 1.2来实现MVC的模式。
Struts实质上就是在JSP Model II的基础上实现了MVC模式的框架。
在Struts框架中,模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成,其结构如图5所示:
Servlet/JSP容器
图5 Struts 结构图
网上招聘系统中,中央控制器由ActionServlet来完成,这个Servlet的实例不需要我们生成,而是在web.xml配置文件中配置,在服务器一启动的时候就加载到服务器的容器中,并一直提供服务。
关键代码如下:
的代码,本系统则完全交给时下流行的ORM(Object Relational Mapping)框架-Hibernate来完成,这样,用户只需关注业务逻辑的具体实现,不需要再去写底层的数据库交互代码,Hibernate框架自动帮我们生成POJO对象,代码如下:
代码均来自于真实项目,它的目的是要解决企业级应用程序开发的复杂性,简化J2EE的开发,Spring是一套基础框架,它能很方便的帮助开发人员更加简单和合理的使用J2EE服务,使开发人员能够集中精力实现业务逻辑和其它应用功能。
Spring提供“一站式”的框架整合方案,涵盖了J2EE软件开发中的各个分层,包括持久层、业务层、表示层等。
本系统中使用了Spring 框架的第三种应用,如图6所示:
图6 Spring 框架第三种应用
系统中,使用Spring容器来管理业务Bean对象,使用Spring 倡导的IOC模式来生产业务对象,并且这些业务对象统一的由Spring 容器来管理,并实现了声明式的事务。
所有的事务由Spring容器来处理,所以,开发者不需要在代码中去写实现事务的代码,而是由容器提供统一的管理。
所有用到的业务Bean对象的配置代码如下:
3.2 系统模块设计
该网站招聘系统分为单位、个人、管理员和公共四个大的模块模块,每个模块相对的独立,以便于
页面的组织。
3.2.1公共模块实现的功能
1.站点在首页上以表格的形式显示当日最新8个用人单位招聘职位、最新的8个求职信息,以列
表的形式显示最新6条招聘新闻和该新闻被点击的次数。
首页上还提供“更多”的超链接,点
击这些超链接,在新窗口分别以分页的形式显示全部的招聘职位、个人求职信息和招聘新闻。
2.点击招聘单位的超链接,在新窗口显示该单位的详细介绍;点击招聘职位的超链接,在新窗口
显示该职位的相关描述和要求;点击每个招聘新闻标题的超链接,在新窗口显示新闻的详细内
容。
3.首页上提供注册和分类登录功能。
图7 公共模块功能图
3.2.2个人模块实现功能
1.个人求职用户可以登录到系统,第一次注册的用户可以新增个人基本资料、个人特长和工作经
历、希望的工作和联系方式作为简历等信息。
2.已注册用户可以选择性的修改简历中的个人的求职信息。
3.“修改登录密码”超链接可以修改密码。
4.“全部职位列表”以表格的形式显示与个人求职意向匹配的职位信息,多条以分页的方式显示。
每条信息提供公司名称和职位名称超链接,用来在新窗口显示详细信息。
同时,提供“发信”
和“添加到收夹”超链接。
5.“发信”功能向招聘单位发送求职信。
对于求职者感兴趣的职位,可以添加到收藏夹。
6.“我的收藏夹”以表格的形式招聘单位名称和职位,同时提供“发信”和“删除”超链接。
求
职者可以给照片单位发送求职信,也可以删除收藏夹内容。
7.“我的信箱”以表格的形式显示发信单位、标题、回复和删除超链接。
并实现这些功能。
8.实现退出登录功能。
图8 个人模块功能图
3.2.3单位模块实现功能
1.功能和个人模块差不多,单位用户可以登录到系统,第一次注册的单位用户可以新增单位的基
本资料。
2.已注册的单位用户可以选择性的修改单位的基本信息。
3.“发布招聘信息”超链接用来发布职位信息。
4.“修改登录密码”超链接可以用来修改密码。
5.“全部人才列表”以表格的形式显示所有求职者信息,多条以分页的方式显示。
每条信息显示
“姓名”超链接,用来在新窗口显示该求职者的详细信息。
同时,提供“发信”和“添加到收夹”超链接。
6.“发信”功能向求职者发送面试通知。
对于招聘单位感兴趣的求职者,可以添加到收藏夹。
7.“我的收藏夹”以表格的形式显示求职者的姓名、性别、学历、应聘职位。
姓名使用超链接,
用来在新窗口显示该求职者的详细信息。
提供“发信”和“删除”超链接。
招聘单位可以给求职者发送面试通知,也可以删除收藏夹内容。
8.“我的信箱”以表格的形式显示发信单位、标题、回复和删除超链接。
并实现这些功能。
9.实现退出登录功能。
图9 单位模块功能图
3.2.4管理员模块实现功能
1.管理员可以登录到系统。
2.管理员管理新闻。
3.管理员管理用户信息
图10 管理员模块功能图
3.3系统文件设计
为了保持所有的网页风格一致,本网站采用了复合式网页的方式。
就是在某个页面包含页面的头部和页脚。
表4 页眉和页脚文件
表5 主页和公用超链接文件
表6 注册个人用户登录后的文件
表7注册单位用户登录后的文件
表8 网站管理系统JSP文件
3.4网页链接转发图
3.4.1公共模块网页转发图
3.4.2用户或管理员登录页面转发图
3.4.3其他页面转发图
3.4.5全局转发图
4 数据库设计
4.1 实体关系图(ERD)
ERD方法用于描述系统实体间的对应关系,系统分析阶段使用ERD描述系统中实体的逻辑关系,在设计阶段则使用ERD描述物理表之间的关系。
ERD只关注系统中数据间的关系,而缺乏对系统功能的描述。
对网上招聘系统产生的数据流进行分析,得出ERD图如图11所示:
图11 网上招聘系统ERD图
4.2 E-R图转换为关系模型
用户表:{用户编号,用户名,密码,其他相关详细信息}
主键为用户编号。
招聘职位表:{编号,职位名称,发布时间,需求数量,工作地点,职位描述,基本要求,职位所属公司}
主键为编号,外建是职位所属的公司
邮箱表:{邮箱编号,收件人名称,发件人名称,邮件的标题,邮件的正文,发送时间,是否是新邮件}
主键为邮件编号。
收藏夹表:{收藏夹编号,用户名称,收藏名字}
主键为收藏夹编号,收藏名字为外键,引用用户表。
招聘新闻表:{新闻编号,新闻标题,新闻内容,发布时间,点击数}
主键为订单编号。
注:下标线和黑体为主键。
4.3关系模型转成数据库表
根据系统分析的数据库E-R图,对网站内容管理系统及用户注册系统进行数据库表设计,命名数据库名为chinahr。
整个系统包括8个表。
分别是招聘单位信息表、用户信息表、职位信息表、工作新闻表、个人邮箱表、个人收藏夹表、招聘单位信息表、招聘单位邮箱表、招聘单位收藏夹表。
表9招聘单位信息表(company)
表10 招聘职位信息表(job)
表11 个人求职信息表(person)
5
5.1系统开发环境介绍
Eclipse介绍
俗话说:“工先欲其事,必先利其器”,做大型的项目,需要选择合适的开发平台。
Eclipse就是Java 平台下最好的IDE平台,是Java开发者的开发利器。
Eclispe由蓝色巨人IBM所释出。
IBM花了4千万美金来开发这个IDE(Integrated Development Environment)。
Eclipse已经成为开放原始码计划(Open Source Project),由Project Management Committee(PMC)所管理。
Eclipse项目分成平台、开发工具箱、外挂开发环境等。
她是目前Java平台下开发的主流IDE。
MS SQL 2005简介
我们知道,对于数据的存储,我们需要数据库的支持,本项目选择了微软公司的SQL2005关系型数据库。
Microsoft SQL Server 2005是微软于2005年年底推出的,它扩展了SQL Server 2000的性能、可靠性、可用性、可编程性和易用性。
SQL Server 2005 包含了多项新功能,这使它成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台,也是用于数据集成、分析和报表解决方案的商业智能平台。
SQL Server 2005的组件包括:数据库引擎、Reporting Services、Analysis Services、Notification Services、
Integration Services、全文搜索、复制和Service Broker。
下图说明了SQL Server 2005组件之间的关系和组件之间的互操作性。
5.2 网站目录架设与调试
Java Web应用一般是由一组静态HTML页、Servlet、JSP和其它相关的class组成。
每种组件在Web 应用中都有固定的存放目录。
Web应用的配置信息存放在web.xml文件中。
在发布某些组件时,必须在web.xml中添加相应的配置信息。
表17 web.xml配置信息
OnlineHRWithStrutsHibernate应用的目录结构
图12 OnlineHRWithStrutsHibernate应用的目录结构
OnlineHRWithStrutsHibernate应用在windows资源管理器中的展开图如图13所示:
图13 OnlineHRWithStrutsHibernate在windows资源管理器
对于windows操作系统,需要安装Web服务器,本系统使用开源服务器Tomcat 6.0。
下载地址为:/。
下载完成后,直接点击安装,本系统中使用MyEclipse自带的Tomcat 6.0,
在windows的资源管理器里显示内容如图14所示:
图14 Tomcat目录结构
在安装Tomcat之前,首先安装JDK。
本系统中使用1.6版本,下载地址:
/technetwork/java/javase/downloads/index.html。
安装的完成之后,在windows中
的目录为:C:\Program Files\Java\jdk1.6.0_19。
如下图15所示:
图15 JDK目录结构
Tomcat服务器的启动:安装完成之后,打开Tomcat 6.0\bin\Tomcat6.exe,就启动了Tomcat服务器。
启动后的,会在windows的CMD窗口显示如图16的信息:
图16 Tomcat启动
确保有以下信息显示:Server startup in …这样Tomcat就在系统的8080端口侦听所有的HTTP请求。
为确定你的Jboss服务器正常启动,可以在IE的地址栏里输入:http://localhost:8080 。
会出现如下图
17的画面,表明Tomcat服务已经在服务器上启动,采用HTTP端口为“8080”。