基于JavaWeb的网上招聘系统的设计与实现
分享一波项目~~“基于Web的小型企业招聘系统开发“。
该项目是基于“SpringMvc+Spring+Mybatis”的技术架构,使用Maven进行开发的项目。
前端采用传统的html+css的技术,后台是用h+的boostrap技术框架。
该系统可分为四大部分:求职者部分、企业端部分、后台管理部分
想要学习的可以下载源码看看
该项目的演示视频可以点击如下按钮查看:
数据流条目如表4-1所示
代码已经上传github,下载地址:https://github.com/21503882/shopping
一些重要的数据库表的说明
表4-1 数据流条目表
名称 组成
个人信息 账号+密码+姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式+个人评价
新的个人信息 姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式+个人评价
登录信息 账号+密码
检索信息 职位类别+薪资范围+截止时间
企业职位信息 公司名称+公司地址+职位需求+电子邮箱+联系方式+薪资待遇|+公司简介
应聘信息 个人信息+企业职位信息
数据项如表4-2所示。
表4-2 数据项表
名称 类型 长度
账号 字符型 {字母}410
密码 数字型 不为零
数据存储条目如表4-3所示。
表4-3数据存储条目表
文件名 组成 组成方式
个人信息表 id+账号+密码+姓名+性别+学校+生日+专业+电子邮件+薪资要求+联系方式 +个人评价 索引文件,以id为主键
雇佣表 id+个人表的id+企业表的id 索引文件,以id为主键
加工条目如表4-4所示。
表4-4部分加工条目表
加工名 编号 输入 输出 加工逻辑
注册 1 个人信息 个人信息表 IF信息合法
THEN录入数据库
ELSE 重新输入新的合法信息
ENDIF
登录 2 登录信息 IF账号、密码与数据库中的信息匹配
THEN准予登录,并跳转到主页面
ELSE重新输入合法信息
ENDIF
修改个人信息 3 新的个人信息 个人信息表 IF信息合法
THEN录入数据库
ELSE 重新输入新的合法信息
ENDIF
职位查询 4 检索信息 企业职位信息 IF检索信息不为空
THEN按照相应的检索条件检索企业职位并返回给用户
ELSE按照默认方式排列企业职位信息并返回给用户
ENDIF
下载简历 7 个人信息 返回当前用户的简历并下载
向企业应聘 9 应聘信息 应聘表 根据求职者编号和企业编号录入信息
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import tyut.tools.WordGenerator;
/**
* Servlet implementation class DownloadServlet
*/
public class DownloadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DownloadServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Map<String, Object> map = new HashMap<String, Object>();
Enumeration<String> paramNames = request.getParameterNames();
// 通过循环将表单参数放入键值对映射中
while(paramNames.hasMoreElements()) {
String key = paramNames.nextElement();
String value = request.getParameter(key);
map.put(key, value);
}
// 提示:在调用工具类生成Word文档之前应当检查所有字段是否完整
// 否则Freemarker的模板引擎在处理时可能会因为找不到值而报错 这里暂时忽略这个步骤了
File file = null;
InputStream fin = null;
ServletOutputStream out = null;
try {
// 调用工具类WordGenerator的createDoc方法生成Word文档
file = WordGenerator.createDoc(map, "resume");
fin = new FileInputStream(file);
response.setCharacterEncoding("utf-8");
response.setContentType("application/msword");
// 设置浏览器以下载的方式处理该文件默认名为resume.doc
response.addHeader("Content-Disposition", "attachment;filename=resume.doc");
out = response.getOutputStream();
byte[] buffer = new byte[512]; // 缓冲区
int bytesToRead = -1;
// 通过循环将读入的Word文件的内容输出到浏览器中
while((bytesToRead = fin.read(buffer)) != -1) {
out.write(buffer, 0, bytesToRead);
}
} finally {
if(fin != null) fin.close();
if(out != null) out.close();
if(file != null) file.delete(); // 删除临时文件
}
}
// WordUtils.exportMillCertificateWord(request,response,map);
// }
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/base.css" />
<link rel="stylesheet" href="css/login.css" />
<style type="text/css">
a:link {
font-size: 12px;
color: #000000;
text-decoration: none;
}
a:visited {
font-size: 12px;
color: #000000;
text-decoration: none;
}
a:hover {
font-size: 12px;
color: #999999;
text-decoration: none;
}
</style>
<title>网上招聘系统</title>
</head>
<body>
<%
Cookie[] cookies = request.getCookies();
String username = "";
String password = "";
if(cookies!=null){
for(Cookie c:cookies){
if("username".equals(c.getName())){
username = c.getValue();
}
if("password".equals(c.getName())){
password = c.getValue();
}
}
}
%>
<div id="container">
<div id="bd">
<form method="post" action="loginServlet">
<div class="login">
<div class="login-top"><h1 class="logo"></h1></div>
<div class="login-input">
<p class="user ue-clear">
<label>用户名</label>
<input type="text" name="username" value="<%=username %>"/>
</p>
<p class="password ue-clear">
<label>密 码</label>
<input type="password" name="password" value="<%=password %>"/>
</p><br>
<label style="font-size:16px"> 类 型</label>
<input type="radio" value="个人" name="type" checked/><label style="font-size:16px">个人
<input type="radio" value="公司" name="type"/><label style="font-size:16px">公司
</div>
<div class="login-btn ue-clear">
<input type="submit" style="width:117px;height:40px;border-radius:10px;background-color:#2E84CD;color:white" value="登录">
<input type="checkbox" name="rem" id="remember"/>
<label for="remember" style="font-size:15px">记住密码</label>
<a style="font-size:15px;position:relative;left:100px" href="javascript:void(0)" οnclick="tiaozhuan()">
<label> 点击注册</label></a>
</div>
</div>
</form>
</div>
</div>
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript">
var height = $(window).height();
$("#container").height(height);
$("#bd").css("padding-top",height/2 - $("#bd").height()/2);
$(window).resize(function(){
var height = $(window).height();
$("#bd").css("padding-top",$(window).height()/2 - $("#bd").height()/2);
$("#container").height(height);
});
$('#remember').focus(function(){
$(this).blur();
});
$('#remember').click(function(e) {
checkRemember($(this));
});
function checkRemember($this){
if(!-[1,]){
if($this.prop("checked")){
$this.parent().addClass('checked');
}else{
$this.parent().removeClass('checked');
}
}
}
function tiaozhuan(){
var type=$("input[name='type']:checked").val();
console.log(type)
if(type=="个人")
location.href="html/register.html"
else
location.href="html/c_register.html"
}
</script>
</html>
利用互联网进行企业招聘或个人求职已经成为普遍现象,互联网招聘打破了地域界限,节省了企业或者个人大量的时间和精力,在未来具有良好的市场需求。Java语言具有稳定性高、可靠性好、实用性强的特点,利用该工具设计求职招聘系统,可实现企业用户、普通用户、求职者的基本功能需求,因此具有良好的发展前景。