毕业论文JavaWeb项目招聘网站.docx
《毕业论文JavaWeb项目招聘网站.docx》由会员分享,可在线阅读,更多相关《毕业论文JavaWeb项目招聘网站.docx(42页珍藏版)》请在冰豆网上搜索。
毕业论文JavaWeb项目招聘网站
《JavaWeb开发》项目——网上招聘
毕业设计指导网提供
项目概要
Ø该招聘站点提供一个平台给用人单位和求职者,用人单位在站点上发布招聘信息,求职者可以通过网络查看自己感兴趣的工作。
Ø同时,求职者可以在招聘站点上注册自己的个人信息,用人单位可以检索与招聘职位要求符合的求职者。
并可以通过信件的形式通知符合招聘条件的求职者面试。
用人单位可以把诸多符合条件的求职者添加到收藏夹,作为人才储备。
Ø求职者可以把自己感兴趣的单位添加到个人的收藏夹,也可以向用人单位发送邮件。
Ø使用B/S结构
项目目标
Ø掌握JSP界面制作。
Ø掌握Servlet的使用。
Ø掌握会话跟踪技术的使用。
Ø掌握CSS和层在页面的运用
项目描述
项目分为单位、个人和公共三个模块:
Ø公共模块实现的功能:
◆站点在首页上以表格的形式显示当日最新8个用人单位招聘职位、最新的8个求职信息,以列表的形式显示最新6条招聘新闻和该新闻被点击的次数。
首页上还提供“更多”的超链接,点击这些超链接,在新窗口分别以分页的形式显示全部的招聘职位、个人求职信息和招聘新闻。
◆点击招聘单位的超链接,在新窗口显示该单位的详细介绍;点击招聘职位的超链接,在新窗口显示该职位的相关描述和要求;点击每个招聘新闻标题的超链接,在新窗口显示新闻的详细内容。
◆首页上提供按条件搜索的功能,用户可以搜索职位信息和求职信息,在新窗口以分页的方式显示搜索结果。
◆首页上提供注册和分类登录功能。
Ø个人模块实现功能:
◆个人求职用户可以登录到系统,第一次注册的用户可以新增个人基本资料、个人特长和工作经历、希望的工作和联系方式作为简历等信息。
◆已注册用户可以选择性的修改简历中的个人的求职信息。
◆“修改登录密码”超链接可以修改密码。
◆“全部职位列表”以表格的形式显示与个人求职意向匹配的职位信息,多条以分页的方式显示。
每条信息提供公司名称和职位名称超链接,用来在新窗口显示详细信息。
同时,提供“发信”和“添加到收夹”超链接。
◆“发信”功能向招聘单位发送求职信。
对于求职者感兴趣的职位,可以添加到收藏夹。
◆“我的收藏夹”以表格的形式招聘单位名称和职位,同时提供“发信”和“删除”超链接。
求职者可以给照片单位发送求职信,也可以删除收藏夹内容。
◆“我的信箱”以表格的形式显示发信单位、标题、回复和删除超链接。
并实现这些功能。
◆实现推出登录功能
Ø单位模块实现功能:
◆功能和个人模块差不多,单位用户可以登录到系统,第一次注册的单位用户可以新增单位的基本资料。
◆已注册的单位用户可以选择性的修改单位的基本信息。
◆“发布招聘信息”超链接用来发布职位信息。
◆“修改登录密码”超链接可以用来修改密码。
◆“全部人才列表”以表格的形式显示所有求职者信息,多条以分页的方式显示。
每条信息显示“姓名”超链接,用来在新窗口显示该求职者的详细信息。
同时,提供“发信”和“添加到收夹”超链接。
◆“发信”功能向求职者发送面试通知。
对于招聘单位感兴趣的求职者,可以添加到收藏夹。
◆“我的收藏夹”以表格的形式显示求职者的姓名、性别、学历、应聘职位。
姓名使用超链接,用来在新窗口显示该求职者的详细信息。
提供“发信”和“删除”超链接。
招聘单位可以给求职者发送面试通知,也可以删除收藏夹内容。
◆“我的信箱”以表格的形式显示发信单位、标题、回复和删除超链接。
并实现这些功能。
◆实现退出登录功能
项目实践
第一阶段:
阶段描述:
设计数据库:
整个系统包括8个表。
分别是招聘单位信息表、用户信息表、职位信息表、工作新闻表、个人邮箱表、个人收藏夹表、招聘单位信息表、招聘单位邮箱表、招聘单位收藏夹表。
如下:
◆招聘单位信息表(company)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
公司编号自动增长,主件
2
uname
varchar
20
F
公司登录名唯一约束约束
3
pwd
varchar
20
F
密码
4
trade
varchar
20
T
所属行业
5
ctype
varchar
50
T
企业类型,外资、民营等
6
area
varchar
50
T
省份或城市
7
fund
int
T
注册资金(百万为单位)
8
fdate
datetime
T
公司成立日期
9
address
varchar
200
T
公司所在地
10
zip
varchar
6
T
邮政编码
11
pname
varchar
10
T
联系人姓名
12
phone
varchar
20
T
联系电话
13
fax
varchar
20
T
传真
14
email
varchar
50
T
电子邮件
15
http
varchar
50
T
公司网站地址
16
summary
varchar
1000
T
公司简介
17
click
int
T
点击数
◆招聘职位信息表(job)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
职位编号,自动增长,主键
2
jobname
varchar
50
F
职位名称
3
idate
datetime
T
F
职位发布日期
4
number
int
T
职位需求数量
5
location
varchar
50
T
工作地点
6
description
varchar
200
T
职位描述
7
requirement
varchar
200
T
职位要求
8
cid
int
T
公司的ID,外键
◆个人求职信息表(person)
序号
字段
类型
大小
允许空
字段说明
1
uname
varchar
20
F
个人登录名称,主键
2
pwd
varchar
20
T
密码
3
iname
varchar
20
T
真实姓名
4
code
varchar
18
T
身份证号码
5
mzhu
varchar
20
T
民族
6
marry
varchar
10
T
婚姻状况
7
politics
varchar
20
T
政治面貌
8
zchen
varchar
20
T
职称
9
birthday
datetime
T
生日
10
sex
varchar
10
T
性别
11
householder
varchar
50
T
户口所在地
12
edu
varchar
20
T
学历
13
school
varchar
20
T
毕业学校
14
major
varchar
20
T
专业
15
language
varchar
50
T
语言
16
lanlevel
varchar
10
T
语言级别
17
mandarin
varchar
20
T
普通话程度
18
computer
varchar
20
T
计算机能力
19
other
varchar
50
T
其他
20
workyears
int
T
工作年限
21
experience
varchar
2000
T
工作经验
22
jobtype
varchar
50
T
职位类型
23
job
varchar
200
T
职位
24
location
varchar
20
T
工作地点
25
salary
float
T
薪水要求
26
special
varchar
100
T
特长
27
cname
varchar
20
T
联系人
28
phone
varchar
50
T
电话
29
cellphone
varchar
50
T
手机号码
30
email
varchar
50
T
电子邮件
31
qq
varchar
20
T
电子邮件
32
addreess
varchar
100
T
家庭住址
33
http
varchar
50
T
个人主页
34
click
int
T
简历被阅览次数
35
idate
datetime
T
登录日期
◆招聘单位邮箱表(cmailbox)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
邮件编号自动增长,主键
2
reid
varchar
20
F
公司登录名,外键引用company(uname)
3
senduid
varchar
20
F
个人登录名,外键引用person(uname)
4
sendname
varchar
20
F
发件人姓名
5
title
varchar
50
T
邮件标题
6
mailtext
varchar
8000
T
邮件正文
7
sdate
datetime
T
邮件日期
8
newmail
int
T
是否是新邮件
◆招聘单位收藏夹表(cfavorite)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
编号自动增长,主键
2
uname
varchar
20
F
公司登录名,外键引用company(uname)
3
fuid
varchar
20
F
个人登录名,外键引用person(uname)
◆求职者邮箱表(pmailbox)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
邮件编号自动增长,主键
2
reid
varchar
20
F
个人登录名,外键引用person(uname)
3
senduid
varchar
20
F
公司登录名,外键引用company(uname)
4
sendname
varchar
20
F
发件人姓名
5
title
varchar
50
T
邮件标题
6
mailtext
varchar
8000
T
邮件正文
7
sdate
datetime
T
邮件日期
8
newmail
int
T
是否是新邮件
◆求职个人收藏夹表(pfavorite)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
编号自动增长,主键
2
uname
varchar
20
F
个人登录名,外键引用person(uname)
3
fuid
varchar
20
F
公司登录名,外键引用company(uname)
◆招聘新闻表(jobnews)
序号
字段
类型
大小
允许空
字段说明
1
id
int
F
新闻编号自动增长,主键
2
title
varchar
200
T
招聘新闻标题
3
text
varchar
8000
T
新闻内容
4
click
int
T
新闻点击数
5
idate
datetime
T
新闻发布时间
要点分析:
1.根据相应的信息设计合理的表字段的数据类型。
2.建立表之间的关系。
第二阶段:
阶段描述:
使用三层结构的方式创建数据库访问对象:
◆建立数据库操作的支持类DBHelper.java、DBCommand.java和属性文件jdbcInfo.properties。
◆分别为8个表建立对应的DTO。
◆分别为8个表建立数据操作对象DAO。
◆分别为上面定义的业务建立业务接口及相应的业务实现类。
要点分析:
1.DAO部分需要实现对数据库表的增删改查。
2.定义业务接口以及业务接口中的方法。
3.要在业务实现类中,使用不同的DAO来操作数据库从而实现具体的业务。
参考代码:
JobDTO代码:
packagebean;
publicclassJob{
privateIntegerid;
privateStringjobname;
privateStringidate;
privateIntegernumber;
privateStringlocation;
privateStringdecription;
privateStringrequirement;
privateIntegercid;
publicStringgetJobname(){
returnjobname;
}
publicvoidsetJobname(Stringjobname){
this.jobname=jobname;
}
publicStringgetIdate(){
returnidate;
}
publicvoidsetIdate(Stringidate){
this.idate=idate;
}
publicIntegergetNumber(){
returnnumber;
}
publicvoidsetNumber(Integernumber){
this.number=number;
}
publicStringgetLocation(){
returnlocation;
}
publicvoidsetLocation(Stringlocation){
this.location=location;
}
publicStringgetDecription(){
returndecription;
}
publicvoidsetDecription(Stringdecription){
this.decription=decription;
}
publicStringgetRequirement(){
returnrequirement;
}
publicvoidsetRequirement(Stringrequirement){
this.requirement=requirement;
}
publicIntegergetId(){
returnid;
}
publicvoidsetId(Integerid){
this.id=id;
}
publicIntegergetCid(){
returncid;
}
publicvoidsetCid(Integercid){
this.cid=cid;
}
}
JobDAO的代码如下:
packagedao;
importjava.util.List;
importbean.Job;
publicabstractclassJobDAOextendsBaseDAO{
publicabstractListgetAllJobs();
publicabstractJobgetJobByID(Integerid);
publicabstractintupdateJob(Jobjob);
publicabstractintinsertJob(Jobjob);
publicabstractintdeleteJobByID(Integerid);
}
JobDAOImpl的代码如下:
packagedao;
importjava.util.List;
importjava.sql.*;
importjava.util.*;
importsupport.*;
importbean.Job;
publicclassJobDAOImplextendsJobDAO{
privatePreparedStatementpstm;
publicJobgetJobByID(Integerid){
Jobjob=null;
try{
pstm=this.getConn()
.prepareStatement("select*fromjobwhereid=?
");
Map
paramsMap.put("id",id.intValue());
List
if(jobList.size()!
=0){
job=newJob();
Maprow=jobList.get(0);
job.setId(newInteger(row.get("id").toString()));
job.setJobname(row.get("jobname").toString());
job.setIdate(row.get("idate").toString());
job.setNumber(newInteger(row.get("number").toString()));
job.setLocation(row.get("location").toString());
job.setDecription(row.get("decription").toString());
job.setRequirement(row.get("requirement").toString());
job.setCid(newInteger(row.get("cid").toString()));
}
}catch(Exceptione){
e.printStackTrace();
}
returnjob;
}
@Override
publicintdeleteJobByID(Integerid){
……
return0;
}
@Override
publicListgetAllJobs(){
……
returnnull;
}
@Override
publicintinsertJob(Jobjob){
……
return0;
}
@Override
publicintupdateJob(Jobjob){
……
return0;
}
}
JobService的代码如下:
packageservice;
importjava.util.List;
importbean.Job;
publicinterfaceJobService{
publicListgetAllJobs();
publicJobgetJobByID(Integerid);
publicbooleanupdateJob(Jobjob);
publicbooleaninsertJob(Jobjob);
publicbooleandeleteJobByID(Integerid);
}
JobServiceImpl的代码如下:
packageservice;
importjava.util.List;
importbean.Job;
importdao.*;
importsupport.*;
publicclassJobServiceImplimplementsJobService{
privateJobDAOdao=newJobDAOImpl();
publicJobgetJobByID(Integerid){
dao.setConn(DBHelper.getConn());
Jobjob=null;
try{
job=dao.getJobByID(id);
}catch(RuntimeExceptione){
e.printStackTrace();
}finally{
DBHelper.closeConn();
}
returnjob;
}
publicbooleandeleteJobByID(Integerid){
……
returnfalse;
}
publicListgetAllJobs(){
……
returnnull;
}
publicbooleaninsertJob(Jobjob){
……
returnfalse;
}
publicbooleanupdateJob(Jobjob){
……
returnfalse;
}
}
第三阶段:
阶段描述:
◆建立站点的公共模块,创建站点主界面,主要完成招聘职位、求职信息和招聘新闻的展示功能。
“公司名称”、“招聘职位”、“姓名”和“招聘新闻标题”提供超链接。
◆招聘职位、求职信息和新闻资讯的“更多”提供超链接。
◆实现按条件搜索的功能,在新窗口以分页的方式显示搜索结果。
◆实现用户登录和注册的功能。
◆显示站内的统计功能:
招聘信息、求职简历、注册用户和站内信件。
主界面如下图所示:
图1-1
点击每个“公司名称”超链接,则在新窗口显示该公司的详细信息,如图1-2所示,点击“关闭窗口”则关闭该窗口。
图1-2
点击每个职位的超链接,则在新窗口显示该职位的详细信息,并显示该职位被浏览的次数,如图1-3所示,点击“关闭窗口”,则关闭该窗口。
图1-3
点击每个“姓名”的超链接,则显示个人求职的详细信息,如图1-4所示:
图1-4
点击每个“新闻标题”,则在新窗口显示该条新闻的详细内容,如图1-5所示:
图1-5
点击招聘职位的“更多”超链接,则在新窗口以表格的形式显示所有的最新招聘职位,多行以分页的形式显示。
公司名称和招聘职位仍然使用超链接,点击则在本页面里显示相关的详细信息。
如图1-6所示:
图1-6
点击求职信息的“更多”超链接,则在新窗口以表格的形式显示所有的个人求职信息,多行以分页的形式显示。
如图1-7所示,“姓名”仍然使用超链