• Java项目:SSH学生学籍管理系统及教务管理系统


    作者主页:源码空间站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.数据库:MySql 5.7版本;

    6.是否Maven项目:否;

    技术栈

    1. 后端:mysql+Spring+hibernate+spring mcv

    2. 前端:JSP+CSS+JavaScript+jQuery

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

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

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

    3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/ 登录
    管理员账号/密码:admin/111111
    学生账号/密码:101/111111

    教师账号/密码:js12/111111

    运行截图

    管理员角色

    教师角色界面

    学生角色界面

    相关代码 

    教室管理控制器

    1. @Controller("classRoomAction")
    2. @Scope("prototype")
    3. public class ClassRoomAction extends BaseAction implements ModelDriven{
    4. private static final long serialVersionUID = 1L;
    5. //==========model==============
    6. private ClassRoom classRoom;
    7. @Override
    8. public ClassRoom getModel() {
    9. if(classRoom==null) classRoom = new ClassRoom();
    10. return classRoom;
    11. }
    12. //==========model==============
    13. /**
    14. * 依赖注入 start dao/service/===
    15. */
    16. @Autowired
    17. private ClassRoomService classRoomService;
    18. @Autowired
    19. private TeacherClassService teacherClassService;
    20. //依赖注入 end dao/service/===
    21. //-------------------------华丽分割线---------------------------------------------
    22. //============自定义参数start=============
    23. //============自定义参数end=============
    24. //-------------------------华丽分割线---------------------------------------------
    25. //============文件上传start=======================================================
    26. private File file;
    27. //提交过来的file的名字
    28. private String fileFileName;
    29. //提交过来的file的MIME类型
    30. private String fileContentType;
    31. public File getFile() {
    32. return file;
    33. }
    34. public void setFile(File file) {
    35. this.file = file;
    36. }
    37. public String getFileFileName() {
    38. return fileFileName;
    39. }
    40. public void setFileFileName(String fileFileName) {
    41. this.fileFileName = fileFileName;
    42. }
    43. public String getFileContentType() {
    44. return fileContentType;
    45. }
    46. public void setFileContentType(String fileContentType) {
    47. this.fileContentType = fileContentType;
    48. }
    49. //============文件上传end=========================================================
    50. public String jsonAction() {
    51. // dataMap中的数据将会被Struts2转换成JSON字符串,所以这里要先清空其中的数据
    52. jsonMap.clear();
    53. jsonMap.put("success", true);
    54. return JSON_TYPE;
    55. }
    56. //-------------------------华丽分割线---------------------------------------------//
    57. //=============公=======共=======方=======法==========区=========start============//
    58. /**
    59. * 列表分页查询
    60. */
    61. public String classRoom(){
    62. Map alias = new HashMap();
    63. StringBuffer sb = new StringBuffer();
    64. sb = sb.append("from ClassRoom where 1=1 and isDelete = 0 ");
    65. if(classRoom!=null && classRoom.getName() !=null && !"".equals(classRoom.getName())){
    66. sb.append(" and name like :realName ");
    67. alias.put("realName", "%" +classRoom.getName()+ "%" );
    68. }
    69. sb = sb.append("order by id desc");
    70. Pager pagers = classRoomService.findByAlias(sb.toString(),alias);
    71. ActionContext.getContext().put("pagers", pagers);
    72. ActionContext.getContext().put("Obj", classRoom);
    73. return SUCCESS;
    74. }
    75. public String xkRoom(){
    76. Map alias = new HashMap();
    77. StringBuffer sb = new StringBuffer();
    78. sb = sb.append("from ClassRoom where 1=1 and isDelete = 0 ");
    79. if(classRoom!=null && classRoom.getName() !=null && !"".equals(classRoom.getName())){
    80. sb.append(" and name like :realName ");
    81. alias.put("realName", "%" +classRoom.getName()+ "%" );
    82. }
    83. sb = sb.append("order by id desc");
    84. Pager pagers = classRoomService.findByAlias(sb.toString(),alias);
    85. ActionContext.getContext().put("pagers", pagers);
    86. ActionContext.getContext().put("Obj", classRoom);
    87. return SUCCESS;
    88. }
    89. public String xkRoom2(){
    90. Map alias = new HashMap();
    91. StringBuffer sb = new StringBuffer();
    92. sb = sb.append("from ClassRoom where 1=1 and isDelete = 0 ");
    93. if(classRoom!=null && classRoom.getName() !=null && !"".equals(classRoom.getName())){
    94. sb.append(" and name like :realName ");
    95. alias.put("realName", "%" +classRoom.getName()+ "%" );
    96. }
    97. sb = sb.append("order by id desc");
    98. Pager pagers = classRoomService.findByAlias(sb.toString(),alias);
    99. ActionContext.getContext().put("pagers", pagers);
    100. ActionContext.getContext().put("Obj", classRoom);
    101. return SUCCESS;
    102. }
    103. public String cjRoom(){
    104. Listlist = new ArrayList();
    105. Integer loginId = UserUtils.getLoginId();
    106. List checkList = teacherClassService.listByAlias("from TeacherClass where teacher.id="+loginId, null);
    107. if(!isEmpty(checkList)){
    108. for (TeacherClass t :checkList) {
    109. list.add(t.getClassroom());
    110. }
    111. }
    112. ActionContext.getContext().put("pagers", list);
    113. ActionContext.getContext().put("Obj", classRoom);
    114. return SUCCESS;
    115. }
    116. /**
    117. * 跳转到添加页面
    118. * @return
    119. */
    120. public String add(){
    121. return SUCCESS;
    122. }
    123. /**
    124. * 执行添加
    125. * @return
    126. */
    127. public String exAdd(){
    128. classRoom.setIsDelete(0);
    129. classRoomService.save(classRoom);
    130. ActionContext.getContext().put("url", "/classRoom_classRoom.do");
    131. return "redirect";
    132. }
    133. /**
    134. * 查看详情页面
    135. * @return
    136. */
    137. public String view(){
    138. ClassRoom n = classRoomService.getById(classRoom.getId());
    139. ActionContext.getContext().put("Obj", n);
    140. return SUCCESS;
    141. }
    142. /**
    143. * 跳转修改页面
    144. * @return
    145. */
    146. public String update(){
    147. ClassRoom n = classRoomService.getById(classRoom.getId());
    148. ActionContext.getContext().put("Obj", n);
    149. return SUCCESS;
    150. }
    151. /**
    152. * 执行修改
    153. * @return
    154. */
    155. public String exUpdate(){
    156. ClassRoom n = classRoomService.getById(classRoom.getId());
    157. n.setName(classRoom.getName());
    158. n.setNj(classRoom.getNj());
    159. classRoomService.update(n);
    160. ActionContext.getContext().put("url", "/classRoom_classRoom.do");
    161. return "redirect";
    162. }
    163. /**
    164. * 删除
    165. * @return
    166. */
    167. public String delete(){
    168. ClassRoom n = classRoomService.getById(classRoom.getId());
    169. n.setIsDelete(1);
    170. classRoomService.update(n);
    171. ActionContext.getContext().put("url", "/classRoom_classRoom.do");
    172. return "redirect";
    173. }
    174. //=============公=======共=======方=======法==========区=========end============//
    175. //-------------------------华丽分割线---------------------------------------------//
    176. //=============自=======定=======义=========方=======法==========区=========start============//
    177. //=============自=======定=======义=========方=======法==========区=========end============//
    178. }

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

  • 相关阅读:
    Vue的基础语法-常用v-on、v-if、v-bind等指令的细节(最详细)
    虚拟机执行子系统
    【Unity】U3D ARPG游戏制作实例(一)EasyTouch5完整示例
    前端编程技术UP之研究大佬代码
    只想做个一门心思只赚钱的打工人?这4种收入你都有吗?
    小程序代码管理
    MybatisPlus基本查询
    8K视频来了,8K 视频编辑的最低系统要求
    【Vue 开发实战】基础篇 # 4:Vue组件的核心概念:插槽
    智慧工地管理系统平台软件源码
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/127877226