本文实例为大家分享了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. requests基本用法

    首先,确认一下:已安装 requests 从一些简单的示例开始吧. 发送请求 使用 Requests 发送网络请求非常简单. 一开始要导入 Requests 模块: >>> impo ...

  2. 诊断日志知多少 | DiagnosticSource 在.NET上的应用

    1. 引言 最近为了解决ABP集成CAP时无法通过拦截器启用工作单元的问题,从小伙伴那里学了一招.借助DiagnossticSource,可以最小改动完成需求.关于DiagnosticSource晓东 ...

  3. Java之线程池解析

    线程池 目录 线程池 线程池概述 创建一个线程池并提交线程任务 线程池源码解析 参数认识 构造方法 提交任务 addWorker 执行任务 关闭线程池 线程池概述 什么是线程池 为什么使用线程池 线程 ...

  4. Jmeter接口测试--上传附件

    jmeter接口测试上传附件指引 1.添加HTTP请求取样器--在取样器中的HTTP请求项中对"使用KeepAlive"."对POST使用multipart/form-d ...

  5. operator bool()是什么

    operator bool()是什么 在C++中,operator TypeName()语法用来将对象转换为指定的TypeName类型,当这里TypeName为bool时,就可以直接在条件判断式里面直 ...

  6. 学不动了!微信官方推出 Web 前端和小程序统一框架 Kbone

    听说最近微信官方推出了一个统一 Web 前端和小程序的框架 -- Kbone ,特意去看了下... 为什么微信要搞Kbone? 微信小程序的底层模型和 Web 端不同,开发者无法直接把 Web 端的代 ...

  7. logstash-配置文件详解

      kafka  将 kafka topic 中的数据读取为事件   kafka{ bootstrap_servers=> "kafka01:9092,kafka02:9092,kaf ...

  8. 使用OLEDB方式 读取excel和csv文件

    /// <summary> /// 使用OLEDB读取excel和csv文件 /// </summary> /// <param name="path" ...

  9. Python常用模块之random和time

    常用模块: time: 分为三种格式: 1.时间戳:从1970年1月1日0点0分0秒到现在经过的秒数 用于时间间隔的计算 import time print(time.time()) 2.字符串显示时 ...

  10. IL角度理解C#中字段,属性与方法的区别

    IL角度理解C#中字段,属性与方法的区别 1.字段,属性与方法的区别 字段的本质是变量,直接在类或者结构体中声明.类或者结构体中会有实例字段,静态字段等(静态字段可实现内存共享功能,比如数学上的pi就 ...