本文实例为大家分享了java就业信息管理平台开发案例,供大家参考,具体内容如下

可查询公司信息,学生信息,班级信息,针对学生就业与否信息的统计,老师和管理员登录后的权限不同等
就业信息管理平台想要实现的是各个班级的学生就业情况,数据库里建有6张表,分别是班级,公司,职位,学生,登录用户

其中就业信息在界面上显示的内容是学生信息和职位的组合,在jsp页面中是拼接来实现,如果这个学生找到工作则需要填写就业信息,否则空着。如就业截图。

在企业信息中,需要实现的功能是首先有计划招聘时间,实际招聘时间,每个都有老师,如果这个公司招聘结束,则要通过后面的编辑把实际招聘时间和实际招聘老师填写上去,招聘状态显示为已结束;否则不填,招聘状态为招聘中。还有两个功能就是两种查询:一是根据招聘查询,采用option下拉框中的选择;而是根据公司名称查询,是在框中输入公司关键字查询,这里用到了like模糊查询。而在就业信息中只用到了option下拉选择中的根据班级名的查询。

在班级信息只用到了输入关键字的精确查询。他们查询到的统计信息都会根据每页能够显示的条数进行分页,尤其是下拉框选择查询,它们可能不只一条信息。

基础信息里有班级信息学生信息,学生信息显示的是学生的基本信息。

个人信息里显示的修改密码和用户信息,用户信息的一个特点是管理员和普通教师的权限问题。普通教师登录只能查看信息,但不能作任何修改。

所有基本信息都能实现增删改查,其中作分页查询时遇到的难点还是有的——下拉选择,此外就是分页时用到的page.js文件,实现的是显示第几页/共几页,首页/上一页/下一页/尾页。

还有就是权限问题,我是在数据库中注册登录用户时都有一个permission权限,填yes/no,然后在后面的程序中判断出来。本项目唯一缺憾就是没有实现导入导出功能,就是在就业信息栏右上角设置一个导入和导出按钮,就是一个模板,导入实现的是批量输入excel中的学生信息,导出实现的是把学生的就业情况导出excel表格形式。

1. addCompany_action.java 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.ben.emp.action;
  
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
  
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 com.ben.emp.model.company;
import com.ben.emp.model.user;
import com.ben.emp.service.companyService;
import com.ben.emp.service.impl.companyServiceImpl;
  
@WebServlet("/addCompany.action")
public class addCompany_action extends HttpServlet{
  
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 req.getRequestDispatcher("/addCompany.jsp").forward(req, resp);
 }
  
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 String name = req.getParameter("name");
 String introduce = req.getParameter("introduce");
 String requirement = req.getParameter("requirement");
 String address = req.getParameter("address");
 String plantime = req.getParameter("plantime");
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 companyService cs = new companyServiceImpl();
 company com = new company();
 HttpSession session = req.getSession(true);
 user user = (user) session.getAttribute("user");
 com.setName(name);
 com.setIntroduce(introduce);
 com.setRequirement(requirement);
 com.setAddress(address);
 try {
 com.setPlantime(sdf.parse(plantime));
 } catch (ParseException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 com.setState("招聘中");
 com.setTeach1(user.getName());
 com.setTeach2("");
 com.setId(0);
 cs.addCompany(com);
 resp.sendRedirect(req.getContextPath()+"/company.action");
 }
}

2. editStudent_action.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package com.ben.emp.action;
  
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
  
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 com.ben.emp.model.classes;
import com.ben.emp.model.student;
import com.ben.emp.service.classesService;
import com.ben.emp.service.studentService;
import com.ben.emp.service.impl.classesServiceImpl;
import com.ben.emp.service.impl.studentServiceImpl;
  
@WebServlet("/editStudent.action")
public class editStudent_action extends HttpServlet{
  
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 String strid = req.getParameter("id");
 int studentId = Integer.valueOf(strid);
 studentService ss = new studentServiceImpl();
 student stu = ss.getStudentById(studentId);
 req.setAttribute("stu", stu);
 req.getRequestDispatcher("/editStudent.jsp").forward(req, resp);
 }
  
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 String strid = req.getParameter("id");
 int studentId = Integer.valueOf(strid);
 String name = req.getParameter("studentname");
 String sex = req.getParameter("sex");
 String school = req.getParameter("school");
 String major = req.getParameter("major");
 String bytime = req.getParameter("bytime");
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 String tel = req.getParameter("telephone");
 String qq = req.getParameter("qq");
 studentService ss = new studentServiceImpl();
 student stu = new student();
// HttpSession session = req.getSession(true);
// user user = (user)session.getAttribute("user");
 String classname = req.getParameter("selectclass");
 classesService cs = new classesServiceImpl();
 classes cla = cs.getClassesByName(classname);
 stu.setName(name);
 stu.setSex(sex);
 stu.setSchool(school);
 stu.setMajor(major);
 try {
 stu.setBytime(sdf.parse(bytime));
 } catch (ParseException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 stu.setTel(tel);
 stu.setQq(qq);
 stu.setClassid(cla.getId());
 stu.setId(studentId);
 ss.editStudent(stu);
 resp.sendRedirect(req.getContextPath()+"/student.action");
 }
  
}

3. employ_action.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package com.ben.emp.action;
  
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
  
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 com.ben.emp.model.classes;
import com.ben.emp.model.info;
import com.ben.emp.model.student;
import com.ben.emp.service.classesService;
import com.ben.emp.service.infoService;
import com.ben.emp.service.studentService;
import com.ben.emp.service.impl.classesServiceImpl;
import com.ben.emp.service.impl.infoServiceImpl;
import com.ben.emp.service.impl.studentServiceImpl;
  
@WebServlet("/employ.action")
public class employ_action extends HttpServlet{
  
 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 classesService cs = new classesServiceImpl();
 List<classes> cla = cs.getClasses();
 List<String> lst = new ArrayList<String>();
 for(classes ele : cla){
 String name = ele.getName();
 lst.add(name);
 }
 studentService ss = new studentServiceImpl();
 List<student> lstu = ss.getStudentPage(1, 10);
 infoService is = new infoServiceImpl(); //连接到就业信息表里
 List<info> lin = new ArrayList<info>();
 for(student ele : lstu){
 info info = new info();
 info = is.getInfoByStudentId(ele.getId());
 lin.add(info);
 }
 List<student> count = ss.getStudentPage(1, Integer.MAX_VALUE);
 int number = count.size();
 int page = number % 10 == 0 ? number / 10 : (number/10) + 1;
 req.setAttribute("lst", lst);
 req.setAttribute("value", "全部");
 req.setAttribute("number", number);
 req.setAttribute("page", page);
 req.setAttribute("index", 1);
 req.setAttribute("list", lstu);
 req.setAttribute("lin", lin);
 req.getRequestDispatcher("/employ.jsp").forward(req, resp);
 }
  
 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 throws ServletException, IOException {
 String value = req.getParameter("select");
 classesService cs = new classesServiceImpl();
 List<classes> cla = cs.getClasses();
 List<String> lst = new ArrayList<String>();
 lst.add("全部");
 for(classes ele : cla){
 String name = ele.getName();
 lst.add(name);
 }
 lst.remove(value);
 studentService ss = new studentServiceImpl();
 infoService is = new infoServiceImpl(); //连接到就业信息表里
 List<info> lin = new ArrayList<info>();
 if(value.equals("全部")){
 List<student> count = ss.getStudentPage(1, Integer.MAX_VALUE);
 int number = count.size();
 int page = number % 10 == 0 ? number / 10 : (number/10) + 1;
 String strpageIndex = req.getParameter("pageIndex");
 int index = Integer.valueOf(strpageIndex);
 List<student> lstu = ss.getStudentPage(index, 10);
 for(student ele : lstu){
 info info = new info();
 info = is.getInfoByStudentId(ele.getId());
 lin.add(info);
 }
 req.setAttribute("number", number);
 req.setAttribute("page", page);
 req.setAttribute("index", index);
 req.setAttribute("list", lstu);
 req.setAttribute("lin", lin);
 }else{
 List<student> count = ss.getStudentByClassName(value, 1, Integer.MAX_VALUE);
 int number = count.size();
 int page = number % 10 == 0 ? number / 10 : (number/10) + 1;
 String strpageIndex = req.getParameter("pageIndex");
 int index = Integer.valueOf(strpageIndex);
 List<student> lstu = ss.getStudentByClassName(value, index, 10);
 for(student ele : lstu){
 info info = new info();
 info = is.getInfoByStudentId(ele.getId());
 lin.add(info);
 }
 req.setAttribute("number", number);
 req.setAttribute("page", page);
 req.setAttribute("index", index);
 req.setAttribute("list", lstu);
 req.setAttribute("lin", lin);
 }
 req.setAttribute("value", value);
 req.setAttribute("lst", lst);
 req.getRequestDispatcher("/employ.jsp").forward(req, resp);
 }
}

4. employ.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@ include file="base.jsp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>无标题文档</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<!-- 自己加的一行 jquery.js -->
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js/page.js"></script>
<script type="text/javascript">
$(function(){
 $("select").change(function(){
 $("#pageIndex").val(1);
 $("form").submit();
 });
 $(".pg").click(subfun);
});
function subfun(){
 var id = $(this).attr("id");
 var value = $("#pageIndex").val();
 var count = $("#pageCount").val();
 if(id == "first"){
 $("#pageIndex").val(1);
 $("form").submit();
 }else if(id == "previous"){
 if(Number(value) == 1){
 return false;
 }else{
 $("#pageIndex").val(Number(value)-1);
 $("form").submit();
 }
 }else if(id == "next"){
 if(value == count){
 return false;
 }else{
 $("#pageIndex").val(Number(value)+1);
 $("form").submit();
 }
 }else{
 $("#pageIndex").val(count);
 $("form").submit();
 }
 return false;//阻止a标签的网页跳转的功能
}
</script>
</head>
<body>
 <div class="place">
 <span>位置:</span>
 <ul class="placeul">
 <li><a href="#">首页</a></li>
 <li><a href="#">就业信息</a></li>
 </ul>
 </div>
 <form action="employ.action" method="post">
 <div class="rightinfo">
 <div class="tools">
 <ul class="toolbar">
 <li><span>班级名称:
 <select style="border:1px solid #056dae" id="select" name="select">
 <option>${requestScope.value }</option>
 <c:forEach items="${requestScope.lst }" var="ele">
 <option>${ele }</option>
 </c:forEach>
 </select>
 </span></li>
 </ul>
 <ul class="toolbar1">
 <li><span><img src="images/t05.png" /></span>下载</li>
 </ul>
 </div>
 <table class="imgtable">
 <thead>
 <tr>
 <th width="100px;">姓名</th>
 <th>性别</th>
 <th>毕业院校</th>
 <th>专业</th>
 <th>毕业时间</th>
 <th>电话</th>
 <th>就业单位</th>
 <th>职位</th>
 <th>工资</th>
 <th>就业时间</th>
 </tr>
 </thead>
 <tbody>
 <c:forEach items="${requestScope.list }" var="stu" varStatus="s">
 <tr>
 <td class="imgtd">${stu.name }</td>
 <td>${stu.sex }</td>
 <td>${stu.school }</td>
 <td>${stu.major }</td>
 <td>${stu.bytime }</td>
 <td>${stu.tel }</td>
 <c:if test="${requestScope.lin[s.index] == null }" >
 <td colspan="4" style="text-align:center;"><a href="addInfo.action?id=${stu.id }">填写就业信息</a></td>
 </c:if>
 <c:if test="${requestScope.lin[s.index] != null }">
 <td>${requestScope.lin[s.index].companyname }</td>
 <td>${requestScope.lin[s.index].post }</td>
 <td>${requestScope.lin[s.index].salary }</td>
 <td>${requestScope.lin[s.index].worktime }</td>
 </c:if>
 </tr>
 </c:forEach>
 </tbody>
 </table>
 <input type="hidden" name="pageIndex" id="pageIndex" value="${requestScope.index }">
 <input type="hidden" name="pageCount" id="pageCount" value="${requestScope.page }">
 <input type="hidden" name="pageNumber" id="pageNumber" value="${requestScope.number }">
 <div class="pagin" id="page">
 <div class="message">共<i class="blue">&nbsp;${requestScope.number }&nbsp;</i>条记录,共<i class="blue">
 &nbsp;${requestScope.page }</i>&nbsp;页,当前显示第&nbsp;<i class="blue">${requestScope.index }&nbsp;</i>页</div>
 <ul class="paginList">
 <li class="paginItem"><a href="javascript:;" class="paginItem" id="first"><span class="pagepre"></span></a></li>
 <li class="paginItem"><a href="javascript:;" class="paginItem" id="previous">上一页</a></li>
 <li class="paginItem"><a href="javascript:;" class="paginItem" id="next">下一页</a></li>
 <li class="paginItem"><a href="javascript:;" class="paginItem" id="last"><span class="pagenxt"></span></a></li>
 </ul>
 </div>
 </div>
 </form>
</body>
</html>

5. page.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$(function(){
 $(".paginItem").click(subfun);
});
function subfun(){ //必须要知道我获取的是哪一个class,我点的是哪一个a标签
 var id = $(this).attr("id");
 var value = $("#pageIndex").val(); //获取当前页
 var count = $("#pageCount").val(); //获取尾页
 if(id == "first"){
 $("#pageIndex").val(1); //将pageIndex当前页
 $("form").submit(); //通过a标签进行表单提交
 }else if(id == "previous"){ //判断 本页是否为首页 如果为首页 如果部位首页的话 判断当前页是否为1 ==1首页 !=1 不是首页
 if(Number(value) == 1){
 return false;
 }else{
 $("#pageIndex").val(Number(value)-1);
 $("form").submit();
 }
 }else if(id == "next"){ //判断当前页是否为尾页 尾页如何判断 计算尾页 计算数据库的总条数 / 每页显示多少条 结果是否+1
 if(value == count){
 return false;
 }else{
 $("#pageIndex").val(Number(value)+1);
 $("form").submit();
 }
 }else{
 $("#pageIndex").val(count);
 $("form").submit();
 }
 return false; //阻止a标签的网页跳转的功能
}

效果图:

java开发就业信息管理系统的更多相关文章

  1. java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  2. java开发学生信息管理系统 源码

    开发环境:    Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MYSQL数据库 运行效果图 源码及原文链接:https://javadao.xyz/forum.php?mo ...

  3. java开发就业招聘管理系统 ssh源码

    开发环境:    Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MySql数据库 此项目分为 用户 企业  管理员三种角色 运行效果图

  4. 实用干货!Java开发企业级权限管理系统视频教程

    全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统.学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相 ...

  5. java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识.用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要 ...

  6. Java 实现学生信息管理系统

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

  7. SSM开发健康信息管理系统

    Spring+Spring MVC+MyBatis基于MVC架构的个人健康信息管理系统 采用ssm框架,包含 健康档案.健康预警(用户输入数据,系统根据范围自动判断给出不同颜色箭头显示). 健康分析. ...

  8. Java开发就业形势和面试技巧

    如果从软件编程的就业来讲,如果你现在不懂架构,那么找到一份好工作还是比较难的,但是这里面有两点需要注意: 传统软件公司,这类公司还会使用最为原始的开发技术(SSH),但是这样的传统软件公司的招聘量已经 ...

  9. JAVA之学生信息管理系统

    StudentManager系统 系统的数据: 变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成) 变量 name 为字符串类型 String,用于存储学生 ...

随机推荐

  1. 微信小程序中使用 npm包管理 (保姆式教程)

    打开自己的微信小程序项目,在勾选这个选项 然后在第一次应该是失败的提示"没有找到可以构建的npm包". 在 小程序的根目录下比如我的项目如图: 右击鼠标在终端中打开. 然后输入:n ...

  2. linux网卡驱动程序架构

    以cs89x0网卡驱动为例:

  3. 多测师讲解自动化测试 _RF数据库操作(上)_高级讲师肖sir

    一.安装库 1.查看数据库是否按安装 1.1 DatabaseLibrary pip3 install mysqlclient-2.0.1-cp37-cp37m-win_amd64.whl dos  ...

  4. 远程IO

    远程io 远程io ZLAN6842,ZLAN6844是8路远程O控制器.含有8路DI.8路DO,8路AI输入.其中DI支持干节点和湿节点,带光耦隔离:DO为继电器输出,具有5A 250VAC或5A ...

  5. Android开发签名证书的生成

    现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...

  6. 探索ParNew和CMS垃圾回收器

    前言 上篇文章我们一起分析了JVM的垃圾回收机制,了解了新生代的内存模型,老年代的空间分配担保原则,并简单的介绍了几种垃圾回收器.详细内容小伙伴们可以去看一下我的上篇文章:秒懂JVM的垃圾回收机制. ...

  7. C++学习---顺序表的构建及操作

    #include<iostream> #include<fstream> using namespace std; #define MAXLEN 100 //定义顺序表 str ...

  8. .Net Mvc学习——ASP.NET MVC中常用的ActionResult类型

    一.定义 MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等 ...

  9. springboot添加拦截器

    一,编写拦截器 public class TokenInterceptor implements HandlerInterceptor { @Override public boolean preHa ...

  10. pyqt设置窗口图标

    import sys from PyQt5.QtWidgets import QMainWindow,QApplication from PyQt5.QtGui import QIcon ''' 窗口 ...