基于javaweb的毕业生离校管理系统(java+jsp+servlet+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的毕业生离校管理系统(java+jsp+servlet+jquery+Mysql)
需求分析
使用JSP+Servlet+Mysql技术设计一个毕业生离校管理系统, 整个系统采用BS架构, 为高校方便进行毕业生离校流程进行统一的离校流程, 极大的减少了大量学生同时离校的过程中杂乱的情况, 整个系统分为学生, 教务处, 辅导员, 图书馆, 宿管, 财务处, 系办公室, 管理员登等角色, 不同的角色拥有不同的功能
实现功能
该项目是一个基于JSP+Servlet+Mysql实现的毕业生离校管理系统, 用于统一离校流程, 提升学校管理效率,主要分为如下模块 系统的登录注册模块, 注意只能注册学生账号 学生角色: 可以查看未归还图书信息, 未归还宿舍信息, 欠费信息, 手动发起离线申请 教务处角色: 可以添加离校信息 并确认某人离校 辅导员角色: 辅导员可以登录系统查看离校本人并进行确认离校。 图书馆人员角色: 登录系统添加未归还的图书信息。 宿管处角色: 添加未归还钥匙信息并确认离校状态 财务处角色: 添加欠费信息并确认离校状态
运行环境
jdk1.8,tomcat8.5,mysql5.7,Eclispse/IDEA/MyEclipse
项目技术
jsp, servlet, jquery
技术原理
项目是一个基于JSP+Mysql实现的毕业生离校管理系统, 采用比较传统的javaweb模式进行开发, 除了使用dwr并没有使用任何其他大型框架, 但是本项目的servlet+jsp也是构造了一个符合mvc设计模式及的封装代码, 另外此项目自带一篇毕业论文, 项目可以直接用于毕业设计中
注意事项
系统采用jsp+servlet+mysql编写, eclipse导入项目的时候properties的编码需要调整为utf8 mysql的编码utf8, 需要在dbinfo.properties中修改数据连接与密码
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中dbinfo.properties配置文件中的数据库配置改为自己的配置 3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 4. 运行项目,输入localhost:8080/xxx 登录
测试账号:
管理员账号:a 密码:a 教务处账号:jwc 密码:0 辅导员账号:fdy 密码:0 图书馆账号:tsg 密码:0 宿管处账号:sgc 密码:0 财务处账号:cwc 密码:0 系办公室账号:xbgs 密码:0
用户管理控制层:
@Controller
public class UserController {
@Autowired
UserService userService;
@RequestMapping(“/employment/usermanage”)
public String index(){
return “system/usermanage/usermanage”;
@ResponseBody
@RequestMapping(“/employment/getallusers”)
public CommonResult<List> getAllUsers(User user, @RequestParam(“limit”) int pageSize, @RequestParam(“page”) int pageNum){
List result = userService.getAllUsers(user, pageNum, pageSize);
return CommonResult.generateSuccessResult(result.size(), result);
@ResponseBody
@RequestMapping(“/employment/getuserbyaccount/{userAccount}”)
public CommonResult getUserByAccount(@PathVariable(“userAccount”) String userAccount){
return CommonResult.generateSuccessResult(1, userService.getUserByAccount(userAccount));
@ResponseBody
@RequestMapping(“/employment/adduser”)
public CommonResult addUser(User user){
user.setUserId(UUID.randomUUID().toString());
user.setUserPwd(MD5Util.getMD5(user.getUserPwd()));
userService.addUser(user);
return CommonResult.generateSuccessResult(1, 1);
@ResponseBody
@RequestMapping(“/employment/updateuser”)
public CommonResult updateUser(User user){
userService.updateUser(user);
return CommonResult.generateSuccessResult(1, 1);
@ResponseBody
@RequestMapping(“/employment/deluser/{userId}”)
public CommonResult delInfo(@PathVariable(“userId”) String userId){
userService.deleteUser(userId);
return CommonResult.generateSuccessResult(1, 1);
毕业管理控制层:
@Controller
public class EmploymentInfoController {
@Autowired
EmploymentInfoService employmentInfoService;
@RequestMapping({“/employment/index”, “/employment/employmentinfo”})
public String index(){
return “system/employmentinfo/employmentinfo”;
@ResponseBody
@RequestMapping(“/employment/getallinfo”)
public CommonResult<List> getAllInfo(EmploymentInfo employmentInfo, @RequestParam(“limit”) int pageSize, @RequestParam(“page”) int pageNum){
List infoList = employmentInfoService.getAllEmploymentInfo(employmentInfo, pageNum, pageSize);
CommonResult<List> rtInfoResult = CommonResult.generateSuccessResult(infoList.size(), infoList);
return rtInfoResult;
@ResponseBody
@RequestMapping(“/employment/getinfo”)
public CommonResult<List> getinfo(EmploymentInfo info, @RequestParam(“limit”) int pageSize, @RequestParam(“page”) int pageNum){
List infoList = employmentInfoService.getEmploymentInfo(info, pageNum, pageSize);
CommonResult<List> rtInfoResult = CommonResult.generateSuccessResult(infoList.size(), infoList);
return rtInfoResult;
@ResponseBody
@RequestMapping(“/employment/addinfo”)
public CommonResult addInfo(EmploymentInfo info){
info.setInformationId(UUID.randomUUID().toString());
employmentInfoService.addEmploymentInfo(info);
return CommonResult.generateSuccessResult(1, 1);
@ResponseBody
@RequestMapping(“/employment/updateinfo”)
public CommonResult updateInfo(EmploymentInfo info){
employmentInfoService.updateEmploymentInfo(info);
return CommonResult.generateSuccessResult(1, 1);
@ResponseBody
@RequestMapping(“/employment/delinfo/{infoId}”)
public CommonResult delInfo(@PathVariable(“infoId”) String infoId){
employmentInfoService.deleteEmploymentInfo(infoId);
return CommonResult.generateSuccessResult(1, 1);
图书管理控制层:
/**
- @descriiption: 图书类别处理
*/
@Controller
@RequestMapping(“/admin/ch/category”)
public class CategoryController {
//注入
@Autowired
private LibraryCategoryService libraryCategoryService;
/**
-
添加 图书类目
-
@param category 图书类目信息
-
@param session 添加人
-
@return url
-
@author hiseico
*/
@RequestMapping(value = “/addCategory”, method = RequestMethod.POST)
public String addCategory(TbCategory category, HttpSession session, Model model) {
List categoryList = libraryCategoryService.getCategoryAll();
boolean is = false;
for (TbCategory tbCategory : categoryList) {
if (category.getCatname().equals(tbCategory.getCatname())) {
is = true;
break;
if (!is) {
// 添加 数据到 数据库,并 修改 父类目
libraryCategoryService.addBookCategory(category, session);
} else {
model.addAttribute(“errorMsg”, “类目已经存在”);
return “errorMsg”;
return “redirect:/admin/ch/loan_BookClassify.action”;
/**
-
删除类目信息
-
@param id
-
@return
*/
@RequestMapping(value = “/delCategory”, method = RequestMethod.GET)
public String delCategory(int id) {
// 通过 类目id 删除数据
libraryCategoryService.delBookCategoryById(id);
return “redirect:/admin/ch/loan_BookClassify.action”;
/**
-
修改 类目关系
-
@param category
-
@return
*/
@RequestMapping(value = “/updateCategory”, method = RequestMethod.POST)
public String updateCategory(TbCategory category) {
return “redirect:/admin/ch/loan_BookClassify.action”;
@RequestMapping(“/toUpdatePage”)
@ResponseBody
public TbCategory toUpdatePage(int id) {
return libraryCategoryService.getCategoryById(id);