基于JavaWeb Mybatis+MVC(JSP + servlet + javabean)的高校就业管理系统(含项目源码)
基于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> | <a href="jspdemo/workdemo/Announcement.jsp">公告信息</a> | <a href="/RecruitServlet?action=showCompanies">招聘信息</a> | <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> 账号 </th><th> 公司名称 </th><td> 公司简介 </td><td> 联系人 </td><td> 联系电话 </td><td> 工作地点 </td><td> 需要岗位数 </td><td colspan="4">操作</td></tr><c:forEach items="${sessionScope.company}" var="inf"><tr><td> ${inf.username} </td><td> ${inf.name} </td><td> ${inf.introduce} </td><td> ${inf.contact} </td><td> ${inf.telephone} </td><td> ${inf.place} </td><td> ${inf.positionCount} </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> | <a href="/RecruitServlet?action=showCompanies&username=${sessionScope.username}">查看招聘信息</a> | <a href="/RecruitServlet?action=showStuRequestJob&username=${sessionScope.username}">投递简历信息</a> | <a href="/RecruitServlet?action=showStuResponseJob&username=${sessionScope.username}">填写就业信息</a> | <a href="/RecruitServlet?action=showGetJob&username=${sessionScope.username}">查看就业信息</a> | <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>");%> | <a href="/ManageCompany?action=showStuCompanyInfo&username=${sessionScope.username}">查看应聘信息</a> | <a href="/ManageCompany?action=showAllResponseOffer&username=${sessionScope.username}">查看发送offer</a> | <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> | <a href="/manageInformation?action=showAllCompany&admin=${sessionScope.username}">管理企业信息</a> | <a href="/manageInformation?action=showAllStuCompany&admin=${sessionScope.username}">查看就业信息</a> | <a href="/jspdemo/adminSystem/registerAdmin.jsp">添加管理员</a> | <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> 账号 </th><th> 密码 </th><td> 姓名 </td><td> 性别 </td><td> 出生日期 </td><td> 学号 </td><td> 电话 </td><td> 家庭住址 </td><td> 院系 </td><td> 专业 </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)的高校就业管理系统(含项目源码)相关推荐
- java高校人事管理系统源码_基于jsp的某高校人事管理系统-JavaEE实现某高校人事管理系统 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的某高校人事管理系统, 该项目可用各类java课程设计大作业中, 某高校人事管理系统的系统架构分为前后台两部分, 最 ...
- Jsp Servlet Mysql实现的Java Web在线商城项目源码
今天给大家演示一款由jsp servlet MySQL实现的在线商城系统 本系统实现了管理员管理用户.商品(商品分类).订单.留言.新闻等功能,前台会员注册登录,查看商品信息,加入商品到购物车.提交订 ...
- 基于JavaWeb的公司人才招聘系统 课程论文+流程图及源文件+项目源码
资源下载地址:https://download.csdn.net/download/sheziqiong/85731113 资源下载地址:https://download.csdn.net/downl ...
- 基于javaweb的美发店理发店会员管理系统ssm项目源码
但是由于我国大型的美容美发店企业比较少,绝大多数的美容美发店都是中小型的个体经营店面,工作人员也不是很多,大概就在8-20个人左右,在中小型的美容美发店中用信息化的管理方式去管理整个店铺,目前还是一个 ...
- 基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高校勤工助学管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 ...
- 基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java毕业生就业管理系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 项目架构:B ...
- 基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA毕业生就业管理系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...
- 基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高校招生管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 【飞轮储能】基于matlab simulink飞轮储能(永磁同步电机)仿真【含Matlab源码 2421期】
一.⛄获取代码方式 获取代码方式1: 完整代码已上传我的资源:[飞轮储能]基于matlab simulink飞轮储能(永磁同步电机)仿真[含Matlab源码 2421期] 点击上面蓝色字体,直接付费下 ...
最新文章
- JQuery图表插件之Flot
- 开发基于Web的RSS阅读器
- Python 的 51 个秘密曝光,Github 获 2 万星
- 针对sqoop1.99.6 从jdbc向hdfs中抽取数据的几点感想
- 获取某个输入框的字符长度_收藏,最全的字符串函数方法,总有你用到的~
- php中mysql的增删_PHP MySql增删改查的简单实例
- 打造 Microsoft Windows Server 2008 R2 SP1 支持的 Dell 桌面虚拟化解决方案
- LeetCode 44.通配符匹配(动态规划)
- ResNet 残差神经网络
- XP 远程连接window 2008 网络级别身份验证问题解决方法
- [Shapenet V1数据集] obj格式转binvox格式文件出现全为0的错误
- Word未保存文档恢复
- IT 最高,2018 年全国平均年薪!非私企 147,678¥
- 刚刚 Kubernetes 1.25 正式发布,所有变化都在这儿了
- html中无语义的标签,HTML语义类标签都有哪些?
- (三)安装seafile服务器
- 速卖通店铺销量怎么提升?
- emui系统就是鸿蒙吗,华为EMUI是不是鸿蒙系统
- linux wget
- 前端面试必读,助力秋招!