博客目录

  • 系统概述
    • 实现功能
    • 技术点
    • 用例图、
    • 部分关键代码
    • 写在最后

系统概述

本系统给招聘者和求职者提供一个便利、高效、准确的网络招聘平台,使得双方可以在把成本降到最低的前提下,在更快的时间获得更加准确的信息,从而满足企业的用人需求,实现求职者的自我价值。

实现功能

主要实现了个人用户、企业用户的不同流程,个人用户:信息管理、简历管理、求职申请;企业用户:企业信息管理、招聘管理。
详细功能看下图:

部分功能的截图如下:
登录界面:

个人登录页面:

个人简历填写:

个人简历下载:

技术点

电脑型号:惠普242 G1 64位笔记本电脑
操作系统:Windows10专业版
数据库版本:Oracle10g XE
JDK版本:JDK1.8
服务器版本:apache-tomcat-8.0.24-windows-x64

(注意:Oracle数据库也没有那么大,我这里有压缩版的,直接下载安装就可以使用的。)

在后端,主要靠Core Java、Servlet、Jsp、MyBatis实现逻辑功能。
在前端,由HTML+CSS实现页面布局,部分功能使用Jquery和Ajax减轻服务器端的压力。

用例图、

1、用例图:


2、数据流图:

3、E-R图

部分关键代码

1、实体类Person.java:

package tyut.bean;import java.util.Date;public class Person {private Long id;private String username;private String password;private String name;private String sex;private String birthday;private String phone;private String email;private String school;private String trade;private String salary;private String tip;private Date pubtime;public Person() {super();}public Person(String username, String password, String name, String sex, String birthday, String phone,String email, String school, String trade, String salary, String tip) {super();this.username = username;this.password = password;this.name = name;this.sex = sex;this.birthday = birthday;this.phone = phone;this.email = email;this.school = school;this.trade = trade;this.salary = salary;this.tip = tip;}public Person(Long id, String username, String password, String name, String sex, String birthday, String phone,String email, String school, String trade, String salary, String tip,Date pubtime) {super();this.id = id;this.username = username;this.password = password;this.name = name;this.sex = sex;this.birthday = birthday;this.phone = phone;this.email = email;this.school = school;this.trade = trade;this.salary = salary;this.tip = tip;this.pubtime = pubtime;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getSchool() {return school;}public void setSchool(String school) {this.school = school;}public String getTrade() {return trade;}public void setTrade(String trade) {this.trade = trade;}public String getSalary() {return salary;}public void setSalary(String salary) {this.salary = salary;}public String getTip() {return tip;}public void setTip(String tip) {this.tip = tip;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getPubtime() {return pubtime;}public void setPubtime(Date pubtime) {this.pubtime = pubtime;}@Overridepublic String toString() {return "Person [id=" + id + ", username=" + username + ", password=" + password + ", name=" + name + ", sex="+ sex + ", birthday=" + birthday + ", phone=" + phone + ", email=" + email + ", school=" + school+ ", trade=" + trade + ", salary=" + salary + ", tip=" + tip + ", pubtime=" + pubtime + "]";}}

Company.java

package tyut.bean;import java.util.Date;public class Company {private Long id;private String username;private String password;private String name;private String phone;private String email;private String location;private String trade;private String salary;private String tip;private Date pubtime;public Company(Long id, String username, String password, String name, String phone, String email, String location,String trade, String salary, String tip, Date pubtime) {super();this.id = id;this.username = username;this.password = password;this.name = name;this.phone = phone;this.email = email;this.location = location;this.trade = trade;this.salary = salary;this.tip = tip;this.pubtime = pubtime;}public Company(String username, String password, String name, String phone, String email, String location,String trade, String salary, String tip) {super();this.username = username;this.password = password;this.name = name;this.phone = phone;this.email = email;this.location = location;this.trade = trade;this.salary = salary;this.tip = tip;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getLocation() {return location;}public void setLocation(String location) {this.location = location;}public String getTrade() {return trade;}public void setTrade(String trade) {this.trade = trade;}public String getSalary() {return salary;}public void setSalary(String salary) {this.salary = salary;}public String getTip() {return tip;}public void setTip(String tip) {this.tip = tip;}public Date getPubtime() {return pubtime;}public void setPubtime(Date pubtime) {this.pubtime = pubtime;}public Company() {super();}}

2、PersonMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="tyut.dao.IPersonDao"><insert id="savePerson" parameterType="Person"><selectKey keyProperty="id" resultType="long" order="BEFORE">select seq.nextval from dual</selectKey>insert into person (id,username,password,name,sex,birthday,school,phone,email,trade,salary,tip)values(#{id},#{username},#{password},#{name},#{sex},#{birthday},#{school},#{phone},#{email},#{trade},#{salary},#{tip})</insert><select id="findPersonByName" parameterType="string" resultType="Person">select * from person where username=#{username}</select><select id="findPersonByNameAndPassword"  resultType="Person">select * from person where username=#{0} and password=#{1}</select><select id="findPersonById"  parameterType="long" resultType="Person">select * from person where id=#{id}</select><update id="updatePerson" parameterType="Person">update person set name=#{name},sex=#{sex},birthday=#{birthday},school=#{school},phone=#{phone},email=#{email},trade=#{trade},salary=#{salary},tip=#{tip}where id=#{id}</update><update id="udpatePubtime" parameterType="Person">update person set pubtime=#{pubtime,jdbcType=TIMESTAMP}where id=#{id}</update><update id="ZeroPubtime" parameterType="Person">update person set pubtime=nullwhere id=#{id}</update><select id="findAllPersons" resultType="Person">select * from person where pubtime is not null order by pubtime desc</select><select id="findPersonsByParams" parameterType="java.util.Map" resultType="Person">select * from personwhere pubtime is not null<if test="trade != null"> AND trade = #{trade} </if> <if test="school != null"> AND school = #{school} </if> <if test="salary != null"> AND salary = #{salary} </if> <if test="pubtime != null"> AND to_char(pubtime,'YYYY-MM-DD HH24:MI:SS') &lt; #{pubtime} </if> </select>
</mapper>

3、个人业务逻辑类:IPersonServiceImpl.java:

package tyut.service.imp;import java.util.List;
import java.util.Map;import org.apache.ibatis.session.SqlSession;
import tyut.bean.Person;
import tyut.dao.IPersonDao;
import tyut.service.IPersonService;
import tyut.tools.MyBatisSqlSessionFactory;public class IPersonServiceImp implements IPersonService {@Overridepublic boolean register(Person person) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);Person p = personDao.findPersonByName(person.getUsername());if(p==null){personDao.savePerson(person);session.commit();return true;}else{return false;}}@Overridepublic Person login(String username, String password) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);Person p = personDao.findPersonByNameAndPassword(username, password);if(p!=null){return p;}else{return null;}}@Overridepublic void update(Person person) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);personDao.updatePerson(person);session.commit();}@Overridepublic void publish(Person person) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);personDao.udpatePubtime(person);session.commit();}@Overridepublic void deleteResume(Person person) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);personDao.ZeroPubtime(person);session.commit();}@Overridepublic List<Person> listAllPersons() {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);List<Person> persons = personDao.findAllPersons();return persons;}@Overridepublic List<Person> listAllPersonsByParams(Map<String, String> map) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);List<Person> persons = personDao.findPersonsByParams(map);return persons;}@Overridepublic Person query(long id) {// TODO Auto-generated method stubSqlSession session = MyBatisSqlSessionFactory.getSqlSessionFactory();IPersonDao personDao = session.getMapper(IPersonDao.class);Person person = personDao.findPersonById(id);return person;}}

4、申请简历Servlet处理类:ApplyServlet.java:

package tyut.web;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import tyut.bean.Employee;
import tyut.service.imp.IEmployeeServiceImp;/*** Servlet implementation class ApplyServlet*/
public class ApplyServlet extends HttpServlet implements Servlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public ApplyServlet() {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 stubdoPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubPrintWriter out = response.getWriter();out.println("<html>");      out.println("<script>");long p_id = Long.parseLong(request.getParameter("p_id"));long c_id = Long.parseLong(request.getParameter("c_id"));IEmployeeServiceImp iEmployeeServiceImp = new IEmployeeServiceImp();Employee employee = iEmployeeServiceImp.query(p_id, c_id);if(employee==null){iEmployeeServiceImp.insert(p_id, c_id);out.println("alert('申请成功')");}else{out.println("alert('您已申请过该公司!不能重复申请!')");}out.println("window.open ('"+request.getContextPath()+"/index.jsp','_top')"); out.println("</script>");out.println("</html>"); out.flush();out.close();}}

写在最后

由于完整源码不能全部贴出来,如果需要全部源码和系统的文档详细资料,可以+博主v交流: Code2Life2

Java实现网上招聘系统(Servlet+Jsp+Mybatis+Oracle 个人用户简历操作+企业用户简历筛查)相关推荐

  1. java高校网上报销系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java高校网上报销系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java高校网上报销系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...

  2. java招聘系统_基于java的网上招聘系统的设计与实现.doc

    基于java的网上招聘系统的设计与实现 基于java的网上招聘系统的设计与实现 摘 要 随着网络信息技术的发展,网络在人们生活中的应用越来越广泛,网上招聘已成为一项重要的招聘方式.为了给招聘双方提供一 ...

  3. java毕业设计——基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码)——网上招聘系统

    基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+MyBatis+jsp的网上招聘系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  4. MVC 网上招聘系统的设计与实现java jsp 程序设计 课程设计 毕业设计-附源码02135

    因上传问题  只上传了文案 图片未上传 网上招聘系统的设计与实现 摘  要 随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化.信息化的方 ...

  5. 基于Java、JSP的网上招聘系统的设计和实现

    技术:Java.JSP等 摘要: 随着信息全球化的到来,人们越来越离不开网络信息,网络信息已经发展到人们生活中的方方面面,并且成为其不可分割的一部分.在日常生活中,人们更加依赖于网络的便利和快捷,他们 ...

  6. [内附完整源码和文档] 基于JSP网上招聘系统的设计与实现

    摘 要 随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术,整个社会正在朝着智能化.信息化的方向前进.有了互联网,用户便可以足不出户地利用互联网技术使得自己的生活 ...

  7. java毕业设计网络招聘系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计网络招聘系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计网络招聘系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源码技术栈: 项目 ...

  8. java计算机专业招聘网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java计算机专业招聘网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java计算机专业招聘网站计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  9. java毕业设计网上书城系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计网上书城系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计网上书城系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

最新文章

  1. 收藏 | 因果推断书籍代码合集
  2. SQLServer之创建INSTEAD OF INSERT,UPDATE,DELETE触发器
  3. countif函数比较两列不同_COUNT函数家族的使用(下篇)
  4. Copy GAC DLL
  5. osgText中的setAxisAlignment和setAlignment的区别
  6. Bash Shell学习笔记一
  7. linux使用指导-debian/archlinux/LFS
  8. 二维树状数组(水题) POJ1195
  9. 转 在SQL Server中创建用户角色及授权(使用SQL语句)
  10. Github fork其他项目的分支与主干保持同步
  11. 整装待发 QTA UI自动化测试框架迎来大更新
  12. matlab节约里程法_vrp几种算法的matlab源代码(扫描算法,禁忌搜索算法,节约里程算法)...
  13. Tensorboard启动时面对大量文件存在内存升高问题
  14. Something about 博弈~(updating...)
  15. 董明珠与22岁的秘书孟羽童
  16. 什么是ESP/MSR 分区,如何建立ESP/MSR 分区
  17. 如何搭建Hyperledger fabric网络
  18. 一元四次方程求解C++实现
  19. hadoop学习之路(2)
  20. 使用docker成功安装paddlespeech进行语音识别

热门文章

  1. 容器复习-----6、volume(数据卷)
  2. Not Escaping(哈希+dp)
  3. zcmu-1668: 高桥和低桥
  4. A27-张韶中-前端7
  5. Linux设备检测外部网络NAT类型
  6. 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记
  7. 拓扑排序 Codeforces Round #748 (Div. 3)E. Gardener and Tree
  8. 【音视频基础】(十三):YUV颜色空间之YUV和YCbCr
  9. 【大学生活】谈谈我转专业的故事
  10. 我的位置定位服务器,定位我现在的位置