• Java项目:ssm教材征订与发放管理系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    教材征订与发放管理系统。本系统共分三种角色,分别为管理员、老师、班长;现在分别来介绍各个角色的功能: 

    ```管理员```

    查看所有图书 
    修改图书库存 
    审批图书订单(通过图书订单,不通过订单) 
    删除图书订单 
    查看等待发放的图书 
    查看已经发放的图书 
    增加库存图书 
    删除库存图书 
    修改图书数量 
    教师与班级管理 
    查看教师列表 
    查看班长列表 
    修改教师信息 
    修改班长信息 
    修改班长密码 
    修改教师密码 
    删除教师 
    删除班长 
    发放图书 
    修改教师信息 
    修改学生信息 
    查看已经发放订单 

    ```老师```

    查看自己订单 
    查看图书信息 
    增加订单 
    查看发放订单 
    修改个人信息 
    修改学生 
    查看班长列表 
    修改班长信息 

    ```班长```

    修改个人信息 

    查看自己班已经审批订单

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
    5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 

    6.数据库:MySql 5.7版本;

    技术栈

    1. 后端:Spring SpringMVC MyBatis
    2. 前端:JSP+jQuery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置

    3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

    4. 运行项目,输入localhost:8080/xxx 登录

    运行截图

    相关代码 

    ClassController

    1. package com.se.controller;
    2. import com.se.pojo.Order;
    3. import com.se.pojo.User;
    4. import com.se.server.ClassLeaderServer;
    5. import com.se.server.ManagerServer;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.stereotype.Controller;
    8. import org.springframework.web.bind.annotation.RequestMapping;
    9. import org.springframework.web.bind.annotation.RequestParam;
    10. import javax.servlet.http.HttpServletRequest;
    11. import java.util.List;
    12. /**
    13. * @author DeepBlue
    14. * @date 2019/11/5 16:15
    15. */
    16. @Controller
    17. @RequestMapping("/class")
    18. public class ClassController {
    19. @Autowired
    20. private ClassLeaderServer classLeaderServer = null;
    21. @Autowired
    22. private ManagerServer managerServer=null;
    23. @RequestMapping("/index")
    24. public String showPage() {
    25. return "class/classIndex";
    26. }
    27. @RequestMapping("/welcome")
    28. public String welcome(HttpServletRequest request) {
    29. return "managers/welcome";
    30. }
    31. @RequestMapping("/changeinfo")
    32. public String changeinfo() {
    33. return "class/changeinfo";
    34. }
    35. //已经发放列表
    36. @RequestMapping("/grantlist")
    37. public String grantList(HttpServletRequest request) {
    38. User user = (User) request.getSession().getAttribute("session");
    39. List orders = classLeaderServer.selectAllPassOrder(user.getUsername());
    40. request.setAttribute("books", orders);
    41. return "teacher/grantlist";
    42. }
    43. //班长信息修改
    44. @RequestMapping("/classleaderinfo")
    45. public String changeClassLeaderInfo(HttpServletRequest request, @RequestParam(required = false) String username
    46. , @RequestParam(required = false) String classid, @RequestParam(required = false) String department,
    47. @RequestParam(required = false) String email,
    48. @RequestParam(required = false) Integer po) {
    49. User user = (User) request.getSession().getAttribute("session");
    50. request.setAttribute("username", user.getUsername());
    51. if (po != null && po == 1) {
    52. managerServer.updateClassLeaderInfo(user.getUsername(), classid, department, email);
    53. request.setAttribute("message", "更新完成!");
    54. }
    55. return "class/changeinfo";
    56. }
    57. }

    LoginController

    1. package com.se.controller;
    2. import com.se.pojo.User;
    3. import com.se.server.LoginServer;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.stereotype.Controller;
    6. import org.springframework.web.bind.annotation.RequestMapping;
    7. import org.springframework.web.bind.annotation.RequestMethod;
    8. import org.springframework.web.servlet.ModelAndView;
    9. import javax.servlet.http.HttpServletRequest;
    10. import javax.servlet.http.HttpServletResponse;
    11. import java.io.IOException;
    12. /**
    13. * @author DeepBlue
    14. * @date 2019/11/2 17:34
    15. */
    16. @Controller
    17. public class LoginController {
    18. @Autowired
    19. private LoginServer loginServer = null;
    20. @RequestMapping(value = "/login", method = RequestMethod.GET)
    21. public ModelAndView showPage(ModelAndView mv) {
    22. mv.setViewName("login");
    23. return mv;
    24. }
    25. @RequestMapping(value = "/log", method = RequestMethod.POST)
    26. public String login(HttpServletRequest request, HttpServletResponse response) throws IOException {
    27. request.setCharacterEncoding("UTF-8");
    28. String username = request.getParameterValues("username")[0];
    29. String identity = request.getParameterValues("identity")[0];
    30. String password = request.getParameterValues("password")[0];
    31. User user = new User( identity,username, password);
    32. boolean flag = loginServer.checkData(user);
    33. if (flag) {
    34. boolean flag2 = loginServer.checkLogin(user);
    35. if (flag2) {
    36. switch (user.getIdentity()) {
    37. case "管理员":
    38. request.getSession().setAttribute("session", user);
    39. response.sendRedirect("./managers/index");
    40. break;
    41. case "老师":
    42. request.getSession().setAttribute("session", user);
    43. response.sendRedirect("./teacher/index");
    44. break;
    45. case "班长":
    46. request.getSession().setAttribute("session", user);
    47. response.sendRedirect("./class/index");
    48. }
    49. } else {
    50. request.setAttribute("error", "用户名密码校验错误,请重新输入!");
    51. return "login";
    52. }
    53. } else {
    54. request.setAttribute("error", "信息校验错误,请检查是否注册以及字段值是否填写!");
    55. }
    56. return "login";
    57. }
    58. }

    ManagerController

    1. package com.se.controller;
    2. import com.se.pojo.*;
    3. import com.se.server.ManagerServer;
    4. import com.sun.org.apache.xpath.internal.operations.Or;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.web.bind.annotation.*;
    8. import javax.servlet.http.HttpServletRequest;
    9. import java.io.UnsupportedEncodingException;
    10. import java.lang.Class;
    11. import java.util.List;
    12. /**
    13. * @author DeepBlue
    14. * @date 2019/11/3 21:17
    15. */
    16. @Controller
    17. @RequestMapping("/managers")
    18. public class ManagerController {
    19. @Autowired
    20. private ManagerServer managerServer = null;
    21. //管理员主页
    22. @RequestMapping("/index")
    23. public String showPage(HttpServletRequest request) {
    24. return "managers/managerIndex";
    25. }
    26. //订单首页
    27. @RequestMapping("/order-list")
    28. public String show1(HttpServletRequest request) {
    29. List orders = managerServer.selectAllOrder();
    30. request.setAttribute("orders", orders);
    31. return "managers/order-list";
    32. }
    33. //教师列表
    34. @RequestMapping("/teacherlist")
    35. public String show2(HttpServletRequest request) {
    36. List teachers = managerServer.getAllTeacher();
    37. request.setAttribute("teachers", teachers);
    38. return "managers/teacherlist";
    39. }
    40. //班长列表
    41. @RequestMapping("/class-list")
    42. public String classLeaderList(HttpServletRequest request) {
    43. List classLeaders = managerServer.getAllClassLeader();
    44. request.setAttribute("classLeader", classLeaders);
    45. return "managers/classlist";
    46. }
    47. //改密码
    48. @RequestMapping(value = "/changepassword", method = RequestMethod.POST)
    49. public String changePassword(HttpServletRequest request) throws UnsupportedEncodingException {
    50. request.setCharacterEncoding("UTF-8");
    51. String oldpassword = request.getParameterValues("oldpass")[0];
    52. String newPass = request.getParameterValues("newpass")[0];
    53. String newPass1 = request.getParameterValues("repass")[0];
    54. String username = request.getParameterValues("username")[0];
    55. String kind = request.getParameterValues("kind")[0];
    56. boolean flag = managerServer.checkDataAndUpdate(username, oldpassword, newPass, newPass1, kind);
    57. if (flag)
    58. request.setAttribute("message", "修改成功");
    59. else
    60. request.setAttribute("message", "修改失败,请检查");
    61. return "managers/member-password";
    62. }
    63. //修改资料
    64. @RequestMapping("member-edit")
    65. public String editPage(HttpServletRequest request) {
    66. return "managers/member-edit";
    67. }
    68. //修改老师密码
    69. @RequestMapping("member-password")
    70. public String editPasswordPage(HttpServletRequest request, @RequestParam String username) {
    71. request.setAttribute("username", username);
    72. return "managers/member-password";
    73. }
    74. //删除用户
    75. @RequestMapping(value = "/delete", method = RequestMethod.POST)
    76. public void delete(HttpServletRequest request, @RequestParam String id, @RequestParam String kind) {
    77. if (id != null) {
    78. managerServer.delete(id, kind);
    79. }
    80. }
    81. //修改班长密码
    82. @RequestMapping(value = "member-password2")
    83. public String editPasswordPage2(HttpServletRequest request, @RequestParam String username) {
    84. request.setAttribute("username", username);
    85. return "managers/member-password2";
    86. }
    87. @RequestMapping("/welcome")
    88. public String show3(HttpServletRequest request) {
    89. return "managers/welcome";
    90. }
    91. //审批订单
    92. @RequestMapping("/approval")
    93. public void approval(HttpServletRequest request, @RequestParam int id, @RequestParam int state, @RequestParam int num) {
    94. managerServer.approval(id, state);
    95. if (state == 1) {
    96. managerServer.deduction(id, num);
    97. }
    98. }
    99. //待发放列表
    100. @RequestMapping("/wait-list")
    101. public String waitPage(HttpServletRequest request) {
    102. List grantBooks = managerServer.getBooks();
    103. request.setAttribute("grant", grantBooks);
    104. return "managers/wait-list";
    105. }
    106. //获取图书列表
    107. @RequestMapping("/books")
    108. public String books(HttpServletRequest request) {
    109. List books = managerServer.books();
    110. request.setAttribute("books", books);
    111. return "managers/books";
    112. }
    113. //增加图书库存
    114. @RequestMapping(value = "/addbook")
    115. public String addBook(HttpServletRequest request, String place, String time) {
    116. if (place != null && time != null) {
    117. }
    118. return "managers/addbook";
    119. }
    120. //改变图书数量的POST提交
    121. @RequestMapping("/changebooknum")
    122. public String changeBookNum(HttpServletRequest request,
    123. @RequestParam int id, @RequestParam int num) {
    124. managerServer.changeBookNum(id, num);
    125. return "managers/changebooknum";
    126. }
    127. //获取修改图书页面
    128. @RequestMapping("/getchangenumPage")
    129. public String getChangePage(HttpServletRequest request, int id) {
    130. request.setAttribute("id", id);
    131. return "managers/changebooknum";
    132. }
    133. //增加新图书
    134. @RequestMapping("/addnewbook")
    135. public String addNewBook(@RequestParam(value = "bookname", required = false) String bookName,
    136. @RequestParam(value = "booknum", required = false) Integer bookNum,
    137. @RequestParam(value = "press", required = false) String press,
    138. @RequestParam(value = "price", required = false) Double price) {
    139. if (bookName != null) {
    140. managerServer.addNewBook(bookName, bookNum, press, price);
    141. }
    142. return "managers/addnewbook";
    143. }
    144. //班长信息修改
    145. @RequestMapping("/classleaderinfo")
    146. public String changeClassLeaderInfo(HttpServletRequest request, @RequestParam(required = false) String username
    147. , @RequestParam(required = false) String classid, @RequestParam(required = false) String department,
    148. @RequestParam(required = false) String email,
    149. @RequestParam(required = false) Integer po) {
    150. if (classid != null) {
    151. request.setAttribute("username", username);
    152. request.setAttribute("classid", classid);
    153. request.setAttribute("department", department);
    154. request.setAttribute("email", email);
    155. }
    156. if (po != null && po == 1) {
    157. managerServer.updateClassLeaderInfo(username, classid, department, email);
    158. request.setAttribute("message", "更新完成!");
    159. }
    160. return "managers/classleaderinfo";
    161. }
    162. //发放图书
    163. @RequestMapping("/sendbook")
    164. public String sendBook(HttpServletRequest request, @RequestParam Integer id, @RequestParam(required = false) String time, @RequestParam(required = false) String place) {
    165. if (id != null) {
    166. request.setAttribute("id", id);
    167. }
    168. if (time != null) {
    169. managerServer.sendBook(id, time, place);
    170. request.setAttribute("message", "ok");
    171. }
    172. return "managers/sendbook";
    173. }
    174. //已经发放列表
    175. @RequestMapping("/grantlist")
    176. public String grantList(HttpServletRequest request) {
    177. List orders = managerServer.selectAllPassOrder();
    178. request.setAttribute("books", orders);
    179. return "managers/grantlist";
    180. }
    181. //教师信息修改
    182. @RequestMapping("/teacherinfo")
    183. public String changeTeacherInfo(HttpServletRequest request, @RequestParam(required = false) String username
    184. , @RequestParam(required = false) String classid, @RequestParam(required = false) String department, @RequestParam(required = false) Integer po,
    185. @RequestParam(required = false) String email) {
    186. if (classid != null) {
    187. request.setAttribute("username", username);
    188. request.setAttribute("classid", classid);
    189. request.setAttribute("department", department);
    190. request.setAttribute("email", email);
    191. }
    192. if (po != null && po == 1) {
    193. managerServer.updateTeacherInfo(username, department, email);
    194. String[] cs = classid.split("\\,");
    195. System.out.println(cs);
    196. int userId=managerServer.selectTeacherId(username);
    197. managerServer.deleteClass(userId);
    198. for (int i = 0; i < cs.length; i++) {
    199. managerServer.updateClasses(userId,cs[i]);
    200. }
    201. request.setAttribute("message", "更新完成!");
    202. }
    203. return "managers/teacherinfo";
    204. }
    205. }

    如果也想学习本系统,下面领取。关注并回复:042ssm 

  • 相关阅读:
    LayUI之增加和查询
    JOSEF约瑟 漏电继电器 JD1-200 工作电压:380V 孔径:45mm 50~500mA
    Java完全自学手册,从外包到大厂,再到年薪100万都靠它
    Ollama完成本地模型的运行
    《多GPU大模型训练与微调手册》
    大语言模型之八-提示工程(Prompt engineer)
    【AI视野·今日NLP 自然语言处理论文速览 第四十一期】Tue, 26 Sep 2023
    linux运行jar
    基于xml的Spring应用(理解spring注入)
    基于野狗算法优化概率神经网络PNN的分类预测 - 附代码
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128156360