基于JavaWeb Mybatis+MVC的高校就业管理系统

  • 项目简介
    • 基本功能简介
    • 项目要求
    • 概要设计
      • 数据模型(E-R图)
      • 数据库结构设计
  • 主要页面展示
  • 项目实现
    • 创建项目
    • 项目结构展示
    • 项目关键代码讲解
      • 首页代码
      • 学生页面
      • 企业页面
      • 管理员页面
      • Mapper配置
  • 项目源码
  • 总结

项目简介

基本功能简介

该高校就业管理系统项目共分为三部分,分别为:学生系统、管理员系统、企业系统。
1.首页:主要分为公告信息,招聘信息和用户登录三部分,公告信息展示最近时间内学校发布的一些公告等,招聘信息主要展示一些企业的基本信息和招聘职位信息,可供查看,用户登录主要进行学生,企业和管理员的注册及登录等工作。
2.学生用户:学生可以查看并修改个人信息,同时能够查看所有企业的招聘信息,对自己心仪的公司可以进行投递简历等操作,可以选择对就业信息的填写以及查看功能,也可以选择退出登录返回到主界面。
3.企业用户:企业用户能够管理本企业的职位信息,并对公司基本信息进行修改保存,还可以查看本公司的应聘信息,并进行相应的选择,对心仪应聘者发送offer等操作,以及退出登录返回到主界面。
4.管理员用户:管理员可以对学生和企业的基本信息进行增删改查等操作,也可以查看学生的就业基本信息,同时管理员可进行添加管理员的操作,通过注册登录添加管理员,最后退出登录返回主界面。

项目要求

1.熟练掌握MVC模式的使用,掌握JSP,Servlet等语法使用;
2.掌握项目配置Tomcat的基本步骤;
3.了解并掌握idea等开发工具;
4.掌握并熟练使用Mybatis

概要设计

数据模型(E-R图)

数据库结构设计

1.student表

2.Company表:

3.Companyposition表:

4.Offer表:

5.Admin表:

主要页面展示

1.首页面

2.登陆页面

3.学生页面

4.企业页面

5.管理员页面

项目实现

本项目使用的是Idea编译器,以下所有示例截图等都为idea。

创建项目

1.创建maven项目

填写项目名称后,项目便创建完成。
待项目缓冲完成后,打开pom.xml文件,为其引入所需要的依赖等。可以直接复制下面内容。

  <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.3.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.12</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency><dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.2.2</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version><scope>compile</scope></dependency></dependencies>
</project>


填写的所有Java源码放在Java文件夹里面,创建resource文件夹,目的为配置Mapper的xml文件.设为资源根目录:右击rescource文件

在里面创建一个文件:mybatis-config.xml用来配置信息,连接数据库和使用某个mapper文件等功能

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--数据源配置   属性有resource 和 url  --><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="UNPOOLED"><property name="driver" value="com.mysql.jdbc.Driver"/>//该处填写自己对应的数据库名称和数据库账号密码<property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf8"/><property name="username" value="root"/><property name="password" value=""/></dataSource></environment></environments><mappers><mapper resource="Mapper/CompanyMapper.xml"/><mapper resource="Mapper/StudentMapper.xml"/><mapper resource="Mapper/AdminMapper.xml"/><!--注解方式可直接找到  xml和注解位置不同--><!--package方式:批量的mapper映射遵循的规则:将mapper.xml和mapper.java 放在同一个目录下,且文件名相同--><!--<package name="tk.mybatis.simple.mapper"/>--><!--<package name="mapper"/>--></mappers>
</configuration>

其他详细有关如何创建maven项目和有关tomcat如何配置等问题可参考《Mybatis从入门到精通》等其他书籍,本篇文章不在赘述。

项目结构展示

项目关键代码讲解

由于该项目代码众多,本博客会着重重要的代码进行阐述,在文章的最后会附上该项目的全部代码。

首页代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page isELIgnored="false" %><html>
<head><title>高校就业管理系统</title>
</head>
<body>
<h1 align="center"><font color="#7fffd4">欢迎来到高校就业管理系统</font> </h1>
<br>
<h4 align=right><a href="index.jsp">首页</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="jspdemo/workdemo/Announcement.jsp">公告信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/RecruitServlet?action=showCompanies">招聘信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/jspdemo/LoginServlet.jsp">用户登录</a>
</h4>
<hr>
<center><img src="data:image/13453678.jpeg" width="800"  ></center>
</body>
</html>

显示全部公司招聘信息在servlet中:

package servlet.student;import Mapper.CompanyMapper;
import Mapper.StudentMapper;
import bean.Company;
import bean.CompanyInformation;
import bean.Information;
import org.apache.ibatis.session.SqlSession;
import servlet.Init;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.List;@WebServlet("/RecruitServlet")
public class RecruitServlet2 extends HttpServlet {SqlSession sqlSession ;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//中文乱码解决方法response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");sqlSession = servlet.Init.before();String action = request.getParameter("action");try {if (action != null) {Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this, request, response);}}catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}//查看所有公司信息public void showCompanies(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");if(username!=null) {request.setAttribute("username", username);}//CompanyDao companyDao=new CompanyDao();// List<Company> company = companyDao.showAllCompanies();CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<Company> company = mapper.showAllCompanies();HttpSession session = request.getSession();session.setAttribute("company",company);// response.sendRedirect("jspdemo/student/showRecruit.jsp");request.getRequestDispatcher("jspdemo/student/showRecruit.jsp").forward(request,response);}//查看某个公司的就业信息public void showCompanyInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// CompanyDao companyDao=new CompanyDao();//企业用户名String cusername = request.getParameter("cusername");//学生用户名String susername = request.getParameter("susername");request.getSession().setAttribute("susername",susername);//  List<CompanyInformation> information = companyDao.showCompanyInformaition(cusername);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<CompanyInformation> information = mapper.showCompanyInformaition(cusername);HttpSession session = request.getSession();session.setAttribute("information",information);// response.sendRedirect("jspdemo/student/showRecruit1.jsp");request.getRequestDispatcher("jspdemo/student/showRecruit1.jsp").forward(request,response);}//查看学生的公司投递情况public void showStuRequestJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {//用户名String username = request.getParameter("username");request.setAttribute("username",username);//List<CompanyInformation> companyInformations = studentDao.SearchRequestJob(username);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);List<CompanyInformation> companyInformations = mapper.searchRequestJob(username);request.getSession().setAttribute("companyInformations",companyInformations);request.getRequestDispatcher("jspdemo/student/stuRequestJob.jsp").forward(request,response);}//查看学生的公司录取情况public void showStuResponseJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {// CompanyDao companyDao=new CompanyDao();//用户名String username = request.getParameter("username");request.setAttribute("username",username);// List<CompanyInformation> information = companyDao.showResponseOffers(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<CompanyInformation> information = mapper.showResponseOffers(username);request.getSession().setAttribute("information",information);request.getRequestDispatcher("jspdemo/student/showStuResponseJob.jsp").forward(request,response);}//更新学生的工作岗位情况public void updateStuJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {//用户名String username = request.getParameter("susername");String jobName = request.getParameter("username");String jobId = request.getParameter("jobId");SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);mapper.updateStuJob(jobName, username,jobId);sqlSession.commit();request.getRequestDispatcher("/RecruitServlet?action=showGetJob&username="+username).forward(request,response);}//显示学生的入选工作信息public void showGetJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String username = request.getParameter("username");//  StudentDao studentDao=new StudentDao();//Information information = studentDao.showJob(username);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);Information information = mapper.showJob(username);PrintWriter out = response.getWriter();if(information!=null) {out.println("<h1 align='center'>你选择的工作信息如下</h1><hr><br>");out.println("<h4 align='center'>公司用户名:" + information.getUsername() + "</h4>");out.println("<h4 align='center'>公司名称:" + information.getName() + "</h4>");out.println("<h4 align='center'>岗位编号:" + information.getId() + "</h4>");out.println("<h4 align='center'>岗位名称:" + information.getPosition() + "</h4>");out.println("<h4 align='center'>薪水:" + information.getSalary() + "</h4>");}else {out.println("你现在还没有进入任何公司哦,快去投简历吧-_-");}out.println("<h4 align=\"center\"><a href=http://localhost:8080/jspdemo/studentShow.jsp?username=" + username + ">返回首页</a>\n" +"</h4>");}
}<%@ page import="java.net.URLDecoder" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--Created by IntelliJ IDEA.User: LenovoDate: 2020/12/14Time: 15:41To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>查看公司招聘信息</title>
</head>
<body>
<h1 align="center"><font color="blue">欢迎来到高校就业信息系统</font> </h1><br>
<table  align="center" bgcolor="#7fffd4"><tr><th>&nbsp;&nbsp;账号&nbsp;&nbsp;</th><th>&nbsp;&nbsp;公司名称&nbsp;&nbsp;</th><td>&nbsp;&nbsp;公司简介&nbsp;&nbsp;</td><td>&nbsp;&nbsp;联系人&nbsp;&nbsp;</td><td>&nbsp;&nbsp;联系电话&nbsp;&nbsp;</td><td>&nbsp;&nbsp;工作地点&nbsp;&nbsp;</td><td>&nbsp;&nbsp;需要岗位数&nbsp;&nbsp;</td><td colspan="4">操作</td></tr><c:forEach items="${sessionScope.company}" var="inf"><tr><td>&nbsp;&nbsp;${inf.username}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.name}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.introduce}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.contact}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.telephone}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.place}&nbsp;&nbsp;</td><td>&nbsp;&nbsp;${inf.positionCount}&nbsp;&nbsp;</td><td><a href="/RecruitServlet?action=showCompanyInfo&cusername=${inf.username}&susername=${requestScope.username}">查看职位信息</a></td></tr></c:forEach>
</table>
<h4 align="center"><c:if test="${not empty requestScope.username}"><a href="http://localhost:8080/jspdemo/studentShow.jsp?username=${requestScope.username}">返回首页</a></c:if><c:if test="${ empty requestScope.username}"><a href="http://localhost:8080">返回首页</a></c:if></h4>
</body>
</html>

页面内容展示如下:
用户登录页面:

<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.io.PrintWriter" %><%--Created by IntelliJ IDEA.User: LenovoDate: 2020/10/12Time: 19:49To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>用户登录页面</title>
</head>
<script type="text/javascript">function validate() {if(login.username1.value===""){alert("账号不能为空");return;}if(login.passwd.value===""){alert("密码不能为空");return;}if(login.code.value===""){alert("请输入正确的验证码");return;}login.submit();}function refresh() {login.imgValidate.src="index.jsp?id="+Math.random();}
</script>
<h1 align="center"><font color="#7fffd4">欢迎来到高校就业管理系统</font> </h1>
<br><hr><%   response.setCharacterEncoding("utf-8"); %>
<form name="login" action="/LoginCl" method="post"><h3 align="center"> 请选择你的身份进行登录:<input name="identity" type="radio" value="学生用户" checked>学生用户<input name="identity" type="radio" value="企业用户" >企业用户<input name="identity" type="radio" value="管理员" >管理员</h3><h4 align="center">用户名:<input type="text" name="username1"><br><br>密码:<input type="password" name="passwd"><br><br><input type="checkbox" name="keep" >两周内免登陆<br><br>验证码:<input type="text" name="code" size=10><%--点击图片可进行验证码刷新--%><img name="imgValidate" src = "code.jsp" onclick="refresh()" ><br><%--注意此处的button和submit的区别--%><input type="button" value="登录"  onclick="validate()"></h4>
</form><%--<%String username = null;String password = null;String identity=null;Cookie[] cookies = request.getCookies();for (int i = 0; i < cookies.length; i++) {PrintWriter out1 = response.getWriter();out1.println(cookies[i].getName()+" "+cookies[i].getValue());if ("username".equals(cookies[i].getName())) {username = cookies[i].getValue();} else if ("password".equals(cookies[i].getName())) {password = cookies[i].getValue();}if (username != null && password != null) {if("identity".equals(cookies[i].getName())){identity=cookies[i].getValue();if(identity.equals("学生用户")){response.sendRedirect("studentShow.jsp");}else if (identity.equals("企业用户")) {} else {response.sendRedirect("adminSystem/admin.jsp");}}}}%>--%>
<form action="registerChoose.jsp" method="post"><h4 align="center"><input  type="submit" value="注册"></h4>
</form>
</body>
</html>

用户可以选择自己的身份进行登录,不同的身份进入的页面不同
注册页面:

<%@ page language="java" pageEncoding="gb2312" %>
<%@page isELIgnored="false" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><base href="<%=basePath%>"><title>学生信息注册</title><script type="text/javascript" >function changeMajor(){//JS中的数组可以采用标识符代替
//根据用户选择的value值,与数组下标比较,从而找出学院对应的专业var school=document.form.readerSchool.value;var majorList=new Array();majorList['通信与信息工程学院']=['通信工程','电子信息工程','信息工程','广播电视工程','通信与信息类','通信与信息类实验班','通信学院卓越工程师班','通信学院IT精英班','通信学院国际实验班','电子信息工程(通信技术)','电子信息工程(应用电子技术)','电子信息工程(实验班)'];majorList['光电工程学院']=['光信息科学与技术','电子科学与技术','电磁场与无线技术','电子工程类','电子工程实验班'];majorList['经济管理学院']=['信息管理与信息系统','会计学','经济学','市场营销','工商管理','电子商务','工程管理','信息管理类','工商管理类','物流管理','国际化会计人才培养实验班','工商管理实验班','经济学实验班','市场营销专业实验班'];majorList['计算机科学与工程学院']=['计算机科学与技术',,'网络工程','信息安全','探测与指导技术',,'计算机科学与技术卓越班','软件工程(卓越班)'];majorList['外国语学院']=['英语','英语类','英语(商贸)'];majorList['生物信息学院']=['生物医药工程','生物技术','制药工程','生物信息学','生物技术与制药类','生物技术(生物信息学方向)','生物制药类实验班'];majorList['法学院']=['法学','知识产权学','法学类'];majorList['自动化学院']=['自动化','测控技术与仪器','电气工程与自动化','机械设计制造及其自动化','物联网工程','自动化与电气工程类','自动化与电气工程类实验班','自动化学院卓越工程师班','电气工程与自动化(电气技术)','电气工程与自动化(电机电器)','电气工程与自动化(实验班)'];majorList['体育学院']=['社会体育'];majorList['数理学院']=['应用物理学','信息与计算科学','数学与应用数学','信息显示与光电技术','数理科学与信息技术类','数理科学与信息技术基础班','信息与计算科学专业实验班'];majorList['传媒艺术学院']=['广播电视编导','动画','环境设计','视觉传达','艺术设计(网络)','艺术设计类','编导改革实验班'];majorList['国际半导体学院']=['电子科学与技术','微电子学','集成电路工程类','集成电路工程类实验班','微电子科学与工程实验班'];majorList['国际学院']=['英语(中加)'];majorList['研究生院']=['通信与信息工程','电子与信息工程','计算机科学与技术','计算机技术','软件工程','先进制造技术'];document.form.readerMajor.options.length=0;
//根据学院下拉框的值,获取对应数组的索引标识var pIndex=document.form.readerSchool.value;var newOption;document.form.readerMajor.options.length=0;//清除选项
//数组的读取和数字索引方式相同for(var j in majorList[pIndex]){newOption=new Option(majorList[pIndex][j],majorList[pIndex][j]);document.form.readerMajor.options.add(newOption);//动态添加选项}}</script>
</head>
<%--<body bgcolor="white" text="#FF0000" background="image/true.jpg">--%>
<body><h1 align="center"><font color="#8a2be2">欢迎来到学生用户注册页面</font> </h1><script language="JavaScript" type="text/javascript">function checkPassword() {var ps=/^[A-Za-z0-9]{6,20}$/;if (!ps.exec(register.password1.value)) {alert("密码必须同时包含大小写字母和数字且长度应该在6-20之间");return;}register.submit();}</script>
<form action="/jspdemo/registerMessage.jsp" name="form" method="post"><%String u = request.getParameter("u");out.println("<input type='hidden' name='u' value="+u+">");%><table  bgcolor="#7fffd4"  width="600" align="center"><tr><td>账号</td><td><input type="text" name="username"></td></tr><tr><td>密码(长度大于6且必须有字母大小写)</td><td><input type="password" name="password1"></td></tr><tr><td>姓名</td><td><input type="text" name="name"></td></tr><tr><td>性别</td><td><input name="sex" type="radio" value="男" checked>男<input name="sex" type="radio" value="女" >女</td></tr><tr><td>出生日期</td><td><input type="text" name="data"></td></tr><tr><td>学号</td><td><input type="text" name="id"></td></tr><tr><td>电话</td><td><input type="text" name="telephone"></td></tr><tr><td>家庭住址</td><td><input name="address" type="text"><br></td></tr><tr><td>院系</td><td><select name="readerSchool" id="readerSchool" onChange="changeMajor()"><option>--请选择学院--</option><option value="通信与信息工程学院">通信与信息工程学院</option><option value="光电工程学院">光电工程学院</option><option value="经济管理学院">经济管理学院</option><option value="计算机科学与工程学院">计算机科学与工程学院</option><option value="外国语学院">外国语学院</option><option value="生物信息学院">生物信息学院</option><option value="法学院">法学院</option><option value="自动化学院">自动化学院</option><option value="体育学院">体育学院</option><option value="数理学院">数理学院</option><option value="传媒艺术学院">传媒艺术学院</option><option value="国际半导体学院">国际半导体学院</option><option value="国际学院">国际学院</option><option value="研究生院">研究生院</option></select></td></tr><tr><td>专业</td><td><select name="readerMajor" id="readerMajor" onChange="myfun1()"><option>--请选择专业--</option></select></td></tr><tr><td>班级</td><td><select name="class" ><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="10">15</option><option value="11">16</option><option value="12">17</option><option value="13">18</option><option value="14">19</option><option value="10">20</option><option value="11">21</option></select></td></tr><tr><td>特长</td><td><input name="special" type="text"></td></tr><tr><td>是否就业</td><td><input name="job" type="radio" value="是" >是<input name="job" type="radio" value="否" checked >否</td></tr><tr><td></td><td><input type="submit" value="注册" onclick="checkPassword()"></td></tr></table><br>
</form>
</body>
</html>

页面展示:
注册的用户不同,页面不同
1>.学生用户
其院系和专业采用二级联动,上面的内容确定后,下面的也会跟着变成其对应的内容。
2>企业注册
填写相关内容即可完成注册。下次用户可以直接登录。

学生页面

<%@ page import="java.net.URLDecoder" %><%--Created by IntelliJ IDEA.User: LenovoDate: 2020/12/9Time: 16:23To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>学生界面</title>
</head>
<body bgcolor="white" text="#FF0000" background="image/hhhhh.png">
<h1><font color="blue">欢迎学生:<%=URLDecoder.decode(request.getParameter("username"),"utf-8")%> 来到高校就业信息系统</font> </h1><br>
<%String uname = request.getParameter("username");session.setAttribute("username",uname);
%>
<h4 align=right><a href="/showStudentCl?action=show&username=${sessionScope.username}">个人信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/RecruitServlet?action=showCompanies&username=${sessionScope.username}">查看招聘信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/RecruitServlet?action=showStuRequestJob&username=${sessionScope.username}">投递简历信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/RecruitServlet?action=showStuResponseJob&username=${sessionScope.username}">填写就业信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/RecruitServlet?action=showGetJob&username=${sessionScope.username}">查看就业信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="http://localhost:8080/index.jsp">退出登录</a>
</h4>
<hr><br>
<center><img src="data:image/232040298490.jpg" width="1000"  ></center>
</body>
</html>

功能一:学生修改查看个人信息

package servlet.student;import Mapper.StudentMapper;
import bean.Student;import org.apache.ibatis.session.SqlSession;
import servlet.Init;
import javax.servlet.ServletException;
//import javax.servlet.annotation.WebServlet;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;@WebServlet("/showStudentCl")
public class showStudentCl extends HttpServlet {SqlSession sqlSession ;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//中文乱码解决方法response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");sqlSession = Init.before();String action = request.getParameter("action");if (action == null) {modify(request, response);} else {try {Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this, request, response);} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}}//显示所有信息protected void show(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);String username = request.getParameter("username");String u = request.getParameter("u");System.out.println(username+"-----");// StudentDao studentDao = new StudentDao();Student student = mapper.showStudent(username);//       student = studentDao.showStudent(username);HttpSession session = request.getSession();session.setAttribute("student", student);// request.getRequestDispatcher("jspdemo/modifyInformation.jsp").forward(request,response);if (u == null) {response.sendRedirect("jspdemo/modifyInformation.jsp");}//管理员页面else {response.sendRedirect("jspdemo/modifyInformation.jsp?u=1");}}//修改信息protected void modify(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("gb2312");String username=request.getParameter("username");System.out.println(username+"-----");String  password=request.getParameter("password");String name = request.getParameter("name");String sex = request.getParameter("sex");String data = request.getParameter("data");String id = request.getParameter("id");String telephone = request.getParameter("telephone");String address = request.getParameter("address");String school = request.getParameter("school");String major = request.getParameter("major");String class1 = request.getParameter("class1");String special = request.getParameter("special");String job = request.getParameter("job");String jobName = request.getParameter("jobName");String jobId = request.getParameter("jobId");//StudentDao studentDao=new StudentDao();Student student=new Student(username,password,name,sex,data,id,telephone,address,school,major,class1,special,job,jobName,jobId);// System.out.println(student);// studentDao.updateStudent(student);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);mapper.updateStudent(student);sqlSession.commit();request.getRequestDispatcher("/showStudentCl?action=show&id="+id).forward(request,response);}
}

方框内容为可以修改的内容。
功能二:查看公司招聘信息并可以选择公司进行投递简历。
前面已提到改代码,此处不再赘述。

功能三:查看自己已经投递的简历

package servlet.student;import Mapper.CompanyMapper;
import Mapper.StudentMapper;
import bean.Company;
import bean.CompanyInformation;
import bean.Information;
import org.apache.ibatis.session.SqlSession;
import servlet.Init;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.List;@WebServlet("/RecruitServlet")
public class RecruitServlet2 extends HttpServlet {SqlSession sqlSession ;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//中文乱码解决方法response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");sqlSession = servlet.Init.before();String action = request.getParameter("action");try {if (action != null) {Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this, request, response);}}catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}//查看所有公司信息public void showCompanies(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");if(username!=null) {request.setAttribute("username", username);}//CompanyDao companyDao=new CompanyDao();// List<Company> company = companyDao.showAllCompanies();CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<Company> company = mapper.showAllCompanies();HttpSession session = request.getSession();session.setAttribute("company",company);// response.sendRedirect("jspdemo/student/showRecruit.jsp");request.getRequestDispatcher("jspdemo/student/showRecruit.jsp").forward(request,response);}//查看某个公司的就业信息public void showCompanyInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// CompanyDao companyDao=new CompanyDao();//企业用户名String cusername = request.getParameter("cusername");//学生用户名String susername = request.getParameter("susername");request.getSession().setAttribute("susername",susername);//  List<CompanyInformation> information = companyDao.showCompanyInformaition(cusername);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<CompanyInformation> information = mapper.showCompanyInformaition(cusername);HttpSession session = request.getSession();session.setAttribute("information",information);// response.sendRedirect("jspdemo/student/showRecruit1.jsp");request.getRequestDispatcher("jspdemo/student/showRecruit1.jsp").forward(request,response);}//查看学生的公司投递情况public void showStuRequestJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {//用户名String username = request.getParameter("username");request.setAttribute("username",username);//List<CompanyInformation> companyInformations = studentDao.SearchRequestJob(username);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);List<CompanyInformation> companyInformations = mapper.searchRequestJob(username);request.getSession().setAttribute("companyInformations",companyInformations);request.getRequestDispatcher("jspdemo/student/stuRequestJob.jsp").forward(request,response);}//查看学生的公司录取情况public void showStuResponseJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {// CompanyDao companyDao=new CompanyDao();//用户名String username = request.getParameter("username");request.setAttribute("username",username);// List<CompanyInformation> information = companyDao.showResponseOffers(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<CompanyInformation> information = mapper.showResponseOffers(username);request.getSession().setAttribute("information",information);request.getRequestDispatcher("jspdemo/student/showStuResponseJob.jsp").forward(request,response);}//更新学生的工作岗位情况public void updateStuJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {//用户名String username = request.getParameter("susername");String jobName = request.getParameter("username");String jobId = request.getParameter("jobId");SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);mapper.updateStuJob(jobName, username,jobId);sqlSession.commit();request.getRequestDispatcher("/RecruitServlet?action=showGetJob&username="+username).forward(request,response);}//显示学生的入选工作信息public void showGetJob(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String username = request.getParameter("username");//  StudentDao studentDao=new StudentDao();//Information information = studentDao.showJob(username);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);Information information = mapper.showJob(username);PrintWriter out = response.getWriter();if(information!=null) {out.println("<h1 align='center'>你选择的工作信息如下</h1><hr><br>");out.println("<h4 align='center'>公司用户名:" + information.getUsername() + "</h4>");out.println("<h4 align='center'>公司名称:" + information.getName() + "</h4>");out.println("<h4 align='center'>岗位编号:" + information.getId() + "</h4>");out.println("<h4 align='center'>岗位名称:" + information.getPosition() + "</h4>");out.println("<h4 align='center'>薪水:" + information.getSalary() + "</h4>");}else {out.println("你现在还没有进入任何公司哦,快去投简历吧-_-");}out.println("<h4 align=\"center\"><a href=http://localhost:8080/jspdemo/studentShow.jsp?username=" + username + ">返回首页</a>\n" +"</h4>");}
}

功能四:查看公司对其发送的所有offer并选择某公司进行就业,填写就业信息。
调用上文提到的RecruitServlet类中showStuResponseJob方法即可。

功能五:查看自己的就业信息
调用RecruitServlet类的showGetJob

至此学生信息功能到此结束。

企业页面

企业首页面:

<%@ page import="java.net.URLDecoder" %><%--Created by IntelliJ IDEA.User: LenovoDate: 2020/12/11Time: 11:10To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>企业系统</title>
</head>
<body>
<h1><font color="blue">欢迎企业:<%=URLDecoder.decode(request.getParameter("username"),"utf-8")%>来到高校就业信息系统</font> </h1><br>
<h4 align=right><% String username=request.getParameter("username");session.setAttribute("username",username);out.println("<a href=/ManageCompany?action=check&username="+username+">管理职位信息</a>");%>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/ManageCompany?action=showStuCompanyInfo&username=${sessionScope.username}">查看应聘信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/ManageCompany?action=showAllResponseOffer&username=${sessionScope.username}">查看发送offer</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="http://localhost:8080/index.jsp">退出登录</a><hr>
</h4>
<center><img src="data:image/232040298490.jpg" width="1000"  ></center>
</body>
</html>

功能一:管理职位信息:即可以查看并修改企业信息

package servlet.Company;import Mapper.CompanyMapper;
import bean.Company;
import bean.CompanyInformation;
import bean.stuPosition;
import org.apache.ibatis.session.SqlSession;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.List;@WebServlet("/ManageCompany")
public class ManageCompany extends HttpServlet {SqlSession sqlSession ;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//中文乱码解决方法response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");sqlSession = servlet.Init.before();String action = request.getParameter("action");if (action == null) {try {modify(request, response);} catch (SQLException e) {e.printStackTrace();}} else {try {Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this, request, response);} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}}//查看信息表protected void check(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String username = request.getParameter("username");String u = request.getParameter("u");//CompanyDao companyDao = new CompanyDao();//Company company = companyDao.showCompany(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);Company company = mapper.showCompany(username);HttpSession session = request.getSession();session.setAttribute("company", company);// request.getRequestDispatcher("jspdemo/companySystem/ManagePosition.jsp").forward(request,response);if (u == null) {response.sendRedirect("jspdemo/companySystem/ManagePosition.jsp");}else {response.sendRedirect("jspdemo/companySystem/ManagePosition.jsp?u=1");}}//修改信息表protected void modify(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String u2 = request.getParameter("u2");String username = request.getParameter("username");String password = request.getParameter("password");String name = request.getParameter("name");String introduce = request.getParameter("introduce");String contact = request.getParameter("contact");String telephone = request.getParameter("telephone");String place = request.getParameter("place");String positionCount = request.getParameter("positionCount");Company company = new Company(username, password, name, introduce, contact, telephone, place, positionCount);//  CompanyDao companyDao = new CompanyDao();request.setAttribute("company", company);//更新公司信息// companyDao.updateCompany(company);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);int i1 = mapper.updateCompany(company);sqlSession.commit();//更新公司职位信息int count = Integer.parseInt(positionCount);String[] ids = new String[count + 1];String[] position = new String[count + 1];String[] salary = new String[count + 1];String[] counts = new String[count + 1];//int rows = companyDao.getCompanyInformaitionRows(username);int rows = mapper.getCompanyInformaitionRows(username);sqlSession.commit();//  sqlSession.commit();// System.out.println(rows);CompanyInformation[] companyInfo = new CompanyInformation[count + 1];for (int i = 0; i < count; i++) {ids[i] = request.getParameter("id" + String.valueOf(i + 1));position[i] = request.getParameter("position" + String.valueOf(i + 1));salary[i] = request.getParameter("salary" + String.valueOf(i + 1));counts[i] = request.getParameter("count" + String.valueOf(i + 1));companyInfo[i] = new CompanyInformation(username, ids[i], position[i], salary[i], counts[i]);}// 新加了数据 或者是原数量 后面没有的信息要添加到数据库中  rows  数据库中职位的个数//  2        3if (rows <= count) {for (int i = 0; i < count; i++) {if (i < rows) {// companyDao.updateCompanyInfo(companyInfo[i]);mapper.updateCompanyInfo(companyInfo[i]);sqlSession.commit();} else {//没有该信息 需要进行注册// companyDao.insertPosInformation(companyInfo[i].getUsername(), companyInfo[i].getId(), companyInfo[i].getPosition(), companyInfo[i].getSalary(), companyInfo[i].getCounts());mapper.insertPosInformation(companyInfo[i]);sqlSession.commit();}}}//职位需求变少了 需要删除后面的数据信息// 3        2if (rows > count) {for (int i = 0; i < count; i++) {// companyDao.updateCompanyInfo(companyInfo[i]);mapper.updateCompanyInfo(companyInfo[i]);sqlSession.commit();}for (int i = count; i < rows; i++) {//删除信息//companyDao.delCompanyInformaition(company.getUsername(), String.valueOf(i+1));mapper.delCompanyInformaition(company.getUsername(),String.valueOf(i+1));sqlSession.commit();}}request.getRequestDispatcher("jspdemo/companySystem/ManagePosition1.jsp?u1="+u2).forward(request, response);// System.out.println(u2+"2222222");}//显示应聘该企业的所有学生的信息protected void showStuCompanyInfo(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String username = request.getParameter("username");request.setAttribute("username",username);// CompanyDao companyDao=new CompanyDao();//  List<stuPosition> stuPositions = companyDao.showRequestOfferStu(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<stuPosition> stuPositions = mapper.showRequestOfferStu(username);request.getSession().setAttribute("stuPositions",stuPositions);request.getRequestDispatcher("jspdemo/companySystem/showStuCompanyInfo.jsp").forward(request, response);}//向某个学生发送offerprotected void sendOffer(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String su = request.getParameter("su");String cu = request.getParameter("cu");String id=request.getParameter("id");// request.setAttribute("username",username);// CompanyDao companyDao=new CompanyDao();//companyDao.responseOffer(su,cu,id);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);mapper.responseOffer(su,cu,id);sqlSession.commit();response.getWriter().println("你的offer已经发送成功,去看看别的优秀学生吧...<br>");response.getWriter().println("<a href=/ManageCompany?action=showStuCompanyInfo&username="+cu+">返回上一页</a>");}
//查看发送的所有offer
protected void showAllResponseOffer(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {String username = request.getParameter("username");request.setAttribute("username",username);// CompanyDao companyDao=new CompanyDao();// List<stuPosition> stuPositions = companyDao.showAllResponseOffers(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<stuPosition> stuPositions = mapper.showAllResponseOffers(username);request.getSession().setAttribute("stuPositions",stuPositions);request.getRequestDispatcher("jspdemo/companySystem/showSendOffer.jsp").forward(request,response);
}}


功能二:查看招聘信息 并为其发送offer
调用上面:ManageCompany的showStuCompanyInfo方法即可
功能三:查看发送的所有offer
调用ManageCompany的showAllResponseOffer方法

管理员页面

<%@ page import="java.net.URLDecoder" %><%--Created by IntelliJ IDEA.User: LenovoDate: 2020/12/9Time: 21:00To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>管理员界面</title>
</head>
<body>
<%String username = request.getParameter("username");session.setAttribute("username",username);
%>
<h1><font color="blue">欢迎管理员:<%=URLDecoder.decode(username,"utf-8")%>来到高校就业信息系统</font> </h1><br><h4 align=right><a href="/jspdemo/adminSystem/manageStudent.jsp?admin=${sessionScope.username}">管理学生信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/manageInformation?action=showAllCompany&admin=${sessionScope.username}">管理企业信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/manageInformation?action=showAllStuCompany&admin=${sessionScope.username}">查看就业信息</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="/jspdemo/adminSystem/registerAdmin.jsp">添加管理员</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="http://localhost:8080/index.jsp">退出登录</a>
</h4>
<hr>
<center><img src="data:image/232040298490.jpg" width="1000"  ></center>
</body></html>

功能一:管理所有学生信息

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="bean.Student" %>
<%@ page import="java.util.List" %>
<%@ page import="servlet.Init" %>
<%@ page import="org.apache.ibatis.session.SqlSession" %>
<%@ page import="Mapper.StudentMapper" %><%--Created by IntelliJ IDEA.User: LenovoDate: 2020/12/9Time: 21:05To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %><html>
<head><title>管理学生页面</title>
</head>
<body>
<h1 align="center">管理学生信息页面</h1>
<%// StudentDao studentDao=new StudentDao();// List<Student> students = studentDao.showAllStudents();SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);List<Student> students = mapper.showAllStudents();sqlSession.commit();session.setAttribute("students",students);%>
<table  align="center"><tr><th>&nbsp;&nbsp;账号&nbsp;&nbsp;</th><th>&nbsp;&nbsp;密码&nbsp;&nbsp;</th><td>&nbsp;&nbsp;姓名&nbsp;&nbsp;</td><td>&nbsp;&nbsp;性别&nbsp;&nbsp;</td><td>&nbsp;&nbsp;出生日期&nbsp;&nbsp;</td><td>&nbsp;&nbsp;学号&nbsp;&nbsp;</td><td>&nbsp;&nbsp;电话&nbsp;&nbsp;</td><td>&nbsp;&nbsp;家庭住址&nbsp;&nbsp;</td><td>&nbsp;&nbsp;院系&nbsp;&nbsp;</td><td>&nbsp;&nbsp;专业&nbsp;&nbsp;</td><td>班级</td><td>是否就业</td><td>公司</td><td colspan="4">操作</td></tr>
<c:forEach items="${sessionScope.students}" var="student"><tr><td>${student.username}</td><td>${student.password}</td><td>${student.name}</td><td>${student.sex}</td><td>${student.data}</td><td>${student.id}</td><td>${student.telephone}</td><td>${student.address}</td><td>${student.school}</td><td>${student.major}</td><td>${student.class1}</td><td>${student.job}</td><td>${student.jobName}</td><td><a href="/showStudentCl?action=show&username=${student.username}&u=1">操作</a></td><td><a href="/manageInformation?action=deleteStudent&username=${student.username}">删除</a> </td></tr>
</c:forEach>
<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><% request.setAttribute("u",1);%><td><a href="/jspdemo/register.jsp?u=1">添加学生信息</a></td>
</tr>
</table>
<h4 align="center"><a href="http://localhost:8080/jspdemo/adminSystem/admin.jsp?username=${sessionScope.username}">返回首页</a> </h4>
</body>
</html>

操作即对学生信息进行修改,删除删除学生信息,也可以进行添加学生信息。

功能二:管理企业信息,对企业信息进行增删改操作。

package servlet.admin;import Mapper.CompanyMapper;
import Mapper.StudentMapper;
import bean.Company;
import bean.Student;
import bean.stuJob;
import dao.CompanyDao;
import dao.StudentDao;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import servlet.Init;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.List;
/*** @author 徐佳欢* @createTime 2020/12/15 15:46* @description*/@WebServlet("/manageInformation")
public class manageInformation extends HttpServlet {SqlSession sqlSession;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//中文乱码解决方法response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");sqlSession= servlet.Init.before();String action = request.getParameter("action");try {Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);method.invoke(this, request, response);} catch (NoSuchMethodException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}//删除学生信息protected void deleteStudent(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");// StudentDao studentDao=new StudentDao();// studentDao.deleteStudent(username);SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);mapper.deleteStudent(username);sqlSession.commit();//返回上个页面response.sendRedirect(request.getHeader("Referer"));}//删除公司信息protected void deleteCompany(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");// CompanyDao companyDao=new CompanyDao();//companyDao.deleteCompany(username);CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);mapper.deleteCompany(username);sqlSession.commit();//返回上个页面Object username1 = request.getSession().getAttribute("username");response.sendRedirect("/manageInformation?action=showAllCompany&admin="+username1);}//显示所有企业信息protected void showAllCompany(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {/*CompanyDao companyDao=new CompanyDao();List<Company> companies = companyDao.showAllCompanies();*///获取UserMapper的接口CompanyMapper mapper = sqlSession.getMapper(CompanyMapper.class);List<Company> companies = mapper.showAllCompanies();sqlSession.close();request.getSession().setAttribute("companies",companies);response.sendRedirect("jspdemo/adminSystem/showAllCompany.jsp");}//显示学生及其对应的就业信息protected void showAllStuCompany(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {//StudentDao studentDao=new StudentDao();//List<stuJob> stuJobs = studentDao.showStuJob();SqlSession sqlSession = Init.before();StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);List<stuJob> stuJobs = mapper.showStuJob();request.getSession().setAttribute("stuJobs",stuJobs);response.sendRedirect("jspdemo/adminSystem/showStuCompany.jsp");}
}


功能三:查看学生就业信息
调用manageInformation的showAllStuCompany的方法
功能四:添加管理员

<%--Created by IntelliJ IDEA.User: LenovoDate: 2020/10/20Time: 9:44To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" pageEncoding="gb2312" %>
<%@page isELIgnored="false" %><html>
<head><title>register</title>
</head>
<body><script language="JavaScript" type="text/javascript">function checkPassword() {var ps=/^[A-Za-z0-9]{6,20}$/;if (!ps.exec(register.password1.value)) {alert("密码必须同时包含大小写字母和数字且长度应该在6-20之间");return;}register.submit();}</script><h1 align="center"><font color="#7fffd4">欢迎来到管理员注册页面</font> </h1><br><hr>
<form name="register" action="registerAdminMessage.jsp" method="post"><h4 align="center">请输入账号:<input type="text" name="name"><br><br>请输入密码(要求:必须包含大小写英文和数字无非法字符,长度大于6位小于20位):<input type="password" name="password1"><br><br><input type="button" value="注册" onclick="checkPassword()"></h4>
</form>
</body>
</html>

Mapper配置

1.创建Mapper接口,共分为三个:对应的test为其测试类
1.StudentMapper:

package Mapper;import bean.*;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface StudentMapper {//显示所有学生信息public List<Student> showAllStudents();//显示某个学生信息public Student showStudent(String username);//查找  学生public Student searchUser1(@Param("username") String username,@Param("password") String password);//查找  企业public Company searchUser2(@Param("username")String username,@Param("password")String password);//查找  管理员public User searchUser3(@Param("username")String username, @Param("password")String password);//插入用户public void insertUser(Student student);//修改数据public int updateStudent(Student student);//更新学生的就业信息public int updateStuJob(@Param("jobName") String jobName,@Param("username") String username,@Param("jobId") String jobId);//删除某个学生public int deleteStudent(String username);//学生向公司发送意愿请求public void requestOffer(@Param("susername") String susername,@Param("cusername") String cusername,@Param("id") String id );//查找用户投递的公司信息public List<CompanyInformation> searchRequestJob(String username);//显示某学生的确定公司信息public Information showJob(String username);//显示所有学生及其工作公司信息public List<stuJob> showStuJob();}

2.CompanyMapper

package Mapper;import bean.Company;
import bean.CompanyAndInformations;
import bean.CompanyInformation;
import bean.stuPosition;
import org.apache.ibatis.annotations.Param;
import org.junit.runners.Parameterized;import java.util.List;public interface CompanyMapper {//修改企业信息public int updateCompany(Company company);//public int updateCompany(CompanyInformation companyInformation);//修改企业职位信息public int updateCompanyInfo(CompanyInformation companyInformation);//显示所有公司信息public List<Company> showAllCompanies();//插入用户public void insertUser(Company company);//添加公司职位信息public void insertPosInformation(CompanyInformation companyInformation);//显示某个公司信息public Company showCompany(String username);//删除某行数据public int delCompanyInformaition(@Param("username") String username,@Param("id") String id);//获取职位的个数public int getCompanyInformaitionRows(String username);//显示其职位信息public List<CompanyInformation> showCompanyInformaition(String username);//显示所有职位信息public List<CompanyAndInformations> showAllCompanyInformaitions();//公司向学生发送意愿请求public void responseOffer(@Param("susername") String susername, @Param("cusername") String cusername, @Param("id") String id);//查看公司向学生发送offer的公司全部信息public List<CompanyInformation> showResponseOffers(String username);//查看学生应聘本公司的全部信息public List<stuPosition> showRequestOfferStu(String username);//查看公司发送给学生的所有offerpublic List<stuPosition> showAllResponseOffers(String username);//删除某个公司public int deleteCompany(String username);}

3.AdminMapper

package Mapper;import org.apache.ibatis.annotations.Param;public interface AdminMapper {public void insertUser(@Param("username") String username, @Param("password") String password);}

2.对应的mapper.xml文件

1.AdminMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Mapper.AdminMapper"><insert id="insertUser">insert into admin values(#{username},#{password})</insert>
</mapper>

2.CompanyMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Mapper.CompanyMapper"><update id="updateCompany" >update company set username=#{username},password=#{password},name=#{name},introduce=#{introduce},contact=#{contact},telephone=#{telephone},place=#{place},positionCount=#{positionCount} where username=#{username}</update><select id="showAllCompanies" resultType="bean.Company">select * from company;</select><update id="updateCompanyInfo">update companyposition set username=#{username},id=#{id},position=#{position},salary=#{salary},counts=#{counts} where username=#{username} and id=#{id}</update><insert id="insertUser">insert into company values(#{username},#{password},#{name},#{introduce},#{introduce},#{telephone},#{place},#{positionCount})</insert><insert id="insertPosInformation">insert into CompanyPosition values(#{username},#{id},#{position},#{salary},#{counts})</insert><select id="showCompany" resultType="bean.Company">select * from company where username=#{username}</select><delete id="delCompanyInformaition" >delete from companyposition where username=#{username} and id=#{id}</delete><select id="getCompanyInformaitionRows" resultType="Integer">SELECT COUNT(*) FROM companyposition WHERE username=#{username}</select><select id="showCompanyInformaition" resultType="bean.CompanyInformation">select * from companyposition where username=#{username}</select><select id="showAllCompanyInformaitions" resultType="bean.CompanyAndInformations">select company.username,password,name,introduce,contact,telephone,place,positionCount,id,position,salary,countsfrom companyposition,company wherecompanyposition.username=company.username</select><update id="responseOffer">update offer set com=1 where susername=#{susername} and cusername=#{cusername} and id=#{id}</update><select id="showResponseOffers" resultType="bean.CompanyInformation">SELECT distinct cusername username,companyposition.id,POSITION,salaryFROM offer INNER JOIN companypositionWHERE companyposition.username=offer.cusername ANDcompanyposition.id=offer.id  and com=1 AND susername=#{susername}ORDER BY cusername DESC</select><select id="showRequestOfferStu" resultType="bean.stuPosition">SELECT distinct student.username,NAME,sex,DATA,sid,telephone,address,school,major,class1,special,companyposition.id,POSITION FROM offer,student,companypositionWHERE student.username=offer.susername ANDcompanyposition.username=offer.cusername ANDoffer.id=companyposition.id AND cusername=#{cusername} ORDER BY susername DESC</select><select id="showAllResponseOffers" resultType="bean.stuPosition">SELECT student.username,NAME,sex,DATA,sid,telephone,address,school,major,class1,special,companyposition.id,POSITION FROM offer,student,companyposition WHERE student.username=offer.susername ANDcompanyposition.username=offer.cusername ANDoffer.id=companyposition.id AND cusername=#{cusername} and com=1ORDER BY susername DESC</select><delete id="deleteCompany">delete from company where username=#{username}</delete>
</mapper>

3.StudentMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="Mapper.StudentMapper"><resultMap id="student" type="bean.Student"><result property="username" column="username"/><result property="password" column="password"/><result property="name" column="name"/><result property="sex" column="sex"/><result property="data" column="data"/><result property="id" column="sid"/><result property="telephone" column="telephone"/><result property="address" column="address"/><result property="school" column="school"/><result property="major" column="major"/><result property="class1" column="class1"/><result property="special" column="special"/><result property="job" column="job"/><result property="jobName" column="jobName"/><result property="jobId" column="jobId"/></resultMap>
<select id="showAllStudents" resultMap="student">select * from student
</select><select id="showStudent" resultMap="student">select * from student where username=#{username}</select><select id="searchUser1" resultType="bean.Student">select * from student where username=#{username} and password=#{password}</select><select id="searchUser2" resultType="bean.Company">select * from company where username=#{username} and password=#{password}</select><select id="searchUser3" resultType="bean.User">select username name,password pdfrom admin where username=#{username} and password=#{password}</select><insert id="insertUser">insert ignore  into student values(#{username},#{password},#{name},#{sex},#{data},#{id},#{telephone},#{address},#{school},#{major},#{class1},#{special},#{job},#{jobName},#{jobId})</insert><update id="updateStudent">update student set password=#{password},name=#{name},sex=#{sex},data=#{data},telephone=#{telephone},address=#{address},school=#{school},major=#{major},class1=#{class1},special=#{special},job=#{job},jobName=#{jobName},jobId=#{jobId} where sid=#{id}</update><update id="updateStuJob">update student set job="是",jobName=#{jobName},jobId=#{jobId} where username=#{username}</update><delete id="deleteStudent">delete from student where username=#{username}</delete><insert id="requestOffer" >insert into offer values(#{susername},#{cusername},#{id},1,0)</insert><select id="searchRequestJob" resultType="bean.CompanyInformation">SELECT distinct cusername username,companyposition.id,POSITION,salary,counts FROM offer INNER JOIN companypositionWHERE companyposition.username=offer.cusernameAND susername=#{susername} ORDER BY cusername DESC</select><select id="showJob" resultType="bean.Information">SELECT DISTINCT company.username,company.name,companyposition.id,companyposition.position,companyposition.salaryFROM  student,company,offer,companypositionWHERE company.username=offer.cusernameAND offer.susername=student.usernameAND company.username=companyposition.usernameAND jobName=company.username  AND companyposition.id=student.jobIdAND student.job='是' AND student.username=#{username}</select><select id="showStuJob" resultType="bean.stuJob">SELECT  DISTINCT student.username,student.name,student.sid,student.job,student.jobName,company.username,company.name,companyposition.id,companyposition.position,companyposition.salaryFROM student,companyposition,companywhere companyposition.username=company.usernameAND jobName=companyposition.username AND jobId=companyposition.id</select>
</mapper>

项目源码

链接:https://pan.baidu.com/s/1AaOzOrucOrQ23sJNnMoI5Q
提取码:4zh7

总结

至此 所有功能全部完成。有不懂的地方欢迎前来询问或者有错误的地方欢迎前来指正。

基于JavaWeb Mybatis+MVC(JSP + servlet + javabean)的高校就业管理系统(含项目源码)相关推荐

  1. java高校人事管理系统源码_基于jsp的某高校人事管理系统-JavaEE实现某高校人事管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的某高校人事管理系统, 该项目可用各类java课程设计大作业中, 某高校人事管理系统的系统架构分为前后台两部分, 最 ...

  2. Jsp Servlet Mysql实现的Java Web在线商城项目源码

    今天给大家演示一款由jsp servlet MySQL实现的在线商城系统 本系统实现了管理员管理用户.商品(商品分类).订单.留言.新闻等功能,前台会员注册登录,查看商品信息,加入商品到购物车.提交订 ...

  3. 基于JavaWeb的公司人才招聘系统 课程论文+流程图及源文件+项目源码

    资源下载地址:https://download.csdn.net/download/sheziqiong/85731113 资源下载地址:https://download.csdn.net/downl ...

  4. 基于javaweb的美发店理发店会员管理系统ssm项目源码

    但是由于我国大型的美容美发店企业比较少,绝大多数的美容美发店都是中小型的个体经营店面,工作人员也不是很多,大概就在8-20个人左右,在中小型的美容美发店中用信息化的管理方式去管理整个店铺,目前还是一个 ...

  5. 基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 ...

  6. 基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 项目架构:B ...

  7. 基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  8. 基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  9. 【飞轮储能】基于matlab simulink飞轮储能(永磁同步电机)仿真【含Matlab源码 2421期】

    一.⛄获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞轮储能]基于matlab simulink飞轮储能(永磁同步电机)仿真[含Matlab源码 2421期] 点击上面蓝色字体,直接付费下 ...

最新文章

  1. JQuery图表插件之Flot
  2. 开发基于Web的RSS阅读器
  3. Python 的 51 个秘密曝光,Github 获 2 万星
  4. 针对sqoop1.99.6 从jdbc向hdfs中抽取数据的几点感想
  5. 获取某个输入框的字符长度_收藏,最全的字符串函数方法,总有你用到的~
  6. php中mysql的增删_PHP MySql增删改查的简单实例
  7. 打造 Microsoft Windows Server 2008 R2 SP1 支持的 Dell 桌面虚拟化解决方案
  8. LeetCode 44.通配符匹配(动态规划)
  9. ResNet 残差神经网络
  10. XP 远程连接window 2008 网络级别身份验证问题解决方法
  11. [Shapenet V1数据集] obj格式转binvox格式文件出现全为0的错误
  12. Word未保存文档恢复
  13. IT 最高,2018 年全国平均年薪!非私企 147,678¥
  14. 刚刚 Kubernetes 1.25 正式发布,所有变化都在这儿了
  15. html中无语义的标签,HTML语义类标签都有哪些?
  16. (三)安装seafile服务器
  17. 速卖通店铺销量怎么提升?
  18. emui系统就是鸿蒙吗,华为EMUI是不是鸿蒙系统
  19. linux wget
  20. 前端面试必读,助力秋招!

热门文章

  1. SEO人员,建立外链的注意事项有哪些?
  2. vue处理图片添加水印
  3. 大学生计算机专业顶岗实习日记24篇通用
  4. c语言ik,C语言入门 - osc_xgq4n4ik的个人空间 - OSCHINA - 中文开源技术交流社区
  5. 一次因内存覆盖引起的system dump问题分析,基于linux的crash工具。
  6. CYCA少儿形体礼仪 宁波市培训成果考核圆满落幕
  7. 议程公布 | 华为、爱立信、中兴三大通信巨头确认出席NEPCON峰会
  8. 记住密码php代码,推荐10款记住密码的用法代码汇总
  9. 数据挖掘4---朴素贝叶斯算法
  10. SQL进阶之EXISTS谓词的用法