JSP求职网的设计与实现.docx
- 文档编号:6440133
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:27
- 大小:84.12KB
JSP求职网的设计与实现.docx
《JSP求职网的设计与实现.docx》由会员分享,可在线阅读,更多相关《JSP求职网的设计与实现.docx(27页珍藏版)》请在冰豆网上搜索。
JSP求职网的设计与实现
求职网的设计与实现
摘要
现如今传统的求职方式越来越不能满足当今企业和求职者的需要。
随着Internet的发展,网络上兴起了很多求职网站。
求职网站的出现,给求职者和招聘单位带来了很大的方便,但目前针对我们在校大学生、应聘毕业的求职网站很少,并且现有的这些针对在校大学生的求职网都是以营利为目的,很多得不到大学生的信任。
为了给在校大学生和招聘单位提供一个良好的求职、招聘的平台,本课题拟实现一个求职网。
本系统有利于企业利用网站快速的发布招聘信息,浏览更多求职者的信息找到自己所需要的人才;求职者能够在求职网上创建个人简历、职位浏览、申请、职位搜索;为保证招聘企业的合法性,企业相关证件要通过管理员的检查后才能成为合法的企业用户,本系统采用jsp+SQLserver2000实现。
关键词:
求职网;jsp;SQLserver2000
DesignAndimplementationofonlinejobwebsite
Abstract
Now,thetraditionalwayofjobhuntingcouldn’tmeettheneedsofcompanyandapplicants.WiththedevelopmentofInternet,theonlinejobwebsiteshavebeenappeared.Theonlinejobwebsitestakeconvenienceforapplicantsandcompanies.Butcurrentwebsiteshavedisadvantages.Inspecial,fewwebsitesareopenedtotheuniversitystudentsandthepresentgraduatingstudents.Andalmostofthemonlywanttogetmorebenefitsthanservices.
Thesystemisagoodplatformforcompanytopromulgatetheinformationofemploy,tohuntwhattheyneed,andforapplicantstocreatepersonalresume,tobrowseposition,toapplyposition,tosearchpositionandsoon.
Keywords:
OnlineJobWebsite;Jsp;SQLserver2000
目录
论文总页数:
26页
1引言1
1.1课题背景1
1.2国内外研究现状1
1.3本课题研究意义1
2相关知识介绍1
2.1JSP的优势1
2.2JSP的特点1
2.3SQL语言介绍2
2.4Dreamweaver简介4
3系统设计4
3.1系统需求4
3.2功能模块划分5
3.3主要流程5
3.4数据库设计5
4系统实现8
4.1用户登录8
4.2个人用户功能实现10
4.3企业用户功能实现14
4.4管理员功能实现15
5系统使用环境配置说明17
5.1开发环境17
5.2环境变量设置17
结论18
参考文献18
附录19
致谢25
声明26
1引言
1.1课题背景
在Internet飞速发展的今天,电子数字计算机是20世纪重大科技发明之一,而如今联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。
Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。
因此网站建设在Internet应用上的地位显而易见,它已成为机关、学校、企事业单位、甚至进入寻常百姓家的信息化建设中的重要组成部分,从而倍受人们重视。
而现如今我国国内的招聘市场很不成熟,在校大学生找兼职都得花钱,甚至更多的是上当受骗,而现有的几大招聘网站很少为在校大学生提供免费的找兼职服务。
因此,为满足当代大学生的需求,为他们提供更多更好的在社会实践的机会,为应届毕业生提更多的就业信息,为企业提供高效快捷的招聘信息发布和对求职者信息的查看建设了求职网。
1.2国内外研究现状
国外最大WEB2.0网站把自己原有的赢利模式互联网广告拓展到针对青年人群的招聘服务。
而我国现目前也有很多求职招聘网站建立起来了如:
51job、英才网等。
我国现有的这些招聘网站主要是以赢利为目的,没有怎么为在校大学生、应届毕业生提供更多更好更全面的兼职、实习信息。
因此,在国内外都以赢利为目的时,我们要推出以服务为目的的求职网站。
1.3本课题研究意义
为在校大学生特别是贫困生提供更多的免费兼职,给他们提供更多机会进入社会体验生活,减轻父母的压力。
为更多的应届毕业生提供就业实习的机会,让自己的价值得到充分的体现。
为所有的求职者和企业单位搭建一个桥梁。
解决现在大学生上当受骗的社会问题,解决公司找人难的问题。
2相关知识介绍
2.1JSP的优势
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是JSP,JavaServerPage。
JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
2.2JSP的特点
JSP的技术特点:
(1)将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来产生页面上的动态内容。
产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。
如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。
在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:
JavaBeans或者EnterpriseJavaBeans)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。
JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。
标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。
随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
2.3SQL语言介绍
SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。
SQL通常使用于数据库的通讯。
ANSI(美国国家标准学会)声称,SQL是关系数据管理系统的标准语言。
SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。
使用SQL的常见关系数据库管理系统有:
ORACLE、SYBASE、MICOSOFTSQLSERVER、ACCESS、INGRESS等等。
虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们系统。
但是标准的SQL命令,比如:
“SELECT”、“INSERT”、“UPDATE”、“DELETE”、“CREATE”和“DROP”常常被用于完成绝大多数数据库的操作。
MSSQLSERVER就是用的TRANSACT-SQL。
SQL语言有着非常突出的优点,主要是:
非过程化语言、统一的语言、是所有关系数据库的公共语言
非过程化语言:
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。
SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。
SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部份,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从来不需要知道表是否有索引、有什么类型的索引。
统一的语言:
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。
SQL为许多任务提供了命令,其中包括:
(1)查询数据
(2)在表中插入、修改和删除记录
(3)建立、修改和删除数据对象
(4)控制对数据和数据对象的存取
(5)保证数据一致性和完整性
以前的数据管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
所有关系数据库的公共语言:
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。
SQL功能强大,是一种完备的数据处理语言,不仅用于数库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:
DML(DATAMANIPULATIONLANGUAGE,数据操作语言):
用于检索或者修改数据;
DDL(DATADEFINITIONLANGUAGE,数据定义语言):
用于定义数据的结构,比如创建、修改或者删除数据库对象;
DCL(DATACONTROLLANGUAGE,数据控制语言):
用于定义数据库用户的权限;
DML组可以分为以下的几个语名:
SELECT:
用于检索数据;INSERT:
用于增加数据到数据库;UPDATE:
用于从数据库中修改现存的数据;DELETE:
用于从数据库删除数据。
DDL语句可以用于创建用户和重建数据库对象。
下面是DDL命令:
CREATETABLE,ALTERTABLE,DROPTABLE,CREATEINDEX,DROPINDEX
注意:
MICROSOFTSQLSERVER2000(以下简写为SERVER2000)是功能强大的关系型数据库管理系统(RELATIONALDATABASEMANAGEMENTSYSTEM简称RDBMS)之一,越来越多的专业人士选择SERVER2000开发数据库管理程序。
SERVER2000是用来建立和管理数据库的引擎。
它的作用和我们熟悉的桌面型数据库管理系统FOXBASE、VISUALFOXPRO一样,但在存储大容量数据方面、在数据的安全性和完整性方面、在分布式处理和具有高效的机制等方面,像FOXPRO等桌面型数据库管理系统是不能实现的。
也就是说,SQLSERVER不仅可以实现个人数据库的管理,更适合企业级的数据库应用。
2.4Dreamweaver简介
Dreamweaver是由美国著名的软件开发商Macromedia公司推出的一个“所见即所得”的可视化网站开发工具。
无论在国外还是在国内,它都是倍受专业Web开发人士推崇的软件。
在国内,它被大家称为网页“织梦者”,众多的专业网站和个人主页都把它列为建站的首选工具。
在最新的MX版本中,对Dreamweaver的代码控制和后台功能作了进一步增强,整合了UltraDev,ColdFusionStudio,Homesite等优秀软件,使得新版本的Dreamweaver比起原有的版本,功能得到了一个飞跃的发展。
3系统设计
3.1系统需求
互联网的发展给人们的日常生活带来了很大的变化,越来越多了人通过互联网在足不出户的情况下方便、快捷的获取到自己所需要的信息;通过互联网我们的商家、企业、政府可以很方便的、及时的发布自己的信息。
利用互联网我们可以为求职者、招聘企业单位提供一个双向选择的平台,大大简化过去传统的求职方式,提高企业单位的工作效率,给求职者提供一个更大更好的求职环境。
求职网就是在互联网的发展下、求职者和企业单位的需求下建立起来的。
3.2功能模块划分
根据对求职者和招聘单位的分析,按照系统开发的基本观点对网站进行分解,对网站做如下划分:
个人用户:
注册、登录、简历创建、职位搜索、职位浏览及申请、应聘记录、注销
企业用户:
注册、营业执照上传、登录、招聘职位发布、浏览简历、求职者应聘记录
管理员:
企业注册信息审查、传信息审查、修改标记。
3.3主要流程
根据软件工程的思想,以传统的瀑布模型为基础,确定以下的流程。
如下图:
图1流程图
3.4数据库设计
采用的数据库是SQLSERVER2000,建立candylau数据库,其中几个重要的表如下:
puser存放个人用户注册信息表:
表1puser表的字段
字段名
字段说明
Pusername
个人用户名称
Ppassword
密码
Realname
真实姓名
Phone
电话号码
电子邮件地址
Regtime
注册时间
cid
身份证号
cuser存放企业用户注册信息表:
表2cuser表字段说明
字段名
字段说明
Num
自动增加的序号
Cusername
企业用户的用户名
Cpassword
密码
Company
公司名称
Phone
联系电话
Lxman
联系人
公司邮件地址
Detail
公司介绍
Judge
判断公司是否通过了验证,默认值是false
当个人用户创建起自己的简历名称时就把简历名和身份证号同时存入表presname、presume1、peducation、phope、pstrong、pstrain、pword、pecertification、planguage其中presume1简历基本信息存放表,peducation教育经历存放表,phope个人意愿,pstrong个人特长,pstrain培训经历,pwork工作经历,pcertification证书,planguage语言。
这样做的主要目的是使每个用户的简历名不能重复,在对数据进行查找时同时把简历名和身份证号作为条件,使数据和用户之间实现一一对应。
其中主要的presname、presume1的字段定义及说明如下表3、表4:
表3presnaeme表字段说明
字段名
字段说明
cid
身份证号
Resumename
简历名称
表4presume1表字段说明
字段名
字段说明
Num
自动编号
Realname
真实姓名
Sex
性别
Diploma
学历
Resumename
简历明称
cid
身份证号
Hkadr
户口所在地地址
Rphone
手机号吗
邮箱地址
Datatime
出生日期
Lxadr
联系地址
Ybnum
邮政编码
当个人用户申请了某个公司所发布的职位后会向表record、crecord表存入相同的信息,record名为“个人应聘记录”crecord名为“企业所查看求职记录”表的字段定义如下表5:
表5record、crecord表字段说明
字段名
字段说明
Num
自动编号
Pusername
个人用户名
cid
身份证号
Company
公司名称
Ypzw
应聘的职位名称
Jlname
所投放简历的名称
zpxx招聘信息,用于存放公司所发布的招聘信息:
字段名
字段说明
Num
自动编号
Cusername
企业用户名
Company
公司名称
zwm
招聘职位名称
zprs
招聘人数
gzjy
工作经验要求
Gzadr
工作地址
yqs
应聘要求
fbtime
发布时间
zptime
招聘时间
gxxz
职位类型
表6zpxx表字段说明
以上是几个重要表的介绍方便读者对后面的更易理解。
4系统实现
4.1用户登录
求职网设置了三种类型用户:
个人用户、企业用户、管理员。
不同的用户有不同的权限。
这些判断都是在后台里进行判断的没有相应的界面。
1.用户从首页index.jsp的登录框登录,用户提交登录后进入index1.jsp界页进行用户类型判断如果是个人用户进入login.jsp界页进行用户名和密码的判断,如果为企业用户则进入login1.jsp界页进行相应的判断,如果登录名是admin,密码是admin1234就直接进入管理员页面。
个人用户登录成功进入person/pindex.jsp页面,企业用户进入company/cindex1.jsp页面。
2.核心代码如下:
StringstrRadiobutton=request.getParameter("radiobutton").trim();
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
Request.getParameter(“name”)获得属性为name的值。
username.equals("admin")&&password.equals("admin1234")判断管理员用户,
strRadiobutton.equals("2")判断企业用户,如果不是管理员又不是企业用户,else则为个人用户。
用户名和密码判断:
ResultSetres=stmt.executeQuery("select*frompuser(cuser)wherepusermane='"+username+"'andppassword='"+password+"'");在puser(cuser)表里查找出一行用户名为username并且密码为password,如果res.next()存在说明用户名和密码是对的,就进入相应的界面。
session.putValue("regid",id);session.putValue("logname",username);
session.putValue("loginSign","OK");
其中regid,logname,loginSign都是传递变量的名称,id,username是变量名,用双引号括起来的OK是值。
Session是一次会话只要浏览器不关闭就不会关闭会话一般默认保存30分钟,在别一个页面获得session对话所传递的值的方法:
(String)session.getValue(“”)(括号里为前面所传递的变量名)如要获得session.putValue(“regid”,id)所传递的id的值的方法:
Stringid=(String)session.getValue(“regid”)。
本页面中运用session是为了在以后的业面里判断用户的用户名和是否登录等。
数据库连接语句
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();Stringurl="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=candylau";
Stringuser="sa";
Stringpassword="sa";
Connectionconn=DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Class.forName(“”)是显示加载com.microsoft.jdbc.sqlserver.SQLServerDriver类,调用newInstance()产生这个类的实例。
url数据源的名称,user用户名,password密码,Connection是建立数据库的连接。
Conn.createStatement用Connection接口创建一个Statement实例执行需要的查询。
ResultSet.TYPE_SCROLL_SENSITIVE:
该常数的作用是指定数据库游标可以在记录集中前后移动,并且当数据库用户获取的记录集对其他用户的操作敏感,就是说,当前用户正在浏览记录集中,但是其他用户的操作使数据库中的数据发生了变化,当前用户所获取的记录集中的数据也会同步发生变化(这样有可能会导致非常严重的错误发生,建议慎重使用该常数)。
ResultSet.CONCUR_UPDATABLE:
该常数的作用是指定当前记录集的操作方式(concurrencymode)为可能更新,一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记录集中的数据。
数据库的连接至关重要,在网站的建设中很多页面的数据都要和数据库进行交互。
3.登录成功的界面
个人用户成功进入personal/pindex.jsp界面如下图:
图2个人用户成功登录后的界面
企业用户成功进入company/cindex1.jsp界面如下图:
图3企业用户成功登录后的界面
4.2个人用户功能实现
根据图2我们可以看出个人用户的功能模块有:
个人中心(创建简历名)、个人资料(修改密码)、我的简历、投递记录(职位搜索、职位申请)、我要退出。
(1)个人中心代码的实现
Stringregid=(String)session.getValue("regid");
Stringusername=(String)session.getValue
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 求职 设计 实现