网上招聘系统的设计与实现.docx
《网上招聘系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《网上招聘系统的设计与实现.docx(54页珍藏版)》请在冰豆网上搜索。
![网上招聘系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/22/4f47fce2-7fa8-4d17-944b-e8a9c736d949/4f47fce2-7fa8-4d17-944b-e8a9c736d9491.gif)
网上招聘系统的设计与实现
调试分析25
需求分析
系统需求分析
用JSP及后台SQLSERVER2000数据库开发系统管理系统基于B/S模式,系统软件和数据集中存放于服务器中。
所有的工作基于浏览器,安装,使用,修改十分简单。
性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行。
系统处理的准确性和及时
性是系统的必要性能。
由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。
作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。
在系统开发
过程中,必须采用一定的方法保证系统的准确性和及时性。
对性能的规定
1)精度:
查询时应保证查询率,所有在相应域中包含查询关键字的
记录都应能查到,同时保证准确率。
2)时间特性要求:
一般操作的响应时间应在1-2秒。
3)适应性:
满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。
4)灵活性:
在需求发生变化时,本系统的对这些变化的适应能力相对而言是比较强的,包括操作方式的变化;运行环境的变化;同其他软件的接口的变化;精度和有效时限的变化。
技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面:
由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
运行可行性
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。
采用流行的JSP+SQLSERVER2000体系,已无技术上的问题。
功能需求分析
1.求职者的主要功能模块包括:
求职者注册与登陆,求职者信息的添加·修改和删除,查询招聘信息·投递简历
2.企业的主要功能模块包括:
企业注册与登陆,发布招聘信息,查看求职信息·发布录用信息
3.系统管理员的主要功能模块:
求职者信息管理,企业信息管理
4.求职招聘首页:
对的各个页面进行简单的介绍;
5.招聘岗位介绍:
对岗位进行介绍;
根据以上分析,网页为静态网页,大约为5个页面,采用DREAMWARE编辑网页,插入表格和图片即可。
1.1概述
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.5,最近版本为Java1.7。
Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。
本程序所使用的JavaSE(JavaPlatform,StandardEdition)。
JavaSE以前称为J2SE。
它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。
JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。
以下就给出这次课题设计的题目:
网上招聘系统。
1.2课题分析
本的主要目的就是让人才招聘网络化,使人才招聘变得更加容易,从而提高招聘人才的效率,降低招聘人才的成本。
人才招聘管理信息的建立主要分为四部分。
第一部分是人才招聘管理信息的主页面,包括个人求职登录、企业招聘登录、个人求职注册。
第二部分是企业招聘登录和企业信息修改,招聘企业登录功能包括修改企业基本的信息,发布企业招聘的信息,删除招聘信息,浏览求职者简历,发送短消息等。
第三部分是个人求职、注册个人登录以及个人信息修改,注册包括填写一些个人相关信息等。
个人登录后的页面包括修改个人基本信息,发布求职信息,删除求职信息,根据索引条件浏览相应多的职位,发送简历等。
具体的组成描述如下:
1.企业登录
企业登录包括企业登录、企业基本信息修改、发布招聘信息、修改招聘信息、发送短消息、退出企业招聘。
2.个人登录
个人登录包括求职信息查看、求职信息修改、发布求职者信息、密码修改和找回、浏览招聘职位、发送简历和短消息、退出个人求职。
3.管理员登录
管理员登录包括个人信息管理、单位信息管理、求职信息管理、招聘信息管理、退出求职系统。
1.3实现功能步骤
程序开始后会出现首页,要先进行注册,注册分企业注册和求职者注册,注册后企业可以发布招聘信息和修改企业信息,可以修改或删除招聘信息,求职者能发布求职信息和修改个人信息,可以修改和删除求职信息,求职者可以选择适当招聘信息投递简历,系统管理员的主要功能模块是求职者信息管理和企业信息管理。
1.4运行环境
系统软件:
WindowXP
语言选择:
JavaSE(JavaPlatform,StandardEdition)
工具软件:
MyEclipse8.x
二.概要设计
系统主要框架
人才招聘管理信息系统的建立主要包括两个方面:
个人求职和企业招聘。
以下给出这两个方面的关系图。
欢迎界面
用户注册
主页
用户登录
管理员登录
信息显示
企业
注册
个
人
注册
企业
登录
个
人
登录
发布求职信息
修改个人信息
删除个人信息
发布招聘信息
修改企业信息
删除招聘信息
个人信息管理
单位信息管理
招聘信息管理
求职信息管理
链接管理
系统主要框架
个人求职的模块图
个人求职中包括个人信息的填写、个人信息的发布和浏览相关职位等。
具体的模块图如图所示。
个人登录
发布求职信息
删除求职信息
修改个人信息
发送邮件
个人求职模块图
企业招聘模块图
企业招聘环节中包括企业基本信息填写、发布招聘信息和浏览求职者简历等。
具体模块图如图所示。
企业登录
发布招聘信息
删除招聘信息
修改企业信息
发送邮件
企业招聘模块图
主要数据库表
系统数据库设计了5个表,分别是个人求职信息表(tb_sjob)、企业信息表
(tb_company)、用户信息表(tb_student)、企业发布招聘信息表(tb_cjob)、管理员用户表(tb_admin)。
如表所示。
个人求职信息表(tb_sjob)
字段名称
字段类型
大小
说明
jobid
int
4
注册号
sname
varchar
20
注册名
specialty
varchar
50
专业
job
varchar
50
工作
emolument
varchar
50
工资
ptime
datetime
8
注册时间
atime
datetime
8
截至时间
other
varchar
200
其他
企业信息表(tb_company)
字段名称
字段类型
大小
说明
cname
varchar
20
注册名
password
varchar
50
密码
name
varchar
50
公司名
email
varchar
50
电子
tel
varchar
20
联系
manage
varchar
20
从事行业
address
varchar
100
地址
resume
ntext
16
企业简历
用户信息表(tb_student)
字段名称
字段类型
大小
说明
sname
varchar
20
用 户 名
password
varchar
50
密 码
name
varchar
20
真实
age
int
4
年 龄
sex
bit
1
性 别
birthday
datetime
8
出生日期
school
varchar
50
毕业学校
specialty
varchar
50
所学专业
knowledge
varchar
20
最高学历
email
varchar
50
电子
resume
ntext
16
个人简历
企业发布招聘信息表(tb_cjob)
字段名称
字段类型
大小
说明
jobid
int
4
ID
cname
varchar
20
用户名
specialty
varchar
50
所属行业
job
varchar
50
招聘职位
emolument
varchar
50
诚聘薪水
ptime
datetime
8
有效时间
atime
datetime
8
发布时间
other
varchar
200
其他说明
管理员用户表(tb_admin)
字段名称
字段类型
大小
说明
Id
int
4
ID
admin
varchar
50
管理员用户名
password
varchar
50
管理员密码
系统详细设计
一、首页设计
主要有的标题、用户和企业注册和登录的一些选择,本系统的首页做的比较简单明了。
用户可以在首页中根据自己的用户类型来选择自己的登录模式,如个人求职登录、企业招聘登录、系统管理员登录。
没有注册的用户可以先按自己的类型进行注册。
具体如图所示:
下面是主页中用户登录时需要连接数据库的核心代码:
publicclassConn{
privatestaticConnectioncon;
privateStatementstmt;
privateResultSetrs;
privatestaticfinalStringdrivername="sun.jdbc.odbc.JdbcOdbcDriver";
privatestaticfinalStringurl="jdbc:
odbc:
SQL";
求职者注册页面如图所示:
下面是求职者注册页面的成员变量:
privateStringsname;
privateStringpassword;
privateStringname;
privateintage;
privateintsex;
privateStringresume;
privateStringschool;
privateStringspecialty;
privateStringknowledge;
privateStringemail;
privateStringbirthday;
相关的类函数例如以下一个重要函数:
publicStringgetSname(){
returnsname;
}
publicvoidsetSname(Stringsname){
this.sname=sname;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicintgetSex(){
returnsex;
}
publicvoidsetSex(intsex){
this.sex=sex;
}
publicStringgetBirthday(){
returnbirthday;
}
publicvoidsetBirthday(Stringbirthday){
this.birthday=birthday;
}
publicStringgetSchool(){
returnschool;
}
publicvoidsetSchool(Stringschool){
this.school=school;
}
publicStringgetSpecialty(){
returnspecialty;
}
publicvoidsetSpecialty(Stringspecialty){
this.specialty=specialty;
}
publicStringgetKnowledge(){
returnknowledge;
}
publicvoidsetKnowledge(Stringknowledge){
this.knowledge=knowledge;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
publicStringgetResume(){
returnresume;
}
publicvoidsetResume(Stringresume){
this.resume=resume;
企业招聘注册的页面设计
企业招聘页面设计包括用户名,密码,密码确认,企业名称,联系,什么行业,企业地址和企业相关情况的介绍。
其中用户名,密码要求不能用特殊字符。
具体的如图所示:
企业注册管理界面的核心JAVA的类变量为:
publicclassCompany{
privateStringame;
privateStringpassword;
privateStringname;
privateStringemail;
privateStringtel;
privateStringmanage;
privateStringaddress;
个人发布求职信息页面设计
此页面主要的功能是通过浏览器左边的不同目录来选择功能,简单明了,利于操作。
其中包括基本信息管理,修改个人信息(包括求职信息的发布和删除功能),管理(发送求职信息)和求职信息管理(删除求职信息和增加求职信息)。
个人发布求职信息页面中点击修改基本信息时会连接到修改基本信息页面,这个功能的实现是调用了Student目录下的reg.jsp来完成的。
发布求职信息按钮是调用mreginfo.jsp来实现的。
删除求职信息按钮是调用djobinfo.jsp实现的。
具体的如图所示:
其中修改基本信息发布求职信息的界面如图所示:
该页面中包括了一些注册信息的修改。
例如真实、性别、出生日期、毕业学校、最高学历、所学专业、电子、个人简历等信息。
实现修改基本信息页面的核心代码是:
ShowErrorBoxshow=newShowErrorBox();
DealStringstr=newDealString();
StringstrUserName=(String)session.getAttribute("usercode");
if(JobSeeker.getStruename().equals("")||JobSeeker.getEmail().equals("")||JobSeeker.getBirthday().equals("")){
out.print(show.errorBox("请添写完整信息!
","错误信息"));
return;
}else{
DataBaseConndbc=newDataBaseConn();
try
{
java.sql.Statementst=dbc.getStmt();
Stringsql="UPDATEt_jobSeekerSETtrueName='"+JobSeeker.getStruename()+"',"+
"email='"+JobSeeker.getEmail()+"',"+
"age='"+JobSeeker.getAge()+"',"+
"sex='"+JobSeeker.getSex()+"',"+
"resume='"+JobSeeker.getResume()+"',"+
"knowledge='"+JobSeeker.getKnowledge()+"',"+
"school='"+JobSeeker.getSchool()+"',"+
"specialty='"+JobSeeker.getSpecialty()+"',"+
"birthday='"+JobSeeker.getBirthday()+"'"+
"WHEREausername='"+strUserName+"'";
out.print(sql);
st.executeUpdate(sql);
out.print("");
return;
}catch(Exceptione)
{
out.print(show.errorBox("修改失败,数据库错误!
","错误信息"));
}
其中发布求职信息界面如图所示,实现求职信息发布界面的核心代码为:
DataBaseOperationdata=newDataBaseOperation();
DealTimetime=newDealTime();
ShowErrorBoxshow=newShowErrorBox();
DealStringstr=newDealString();
intintT=0;
StringstrName=(String)session.getAttribute("usercode");
intT=data.insert("INSERTINTOt_applyJob(ausername,specialty,"+
"jobname,salary,ptime,atime,other)VALUES('"+strName+"','"+
str.toChinese(applyJob.getSpecialty())+"','"+
str.toChinese(applyJob.getJobName())+"','"+
str.toChinese(applyJob.getSalary())+"','"+time.getYMD()+"','"+
applyJob.getAtime()+"','"+str.toChinese(applyJob.getOther())+"')");
if(intT<=0){
out.print(show.errorBox("发布失败,你可能已经下线请新登录!
","错误信息"));
}else{out.print("");}
管理员页面设计
管理员页面设计主要包括有求职管理,招聘管理,其他。
其中求职管理还包括有求职者管理和求职广告管理。
招聘管理包括有招聘公司管理和招聘广告,如图所示:
管理员页面的核心功能包括求职管理、求职者广告管理、公司管理、招聘广告管理和退出该页面等功能。
其中具体的功能页面如下:
浏览职位管理的界面如图所示:
招聘企业登录界面设计
发布招聘信息管理
此页面属于招聘企业发布招聘信息的页面,功能是注册的企业可以在这里发布企业所需要的人才信息和多应聘人才的要求等。
具体的情况如图所示:
企业发布招聘信息界面的核心代码和个人发布求职信息界面的核心代码相似,所以这里就不在给出核心代码了。
管理
此界面的主要用途为招聘的企业给适合的应聘者者回复,并通知一些相关事宜。
此设计方便了招聘企业和应聘者之间的沟通。
其中包括有发信人的,同时为了方便给多个人同时一起发,还多设计了几个收件人的地址填写空。
大体上管理的界面和普通的界面设计相似。
具体的界面形式如图所示:
其中具体实现发送核心代码为:
DataBaseOperationdata=newDataBaseOperation();
ShowErrorBoxshow=newShowErrorBox();
DataBaseConncon=newDataBaseConn();
booleanblnError=true;
booleanisSent=false;
StringstrFrom=request.getParameter("sfrom");
Stringpass=request.getParameter("pass");
InternetAddress[]address=null;
StringstrMailserver="mail.sohu.";
String[]arrstrTo=request.getParameterValues("from");
StringstrSubject=request.getParameter("subject");
StringstrMessage=request.getParameter("message");
StringattachFile=request.getParameter("file");
Stringsmtpserver=request.getParameter("smtpserver");
if(arrstrTo.length>0){
intintI=0;
for(intI=0;intIif(!
arrstrTo[int