1、湖北大学本科毕业论文 (设计 ) I 目 录 绪论 . (III) 1 课题概述 .(1) 1.1 课题背景 .(1) 1.2 课题主要研究意义 .(1) 2 相关 开发 技术 和工具 综述 .(2) 2.1 B/S 模式 .(2) 2.2 JSP 的优点及其对象的简介 .(2) 2.2.1 JSP 的优点 .(2) 2.2.2 JSP 的 九大隐式 对象简介 .(3) 2.3 Mysql .(4) 2.3.1 Mysql的优点 .(4) 2.3.2 Mysql的缺点 .(4) 2.4 MVC 模式 .(4) 3 求职招聘网站 系统的需求分析 .(5) 4 求职招聘网站 的设计方案 .(6)
2、4.1 求职招聘网站 的系统流程 .(6) 4.2 求职招聘网站 的数据库的设计 .(6) 4.3 求职招聘网站 的三层模式的设计 .(8) 4.3.1 求职招聘网站 的数据层设计 .(8) 4.3.2 求职招聘网站 的 业务处理 层设计 .(8) 4.3.3 求职招聘网站 的表示层设计 .(10) 4.4 本系统 MVC 模式中三层之间的交互举例 . (11) 5 结束语 .(12) 参考文献 .(14) 湖北大学本科毕业论文 (设计 ) II 基于 JSP 的求职招聘网站系统设计与实现 摘 要 随着现代社会的快速发展,各种岗位的人才需求也逐渐增多。 传统的求职招聘模式 已经不能满足现代社会
3、的需求, 网上求职招聘方式不再拘泥于时间和空间的限制 ,为求职招聘双方提供了便捷、实用的沟通手段。求职招聘网站系统是利用互联网提供的丰富的超媒体资源 ,依托现有的硬件设施和实施手段 ,运用信息化服务方法为求职者和用人单位搭建一个开放、稳定、公平的求职招聘平台 ,同时解决企业、用人单位和求职者实时通话的渠道难题。 本系统采用的 B/S 模式的三层体系结构,利用 JSP 技术, JDBC 技术, Mysql 数据库,Apache Tomcat 服务器等技术实现,充分实现信息共享与交流,利用互联网的优势,安全、高效率、低成本的处理求职招聘工作。 【关键词】 Web 技术 JSP 技术 数据库设计 M
4、VC 模式 湖北大学本科毕业论文 (设计 ) III Design and implementation of job recruitment website system based on JSP Abstract With the rapid development of modern society, various positions is gradually increasing demand for qualified personnel. The traditional recruitment and selection model has been unable to meet
5、 the needs of modern society, the online recruitment and selection system is no longer confined to time and space constraints, provides a convenient, practical means of communication. Job recruitment and selection website system uses the Internet to provide rich hypermedia resources, relying on the
6、existing hardware facilities and means of implementation, the use of information service method for job seekers and employers to build an open, stable, fair employment platform, solving problems and channels with employers and job-seekers enterprises, real-time communication. Three layer system stru
7、cture by using the BS model of the system, and use JSP technology, JDBC technology, Mysql database, Apache Tomcat server technology, the full realization of information sharing and exchange, the advantage of the Internet, job security, high efficiency, low processing cost of recruitment. 【 keyword】
8、Web technology JSP Database design MVC model湖北大学本科毕业论文 (设计 ) 1 绪论 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经 进入人类社会的各个领域并发挥着越来越重要的作用。 Web 技术作为一种网络技术,在此期间得到迅速发展。 网络给人们 带来了许多方便,可以足不出户就了解到很多资讯,也可以通过网络来管理很多东西。我们每天的工作与生活都和网络息息相关,面对面的交流已经逐渐被网络交流所取代,大家上网聊天,远程工作,网上购物等等,网络上的活动越来越频繁,再加上招聘会时间的固定性,越来越多的人选择在招聘信息网站
9、上申请账号,更新自己的个人简历,寻找合适自己的工作岗位,而企业也经常在一些主流招聘网站上发布自己公司需要的职位信息列表,不需要经常开展大型的招聘会就可以找到适合的人才,这样既找到了合适的人才,又降低了成本缩短了时间,因此广泛受到企业的喜爱。所 以由此可见,招聘求职信息网站的建立是十分必要的,可以使求职与招聘变得非常方便 。 1 课题概述 1.1 课题背景 找工作难是如今大学毕业生不得不面临的困难,大学毕业生缺少经验,社会实践少,迫切希望能找到一份适合自己的工作。尽管各地具有规模级的现场招聘几乎每个星期都会举行,这也吸引了大量的毕业生前去寻找合适自己的工作,这虽然解决大部分毕业生的就业,但同时也
10、消耗了许多人力以及物力,也浪费了许多毕业生为了找工作而奔波忙碌所耗费的时间和精力。 随着科学技术水平的不断前进,尤其是近些年来由于世界各地大范围的普及计算机,计 算机的应用已经慢慢地不断渗透到非数值化管理的很多部分,而不是原先最简单的科学计算。目前,网络已走进千家万户,大多数人都知道通过网络进行求职和招聘 1。利用现代化的网络技术管理人才求职、企业招聘信息,突破了时间和空间的限制,无论是对于个人求职、企业招聘都减少了人力、物力和财力的投入,提高了工作效率。在这种情形下,开发一套基于 B/S 结构的网络求职招聘系统是十分必要而且有意义的事情 。 网络招聘成为目前深受求职招聘者喜爱的一种便捷式求职
11、招聘形式,互联网技术给求职招聘者提供丰富的网络资源,为他们创造一种良好的求职 招聘平台,具备了人才中介机构的普遍功能。对求职者而言,网站给他们提供了快捷、方便的寻找工作岗位平台,对招聘单位而言,求职招聘网站给他们提供了寻找人才信息的平台。 1.2 课题主要研究意义 时代在发展,社会在不断进步,网络已经悄无声息的走入了人们的生活,网络生活给人们带来了许多方便,人们可以不用出门就了解到很多有用的信息,也可以通过网络来进行各种各样的日常工作和活动。 如今大家每天都要登陆网络,浏览各种网站,获取许多有用的信息。而招聘会的展开,需要准备很多东西,费时费力。因此开展一次招聘会是很不容易的,而且 时间间隔也
12、会很长湖北大学本科毕业论文 (设计 ) 2 通常只有在春季和秋季开展招聘会,而且耗时耗力,很不方便,而且有些求职者可能会因为各种因素导致他赶不上招聘会而导致招聘失败,这样对应聘者很不公平,没有机会施展自己的才能,在这样的因素下,导致了招聘求职信息网站如雨后春笋般出现在网络上,而且应用率极高,求职者可以放下时间地点等不可抗拒因素的限制,轻松自由的浏览各种自己感兴趣的职位,申请该职位的面试机会,而招聘求职信息网站也方便了企业进行招聘活动,补充了新鲜血液,更有利与企业用户更快的找到适合自己公司职位的人才,节省了许多人力物力,招聘求职信息网站 的建立,使公司的招聘变得简单,为公司发展带来了有利的意义。
13、 2 相关开发技术和工具综述 2.1 B/S 模式 B/S 结构( Browser/Server, 浏览器 /服务器 模式),是 WEB 兴起后的又一种网络结构模式, 在本机这边只需要有一个浏览器即可。这样客户端的模式就得到了统一,服务器解决系统功能实现的核心部分,这样就把客户端和服务器完全的分离开来。客户机上只要安装一个浏览器 ( Browser),如 Internet Explorer 或 Netscape Navigator, 服务器 安装 Sybase、或 SQL Server 等数据库。 浏览器 通过 Web 服务器同数据库进行数据交互。常用的 web 服务器有tomcat、 JBO
14、SS 等。 相对与 C/S 结构, B/S 最大的优点就是只要有一台能上网的电脑就能使用,这样就大大减少了时间和空间的使用。 客户端 不需要维护和安全,与传统的 C/S 结构相比在时间成本和空间成本都得到大大的降低。在服务器端的更新和功能扩展,客户端访问服务器即可。 B/S结构得到广泛的使用,同时在 B/S 结构上可以使用 AJAX 技术 (一种用于创建更好更快以及交互性更强的 Web 应用程序的技术),因此 AJAX 技术也得到了进一步的发展,可以实现异步加载,客户端的部分处理功能是其的最大特点,服务器端和客户端实现同步,交互性得到提高。 2.2 JSP 的优点及其对象的简介 2.2.1 J
15、SP 的优点 在 Web 应用开发中,可提供选择的动态页面语言技术有很多,如 PHP、 ASP、 JSP 等,在这些动态页面语言中, JSP 凭借其自身的优点成为开 发人员最喜欢的语言之一。 JSP 程序容易上手,如果有 HTML 和 Java 的基本知识,那么学习 JSP 程序就没有任何难度。在 Java领域,开源的项目越来越多,这些开源项目是全世界 Java 爱好者心血的结晶,在 JSP 程序中可以非常方便地使用这些开源工具。在开源项目的支持下, JSP 更是其他动态语言不能相比的。开发者从对 Java 的热爱延伸到对 JSP 的热爱,同时 JSP 也是 J2EE 体系中最重要,而且又是最
16、基础的一个组成部分,如果要体验 J2EE 带了的开发效率和优势, JSP 会是非常有效的入门方式。 JSP 编译器指引与指令元件有五种 型态 .在 JSP1.0 之后,大部分的 JSP 是包含在以作为结束的单一标签里 .新的 JSP1.1 规格已经发表了,它同时也与 XML 相容 。 五种 JSP 的编译器指引如下所示: 1.编译器指引 2.预定义 3.运算式 4.程序代码 5.注解 湖北大学本科毕业论文 (设计 ) 3 JSP 页面除了比普通 HTML 页面多一些 Java 代码外,两者具有基本相同的结构。 Java代码是通过符号加入到 HTML代码中间的,在这个字符串的前面和后面都是一些通
17、过 HTML代码输出的文本。 首先是 JSP 指令 ,标签为 。它描述的是页面的基本信息,如所使用的语言、是否维持会话状态、 是否使用缓冲等。 JSP 指令由结束。 JSP 页面中 JAVA 语言是唯一被支持的语言 。 接下来的是 JSP 声明 ,标签为 。 JSP 声明可以看成是定义类这一层次的变量和方法的地方。 JSP 声明由结束。位于之间的代码块是描述 JSP 页面处理逻辑的 Java代码。最后,位于之间的代码称为 JSP 表达式, JSP 表达式提供了一种将 JSP 生成的数值嵌入 HTML 页面的简单方法 。 JSP 程序要能正常执行,除了必须安装支撑 JSP 解释引擎的服务器软件外
18、,还需要 JDK来做最后程序编译的操作。当一个 JSP 程序在客户端被请求执行时, 服务器端会将 JSP 程序通过 JSP 引擎自动转化为相对应的 servlet,这 servlet 程序会被 JDK 的 JAVA 虚拟机编译成可执行文件,在服务器端执行,并将执行结果通过 servlet 返回给客户端。 JSP 程序的编译操作只会被执行一次,客户端访问相同的 JSP,之前被编译好的 servlet 再次被服务器端使用,这样 JSP 程序的执行效率变的更高。如图 1.1 所示,可以更清楚的了解 JSP 的执行与编译方式: 浏览器J s p 页 面产 生 s e r v l e t 源代 码经 编
19、 译 的s e r v l e t请 求响 应J D K产 生 s e r v l e t 执 行 文 件传 递 s e r v l e t 代 码图 2.1 JSP 编译与执行方式 2.2.2 JSP 的九大隐式对象简介 JSP 的 9 大隐式对象 ,为我们操纵数据提供了 极大的方便 。在同一页面之间的数据访问,不同页面之间的数据共享。 (1) request 对象: 通过对用户提交的信息进行封装 ,封装的信息 可以通过该对象的相应方法进行访问和获取 , 该对象实现 HttpServletRequest 的 接口 。 (2) response 对象: 当服务器端收到客户端的请求信息 , 该对
20、象对请求信息进行动态响应,并 客户端发送 响应 数据 ,该对象实现 HttpServletResponse 的 接口 。 (3) session 对象: session 对象 在第一个 JSP 页面被访问时由服务器自动创建 ,完成会话期管理。 客户访问页面,开启连接服务器, 客户关闭页面,断开服务器连接,这个过程称湖北大学本科毕业论文 (设计 ) 4 为会话。客户访问一个服务器时 , 服务器端必须知道这个用户是否是同一用户,这时就必须用到 session 对象。这样可以避免服务器向同一用户不停的发送信息,减轻服务器压力。当用户断开连接,重新连接服务器时,产生一个新的 session 对象。 (
21、4) application 对象: application 对象 相当于服务器中的一个全局变量 , 在同一个网站不同的页面之前的访问时, application 对象 所存取的信息都是相同的。在服务器关闭之前,所有的用户都共享这个 application 对象 。 (5) out 对象 :out 对象 用于在 JSP 页面输出,客户端获取服显示务器端返回的信息。 (6) Page 对象 :Page 对象 只存在于当前页面,在页面的关闭时, Page 对象 死亡。在当前页面可以调用关键字 this,实际上 Page 对象 是当前页面转换后的 Servlet 类实例。 (7) Config 对象
22、 :实现 ServletConfig 的 接口 , 该对象主要是对当前 JSP 页面信息进行配置 。常用的方法有 getInitParameter(String paramNarne) 及 getInitParameternarnes() 等方法。在程序开发当中, JSP 页面信息是默认的,一般不需要配置 。 (8) Exception 对象:实现 java.lang.Throwable 的 接口 ,只有当页面是错误处理页面,Exception 对象存储页面的错误和异常信息。当 page 的 isErrorPage 属性为 true 时,该对象才可以使用。常用的方法有 getMessage()
23、获取信息 和 printStackTrace()打印信息 等。 (9) pageContext 对象: javax.servlet.jsp.PageContext 的实例,该对象代表该 JSP 页面上下文,使用该对象可以访问页面中的共享数据。 常用的方法有 getServletContext()和getServletConfig()等。 2.3 Mysql 2.3.1 Mysql的优点 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在 2008年 1 月 16 号被 Sun 公司收购。而 2009 年 ,SUN 又被 Oracle 收购 .Mysql 已停止
24、更新和维护,前景不是很好 .目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。 Mysql 体积小,运行的速度很快,占用的资源小,维护的成本也很低。作为一个开源的数据库, Mysql 还是很有 市场地位。 2.3.2 Mysql的缺点 与其他的大型数据库例如 Oracle、 DB2、 SQL Server 等相比, MySQL 还是存在着不足,在百万级访问上面还是能力稍弱,功能也不完善。但是作为一款开源的数据库,其在市场上还是很受欢迎。对于中小规模的数据处理, MySQL 还是能够满足一定的市场需求。 2.4 MVC 模式 MVC 是 Model View Controll
25、er 的缩写 , 分别代表程序中的业务逻辑、视图显示、控制器。 一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业 务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑 MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 VC 开始是存在于 Desktop 程序中的, M 是指数据模型, V 是指用户界面, C 则是控制湖北大学本科毕业论文 (设计 ) 5 器, MVC 模式的使用主要是使数据层和用户界面相分开。控制器是用来控制数据层和用户界面层的同步。 模型表
26、示企业数据和业务规则。在 MVC 的三个部件中,模型拥有最多的处理任务。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码 的重复性。JavaBean 则负责数据的处理,也就是模型( Model 即 M)的角色。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 Web 页面中的超链接和发送 HTML 表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。 Servlet 用来处理请求的事务,充当控制器( Controller 即 C)的角色, Servlet 负责响应用户对业
27、务逻辑的请求并根据用户的请求行为,决定将哪个 JSP 页面发送给客户。 初始的请求由 Servlet 来处理, Servlet 调用商业逻辑和数据处理代码,并创建 Bean 来表示相应的结果(模型)。然后 Servlet 确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面( JSP 页面即为视图),由 Servlet 确定哪个业务逻辑适用,应该用哪个 JSP页面相应结果( Servlet 就是控制器)。 3 求职招聘系统的需求分析 本 招聘求职信息网站 分为 个人 用户、 企业用两 个角色, 个人 用户 和企业用户之间的关系相当密切 , 互相进行信息查询, 层层递进 的关系, 下面
28、就分别阐述一下每个用户的功能: (1) 个人 用户 注册 : 注册分为 个人用户注册和企业用户注册,在用户类型中选择用户类型,注册的信息分别存入两个数据表中,并且在注册界面有相关联的系统验证,其中包括用户名 、邮箱地址、密码、重复密码 。 更新详情 模块:本模块用于显示 已经 登陆 的 用户 的详细 信息,用户通过 这个 模块可以了解到自己已经 上传的个人基本 信息,并且 可以 通过 再次编辑进行更新个人基本信息,这样可以实时的修改自己的基本资料,方便快捷,灵活度很高 。 更新简历 模块: 本模块是用来更新自己的个人简历信息,可以上传自己的个人简历,而且没有格式限制,任何格式皆可 。 查看招聘
29、信息 模块:本模块 是对招聘 信息 进行查询 。在本模块你可以查看到最新的招聘信息,方便了用户了解企业动态,支持在线应聘 。 (2) 企业用户 企业用户 是本系统中 另一个比较重要的 用户, 该用户可以进行一系列的招聘活动,主要的功能有注册、新建招聘信息、使招聘信息过期、查看应聘人员、下载应聘人员简历等功能。 招聘信息 模块:本模块用于 新建招聘求职 信息,通过 此 模块可以将新的 招聘 信息添加到数据库中。 湖北大学本科毕业论文 (设计 ) 6 招聘信息模块:本模块用于把已经超出招聘时间的信息删除,从而满足企业对特定时间需要招聘的人员的需求 。 应聘人员模块:本模块用于把已经申请了本职位的人
30、员进行整理,存入数 据库中。 应聘者简历模块:本模块用于把申请本职位的人员简历自动导入到系统中去,并实时进行下载更新。 4 求职招聘系统的设计方案 根据上面所提出的需求分析,可以设计出相应的几个功能模块。下面具体设计本系统的解决方案。 4.1 求职招聘系统的系统流程 图 4.1 展示了该系统所有功能模块之间的逻辑关系。本系统主要由个人用户和企业用户组成。个人用户和企业用户实现实时同步,个人用户更新信息,企业用户查看应聘信息同步跟新,各个功能之间存在依赖关系。 图 4.1 系统功能模块关系图 4.2 求职招聘系统的数据库的设计 前 面已经详细分析了本系统所要的功能和系统流程,下面开始设计本系统的
31、数据库。 本招聘网站 系统 使用 MySQL 开源 数据库进行开发,通过对 实际功能需求的详细研究,对 表字段 、 主键 的 设置 、 数据字段 的 类型做了严格 细致 的分析, 决定将 每个类别的信息均 独自建立 一个表,这样设计减少了 数据库中 表由于字段过多 而导致过于 复杂,因而 得出了这套数据库建立方案 9。 用户的需求具体体现在 简历 的查询、更新、保存和删除,这就要求数据库结构能充分满足实际功能需求。收集基本数据、分析数据结构以及数据处理的流程,组成一份详尽的数据设计,为后面的具体软 件系统设计打下基础。 在仔细分析 求职招聘 系统需要的基础上,针对需求,设计如下所示的表: 湖北
32、大学本科毕业论文 (设计 ) 7 表 4.1 数据表 表名 功能说明 business 保存 行业信息 。 company 记录 公司 的信息。 education 求职者受教育的信息。 jobexpe 记录工作经验信息。 jobhunter 记录 应聘者信息。 Business 表记录行业信息, busId 记录行业的 ID 号,并且是唯一的。 busName 记录行业名称。 busIntro 记录行业简介。该表主要作用于用户查询工作信息时,提供行业信息查询。该表字 段如表 4.2: 表 4.2 business 信息表 表名 表 ( business) 列名 数据类型(精度范围) 空 /非
33、空 约束条件 busId int(11) 非空 PRIMARY KEY busName varchar(20) 非空 busIntro varchar(200) 非空 Company 表记录企业用户注册后,进行公司信息的存储。 comId 记录公司的 ID,由数据库自动生成。 comName 记录公司名称, comProperty 记录地址, comGuimo 记录规模,ccomFund 注册资金, comIntro 公司简介, comCity 公司所在城市,在 comRegist,jsp 页面获取注册信息。该表字段如表 4.3: 表 4.3company 信息表 表名 表 ( company) 列名 数据类型(精度范围) 空 /非空 约束条件 comId int(11) 非空 NOT NULL comName varchar(200) 非空 comProperty varchar(200) 非空 comGuimo int(200) comFund double comIntro varchar(200) comCity varchar(20) Education 表主要存储用户的学历,毕业院校,教育经历。在数据库中 ,eduId 由数据库自动生成, cjhName 默认有四条数据:小学,中学,大专,本科。字段如下表 4.4: