java开发就业信息管理系统
本文实例为大家分享了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"> ${requestScope.number } </i>条记录,共<i class="blue"> ${requestScope.page }</i> 页,当前显示第 <i class="blue">${requestScope.index } </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开发就业信息管理系统的更多相关文章
- java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
- java开发学生信息管理系统 源码
开发环境: Windows操作系统开发工具: Eclipse+Jdk+Tomcat+MYSQL数据库 运行效果图 源码及原文链接:https://javadao.xyz/forum.php?mo ...
- java开发就业招聘管理系统 ssh源码
开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MySql数据库 此项目分为 用户 企业 管理员三种角色 运行效果图
- 实用干货!Java开发企业级权限管理系统视频教程
全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统.学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相 ...
- java实现科研信息管理系统
一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识.用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要 ...
- Java 实现学生信息管理系统
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
- SSM开发健康信息管理系统
Spring+Spring MVC+MyBatis基于MVC架构的个人健康信息管理系统 采用ssm框架,包含 健康档案.健康预警(用户输入数据,系统根据范围自动判断给出不同颜色箭头显示). 健康分析. ...
- Java开发就业形势和面试技巧
如果从软件编程的就业来讲,如果你现在不懂架构,那么找到一份好工作还是比较难的,但是这里面有两点需要注意: 传统软件公司,这类公司还会使用最为原始的开发技术(SSH),但是这样的传统软件公司的招聘量已经 ...
- JAVA之学生信息管理系统
StudentManager系统 系统的数据: 变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组成) 变量 name 为字符串类型 String,用于存储学生 ...
随机推荐
- 开始在Windows上开发Android
介绍 鉴于您正在阅读这篇文章,您很可能已经知道android是什么了.可能.在科幻小说和电影中,机器人本质上是具有拟人化特征的机器人.还记得<星球大战>里的C-3PO吗?那<星际迷航 ...
- c++ 西安交通大学 mooc 第十三周基础练习&第十三周编程作业
做题记录 风影影,景色明明,淡淡云雾中,小鸟轻灵. c++的文件操作已经好玩起来了,不过掌握好控制结构显得更为重要了. 我这也不做啥题目分析了,直接就题干-代码. 总结--留着自己看 1. 流是指从一 ...
- TMS, XYZ & WMTS的不同
WMS是OGC定义的协议,用于请求任意区域的渲染地图图像.客户可以根据需要以平铺模式对其进行请求. WMS-C是OSGeo创建的WMS扩展,它向功能文档中添加了元数据,以使客户端知道在哪里发出请求,从 ...
- day64 Pyhton 框架Django 07
day67 内容回顾 视图 1. CBV 定义 from django.views import View class Addpub(View): def get(self,request): sel ...
- day37 Pyhton 网络编程04
# tcp协议和udp协议的选择问题 # tcp # 大量的连续的数据 传递文件\发送邮件 # 文件的传递 # 下载电影 # udp # 短消息类 社交软件 # qq 微信 # 在线播放视频 快会丢帧 ...
- Go net/http包
net/http包 net/http是Go语言的内置包,它可以来创建HTTP客户端与服务端. 并且由net/http包创建的服务端性能十分高效,甚至不用nginx部署. client端 GET请求 以 ...
- 基于python实现顺序存储的栈
""" 栈 sstack.py 栈模型的顺序存储 重点代码 思路总结: 1.列表是顺序存储,但功能多,不符合栈的模型特征 2.利用列表,将其封装,提供接口方法 " ...
- BGP - 不同 AS 间运行的协议
在之前介绍的网络场景中,ERGRP,OPSF,RIP 等都是运行在单独一个 AS(自治系统之间).这些协议统称为 IGP - 内部网关协议 ,目的主要是为自治系统内发现邻居和计算路由,从而找到合适的路 ...
- Linux运维学习第二周记
1 梨花淡白柳深青, 2 柳絮飞时花满城. 3 惆怅东栏一株雪, 4 人生看得几清明. 老牛望春满地绿! 第二周直接要起飞了! 仍然是最基础最基础的东西,但也是特别多,的别重要! 第二周学记 1.Li ...
- 3. Distributional Reinforcement Learning with Quantile Regression
C51算法理论上用Wasserstein度量衡量两个累积分布函数间的距离证明了价值分布的可行性,但在实际算法中用KL散度对离散支持的概率进行拟合,不能作用于累积分布函数,不能保证Bellman更新收敛 ...