基于JAVA技术的网上招聘系统的设计与实现.docx
《基于JAVA技术的网上招聘系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JAVA技术的网上招聘系统的设计与实现.docx(61页珍藏版)》请在冰豆网上搜索。
基于JAVA技术的网上招聘系统的设计与实现
基于JAVA技术的网上招聘系统的设计与实现
日期
2010-4-12
网上招聘系统
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
摘要:
信息管理是一项古老的活动,但管理方式却没有停止过变化,从手工记录到计算机存储,从平面文件到关系型数据库;从单机单用户数据库访问模式到客户/服务器模式,从客户/服务器模式到浏览器/服务器...信息管理的技术越来越先进、科学和客观。
同时,可管理的信息容量也越来越大,更适应信息膨胀时代的要求。
网上人才招聘系统(MIS)是一个具有交互功能的人才信息管理系统,其开发主要包括后台数据库的建立和维护以及前台程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
因此本人结合网站数据库开发的要求,对MySQL5.0数据库管理系统、SQL语言原理、JSP应用程序设计等进行了较深入的学习和应用,主要完成对网上信息管理系统的功能需求分析、功能模块划分、数据库设计,并由此设计了数据库结构和应用程序。
根据需求,本系统设计实现分为:
第一、概要性地介绍了本系统开发的目的、系统开发的背景等,第二、对该系统设进行设计分析,对系统功能分析以及模块划分定义,第三、系统数据库的设计,第四、根据第二部分对系统功能分析以及功能模块的划分,对个功能模块进行分析实现,并列出了一些程序代码以说明该系统应用程序设计中所采用的技术。
2.4数据库的实现……………………………………………………………………..12
2.5数据库注意事项……………………………………………………………….16
2.6角色定义…………………………………………………………………………….17
3.5性能…………………………………………………………………………………35
3.7数据库设计…………………………………………………………………………….36
3.6界面设计……………………………………………………………………………..36
5致谢……………………………………………………………………………………………49
1.1背景
网上招聘系统为应聘者提供了方便、快捷的应聘途径。
对招聘单位来说,招聘网站也为他们提供了查询、检索应聘者信息库的条件,使招聘工作中的人员初选工作变得轻松易行。
此系统的开发为应聘者及招聘公司带来了很大的方便和经济,使他们足不出户就可以轻轻松松地完成求职和招聘工作。
1.2开发工具与环境介绍
开发环境:
MyEclipse6.0+Tomcat6.0+JDK1.6+MySQL5.0+Dreamweaver8
硬件环境:
windowsXP
简单介绍以下:
MyEclipse作为开发工具,Tomcat作为服务器,MySQL作为数据库,
Dreamweaver作为界面设计工具,站点建立在项目的webRoot目录。
1.3系统术语定义
javascript
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。
于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
Servlet:
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
EJB:
Enterprise Javabean 企业级的javabean
XML:
XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。
Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
HTML
HTML(HyperTextMark-upLanguage)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
J2EE:
J2EEJava2平台企业版(Java2Platform,EnterpriseEdition)
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2SE:
JAVA标准版
MVC:
MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。
使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
比如一批统计数据你可以分别用柱状图、饼图来表示。
C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。
模型-视图-控制器(MVC)是XeroxPARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。
模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
Swing:
java图形化开发技术
MySQL
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
1.4JSP技术简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:
HTML+Java=JSP。
AnExpressionLanguage(EL)
允许开发者创建Velocity-样式templates(amongotherthings).更快更简单的创建新标签的方法。
Hello,${param.visitor}<%--sameas:
Hello,<%=request.getParameter("visitor")%>--%>
MVC模式
为了把表现层presentation从请求处理requestprocessing和数据存储datastorage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。
规范的SERVLET或者分离的JSP文件用于处理请求。
当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。
有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Springframework)。
JSP技术的强势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
JSP
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
1.1JSP技术的弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。
从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
1.2JSP内置对象:
一.request对象:
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
JSP
下面介绍request的常用方法:
1,getParameter();使用如下Stringstr=request.getParameter();2,setAttribute();和getAttribute();removeAttribute();getMethod();getProtocol();getReqeustURI();getRemoteAddr();getServerPort();hegetServerName();
二.response对象:
对客户的请求做出动态的响应,向客户端发送数据。
三.session对象
1.什么是session:
session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
2.session对象的ID:
当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。
当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。
当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。
3.session对象存在一定时间过期问题,所以存在session中的名值对会在一定时间后失去,可以通过更改session有效时间来避免这种情况。
同时编程时尽量避免将大量有效信息存储在session中,request是一个不错的替代对象。
四.application对象
1.什么是application:
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。
但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
2.application对象常用方法:
(1)publicvoidsetAttribute(Stringkey,Objectobj):
将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。
(2)publicObjectgetAttribute(Stringkey):
获取application对象中含有关键字的对象。
五.out对象
out对象是一个输出流,用来向客户端输出数据。
out对象用于各种数据的输出。
六.pagejava.lang.Object
对应this关键字。
JSP网页本身,page对象是当前页面转换后的Servlet类的实例。
从转换后的Servlet类的代码中,可以看到这种关系:
Objectpage=this;在JSP页面中,很少使用page对象。
七.config
javax.servlet.ServletConfig的实例,该实例代表该JSP的配置信息。
常用的方法有getInitParameter(StringparamNarne)及getInitParameternarnes()等方法。
事实上,JSP页面通常无须配置,也就不存在配置信息。
因此,该对象更多地在Servlet中有效。
八.exception
java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。
只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,该对象才可以使用。
常用的方法有getMessage()和printStackTrace()等。
九.pageContext
javax.servlet.jsp.PageContext的实例,该对象代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。
常用的方法有getServletContext()和getServletConfig()等。
pageContext.setAttribute("page","hello");
request.setAttribute("request","hello");
pageContext.setAttribute("request2","hello",pageContext.REQUEST_SCOPE);
session.setAttribute("session","hello");
pageContext.setAttribute("session2","hello",pageContext.SESSION_SCOPE);
application.setAttribute("app","hello");
pageContext.setAttribute("app2","hello",pageContext.APPL工CATION_SCOPE);
JSP的技术方法
为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。
1.将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。
由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使