java+ssm+sql就业管理系统

系统的功能需求
     系统开发的总体任务是实现就业信息管理的系统化、规范化和自动化。系统功能需求分析是在系统开发的总体任务的基础上完成的。需要完成的功能主要有:

代码已经上传github,下载地址:https://github.com/21503882/employment
     1、能够完成对学校的专业信息、院系信息等基本信息进行管理,实现基本信息的添加、删除及修改操作。
     2、完成对毕业生基本信息的管理操作,实现学生信息的录入、删除、修改及查询的操作。同时对毕业生的就业信息进行登记管理
     3、完成学校教师信息的管理,对院校教师情况进行管理。
     4、完成学生就业情况的统计操作,分别按院系或专业进行统计。统计出已就业人数、未就业人数、总人数计算出就业率。
本系统的管理员功能模块划分如图4-1所示:
 java+ssm+sql就业管理系统
图4-1管理员功能模块
本系统的教师功能模块划分如图4-2所示:

 java+ssm+sql就业管理系统
图4-2教师功能模块

本系统的学生功能模块划分如图4-3所示:
 
图4-3学生功能模块
 java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

 

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

java+ssm+sql就业管理系统

登录窗口
 java+ssm+sql就业管理系统

java+ssm+sql就业管理系统


学生注册窗口

5.3 管理员功能模块详细设计
5.3.1 系统登录模块
本模块完成系统管理员用户的身份验证的功能,为保证系统的安全性,对于用户进行身份验证是非常有必要的,只有合法的用户才可以进入本系统。对应的磁盘文件为login.jsp,身份验证模块的界面设计如图5-4所示:
 
图5-4系统登录模块
5.3.2 系统主界面

成功经过身份验证之后,进去系统的主界面,在这个界面中,管理员可以进行功能选择,执行本系统的各项功能。系统主界面如图5-5所示:
 
图5-5 系统主界面
5.3.3 毕业生信息管理模块
1.学生信息管理模块
学生信息管理模块完成学生基本信息的添加、删除及修改的功能。对应的磁盘文件为stmanager.jsp,界面设计如图5-6所示:
 
图5-6 学生信息管理界面
2.学生信息添加模块
学生信息添加模块完成学生信息的添加功能。对应的磁盘文件为modst.jsp?sid= ,学生信息添加模块的设计如图5-7所示:
 
图5-7 学生信息添加界面
5.3.4教师信息管理模块
教师信息管理模块,完成教师信息的管理功能。
1.教师信息管理主页面
在主页面中显示所有已经录入的教师信息。对应的磁盘文件为tumanager.jsp,页面设计如图5-8所示:
 
图5-8教师信息管理模块主界面
    2.教师信息修改页面
在主页面中点击某个教师的修改按钮,进入修改教师信息页面。对应的磁盘文件为modtu.jsp?sid= ,页面设计如图5-9所示:
 
图5-9修改教师信息界面
5.3.5学生信息查询模块
   学生信息查询模块完成学生信息的查询操作。在学生信息查询模块中输入姓名进行查询,对应的磁盘文件为stfind.jsp,学生信息查询管理模块的设计如图5-10所示:
 
图5-10学生信息查询界面
5.3.6就业情况统计模块
    学生就业情况统计模块,完成学生就业人数、未就业人数、就业率的统计功能。可以按照院系、专业进行分类统计。对应的磁盘文件为jyltj.jsp,就业情况统计模块的设计如图5-11所示:
 
图5-11 就业情况统计页面
 
5.3.7院系管理模块
管理员对学校的院系信息进行管理。
1.院系管理主页面
在主页面中提供了新增和删除院系的功能链接。对应的磁盘文件为yxmanager.jsp,页面设计如图5-12所示:
 
图5-12 院系管理主页面
2.新增院系管理页面
在主页面中点击新增院系按钮,进入新增院系页面。对应的磁盘文件为addyx.jsp,页面设计如图5-13所示:
 
图5-13 新增院系管理页面
5.3.8专业管理模块
学校专业管理模块完成学校开设专业信息的添加、删除功能。
1.专业管理主页面
在主页中显示所有已经录入的专业信息。点击删除按钮将删除专业信息。对应的磁盘文件为mzmanager.jsp,专业管理模块的界面设计如图5-14所示:
 
图5-14专业管理主页面
2.添加专业信息页面
向系统中增加新的专业信息。对应的磁盘文件为addmz.jsp,添加专业管理模块的界面设计如图5-15所示:
 
图5-15添加专业管理页面

5.3.9修改密码模块
登录系统的管理员修改自己的密码。对应的磁盘文件为modipass.jsp,界面设计如图5-16所示:
 
图5-16修改密码模块
5.4 教师功能模块详细设计
5.4.1教师登录模块
在登录页面中输入教师的编号作为用户名,选择教师单选框即可登录教师功能模块。对应的磁盘文件为login.jsp,界面设计如图5-17所示:
 
图5-17 教师登录界面
5.4.2教师功能模块主页面
教师输入正确的用户名和密码后进入教师功能模块的主页面。在主页面中为教师提供了学生信息查询和就业情况统计功能。教师功能模块主界面设计如图5-18所示:

图5-18教师功能模块主界面

5.4.3学生信息查询模块
教师查询学生信息,输入学生姓名可以快速查到该学生信息。对应的磁盘文件为stfind.jsp,界面设计如图5-19所示:
 
图5-19 学生信息查询模块
5.4.4就业情况统计模块
教师统计学生就业情况。
1.就业统计主页面
可以按院系、专业或统计全部学生的就业信息。对应的磁盘文件为jyltj.jsp,界面设计如图5-20所示:
 
图5-20就业统计主页面
2.就业统计结果页面
统计已就业人数、未就业人数、总人数和就业率。对应的磁盘文件为jyl.jsp,界面设计如图5-21所示:

 
图5-21就业统计结果页面

5.5 学生功能模块详细设计
5.5.1学生登录模块
在登录页面中输入学生的编号作为用户名,选择学生单选框即可登录学生功能模块。对应的磁盘文件为login.jsp,界面设计如图5-22所示:
 
图5-22 学生登录界面
5.5.2学生功能模块主页面
学生输入正确的用户名和密码后进入学生功能模块的主页面。在主页面中为学生提供了浏览个人信息功能。主界面设计如图5-23所示:
 
图5-23 学生信息查询模块

 

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.stereotype.Controller;
import com.hdxy.vehicle.base.Pagination;
import com.hdxy.vehicle.entity.User;
import com.hdxy.vehicle.service.UserService;
import com.hdxy.vehicle.util.ActionResult;

/**
 * TODO 类描述
 * 
 * @version 0.0.1
 * @author generator
 * @date 2019-02-18
 */
@Controller
public class UserAction {
    @Autowired
    private UserService userService;

    /**
     * 显示所用用户信息并分页
     * 
     * @param entity
     * @return
     */
    @ResponseBody
    @RequestMapping("/isAdmin/findUser")
    public Pagination<User> findUser(User entity) {
        try {
            return userService.findPageByCondition(entity);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new Pagination<>(0, new ArrayList<>());
    }

    /**
     * 删除用户信息
     * 
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping("/isAdmin/delUser")
    public ActionResult delUser(Integer id) {
        ActionResult res = new ActionResult();
        try {
            userService.deleteById(id);
            res.setSuccess(true);
            res.setMsg("删除成功");
        } catch (Exception e) {
            e.printStackTrace();
            res.setMsg("出现异常,删除失败");
        }
        return res;
    }

    /**
     * 跳转编辑页面
     * 
     * @param id
     * @return
     */
    @RequestMapping("/isAdmin/forwardEditUser")
    public ModelAndView forwardEditUser(Integer id) {
        ModelAndView model = new ModelAndView();
        model.setViewName("backstage/editUser");
        try {
            User User = userService.findById(id);
            model.addObject("userEdit", User);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return model;
    }

    /**
     * 修改用户信息
     * 
     * @param entity
     * @return
     */
    @ResponseBody
    @RequestMapping("/isAdmin/upUser")
    public ActionResult upUser(User entity) {
        ActionResult res = new ActionResult();
        try {
            userService.updateById(entity);
            res.setSuccess(true);
            res.setMsg("修改成功");
        } catch (Exception e) {
            e.printStackTrace();
            res.setMsg("出现异常,修改失败");
        }
        return res;
    }

    /**
     * 异步上传图片
     * 
     * @param image
     * @param response
     */
    @ResponseBody
    @RequestMapping(value = "/isAdmin/upUserPhoto", method = RequestMethod.POST)
    public Map<String, Object> upImage(@RequestParam("file") MultipartFile image) {
        Map<String, Object> map = new HashMap<>();
        String file = "E:/development/apache-tomcat-8.5.15/webapps/hdxy-vehicle/";
        String userPhoto = null;
        try {
            // 获取图片名字,构建路径
            userPhoto = "img/user_photo/" + image.getOriginalFilename();
            File filepath = new File(file + userPhoto);
            image.transferTo(filepath);// 保存文件
            Map<String, Object> data = new HashMap<>();
            data.put("userPhoto", userPhoto);
            map.put("code", 0);
            map.put("msg", "上传成功");
            map.put("data", data);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return map;
    }

    /**
     * 添加人员信息
     * 
     * @param entity
     * @return
     */
    @ResponseBody
    @RequestMapping("/isAdmin/addUser")
    public ActionResult addUser(User entity) {
        ActionResult res = new ActionResult();
        try {
            entity.setRegtime(new Date());
            if (StringUtils.isEmpty(entity.getUserPhoto())) {
                entity.setUserPhoto("img/user_photo/erha.jpg");
            }
            userService.save(entity);
            res.setSuccess(true);
            res.setMsg("添加成功");
        } catch (Exception e) {
            e.printStackTrace();
            res.setMsg("出现异常,添加失败");
        }
        return res;
    }

    /**
     * 登录判断
     * 
     * @param entity
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("user/isUserLogin")
    public ActionResult isUserLogin(User entity, HttpSession session) {
        ActionResult result = new ActionResult();
        try {
            if (StringUtils.isNotEmpty(entity.getAccount()) && StringUtils.isNotEmpty(entity.getPassword())) {
                List<User> isUser = userService.findByCondition(entity);
                if (isUser.size() > 0 && isUser != null) {
                    if(isUser.get(0).getState()==1) {
                        session.setAttribute("user", isUser.get(0));
                        isUser.get(0).setLogtime(new Date());
                        // 更新当前登录时间
                        userService.updateById(isUser.get(0));
                        result.setMsg("登录成功!");
                        result.setSuccess(true);
                    }else {
                        result.setMsg("登录失败,账号被冻结!");
                    }
                } else {
                    result.setMsg("登录失败,账号和密码不一致!");
                }
            } else {
                result.setMsg("登录失败,账号或密码不能为空!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            result.setMsg("登录失败,出现异常!");
        }
        return result;
    }

    /**
     * 退出登录
     * 
     * @param session
     * @return
     */
    @RequestMapping("/isUser/exitLogin")
    public String exitLogin(HttpSession session) {
        session.removeAttribute("user");
        return "redirect:/index.jsp";
    }

    /**
     * 注册
     * 
     * @param entity
     * @param session
     * @return
     */
    @ResponseBody
    @RequestMapping("/user/userReg")
    public ActionResult userReg(User entity) {
        ActionResult result = new ActionResult();
        User isUser = new User();
        isUser.setAccount(entity.getAccount());
        try {
            if (StringUtils.isNotEmpty(entity.getAccount()) && StringUtils.isNotEmpty(entity.getPassword())) {
                List<User> users = userService.findByCondition(isUser);
                if (users.size() > 0 && users != null) {
                    result.setMsg("用户已存在,请重新输入登录账号!");

                } else {
                    result.setMsg("注册成功!");
                    entity.setRegtime(new Date());
                    entity.setState(1);
                    entity.setUserPhoto("img/user_photo/erha.jpg");
                    userService.save(entity);
                    result.setSuccess(true);
                }
            } else {
                result.setMsg("注册失败,账号或密码不能为空!");
            }
        } catch (Exception e) {
            e.printStackTrace();
            result.setMsg("注册失败,出现异常!");
        }
        return result;
    }
}

代码已经上传github,下载地址:https://github.com/21503882/employment