当前位置:网站首页>SSM学生成绩信息管理系统
SSM学生成绩信息管理系统
2022-07-02 06:24:00 【夜未央5788】
作者主页:夜未央5788
简介: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. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+LayUI
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
运行截图

相关代码
BaseController
@Controller
@RequestMapping(value="/basecourse")
public class BaseCourseController {
@Autowired
private BaseCourseService baseCourseService;
@ResponseBody
@RequestMapping(value="/list")
public String getBaseCourseList(@RequestParam(defaultValue="0")int curr,@RequestParam(defaultValue="10")int nums,
@RequestParam(defaultValue="")String searchKey) {
Pagination<BaseCourse> page = new Pagination<BaseCourse>();
page.setTotalItemsCount(baseCourseService.getTotalItemsCount(searchKey));
page.setPageSize(nums);
page.setPageNum(curr);
List<BaseCourse> list = baseCourseService.getBaseCourse(page, searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR + page.getTotalItemsCount()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
System.out.println(jsonStr);
return jsonStr;
}
@ResponseBody
@RequestMapping(value="/listForSelect")
public String getBaseCourseListForSelect(@RequestParam(defaultValue="") String searchKey) {
List<BaseCourse> list = baseCourseService.getBaseCourseForSelect(searchKey);
String jsonStr = StrUtil.RETURN_JONS_PRE_STR + list.size()
+ StrUtil.RETURN_JONS_MID_STR
+ JSON.toJSONString(list) + StrUtil.RETURN_JONS_END_STR;
return jsonStr;
}
@RequestMapping(value="/addPage")
public ModelAndView toAddPage() {
return new ModelAndView("/baseCourseAdd");
}
/**
* 增加,或者修改BaseCourse
* @param BaseCourse
* @return
*/
@ResponseBody
@RequestMapping(value="/add")
public String addBaseCourse(BaseCourse baseCourse) {
int res = 0;
if (baseCourse.getId() == null || baseCourse.getId().equals("")) {
try {
res = baseCourseService.addBaseCourse(baseCourse);
} catch (Exception e) {
System.out.println("添加失败!");
return "添加失败!";
}
if (res > 0)
return StrUtil.RESULT_TRUE;
return "添加失败";
} else {
res = baseCourseService.updateBaseCourse(baseCourse);
if (res > 0) return StrUtil.RESULT_TRUE;
return "修改失败!";
}
}
@ResponseBody
@RequestMapping(value="/delete")
public String deleteStudnet(BaseCourse t) {
if (baseCourseService.deleteBaseCourse(t) > 0) return StrUtil.RESULT_TRUE;
return "删除失败!";
}
/**
* 批量删除
* @param tIds
* @return
*/
@ResponseBody
@RequestMapping(value="/deleteList")
public String deleteStudnetList(String cIds) {
List<Integer> list = new ArrayList<Integer>();
try {
String[] ids = cIds.split(",");
for (String id: ids) {
list.add(Integer.parseInt(id));
}
if (baseCourseService.deleteBaseCourse(list) > 0) {
return StrUtil.RESULT_TRUE;
}
} catch (Exception e) {
e.printStackTrace();
return "删除失败!参数出错!";//
}
return "删除失败!";
}
@ResponseBody
@RequestMapping("/import")
public String impotr(HttpServletRequest request, MultipartFile file) {
//获取上传的文件
InputStream in = null;
try {
in = file.getInputStream();
//数据导入
int res = baseCourseService.importExcelInfo(in,file);
if (res > 0) {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"true"
+StrUtil.RETURN_JONS_END_STR;
} else {
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"false"
+StrUtil.RETURN_JONS_END_STR;
}
} catch (Exception e) {
e.printStackTrace();
return StrUtil.RETURN_JONS_PRE_STR+"0"
+StrUtil.RETURN_JONS_MID_STR+"error"
+StrUtil.RETURN_JONS_END_STR;
} finally {
if (in != null)
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Main控制器
@Controller
@RequestMapping(value="/main")
public class MainController {
@Autowired
CourseService courseService;
@RequestMapping(value="/index")
public ModelAndView toIndexPage(HttpSession session) {
User user = (User) session.getAttribute(StrUtil.USER);
if (user.getUserType().equals(StrUtil.ADMIN)) {
user = (Admin) user;
} else if (user.getUserType().equals(StrUtil.TEACHER)) {
user = (Teacher) user;
} else if (user.getUserType().equals(StrUtil.STUDENT)) {
user = (Student) user;
}
ModelAndView mav = new ModelAndView("index");
mav.addObject("user");
return mav;
}
@RequestMapping(value="/student")
public ModelAndView toStudentListPage(HttpSession session) {
return new ModelAndView("studentList");
}
@RequestMapping(value="/teacher")
public ModelAndView toTeacherListPage() {
return new ModelAndView("teacherList");
}
@RequestMapping(value="/course")
public ModelAndView toCourseListPage(HttpSession session, ModelAndView mav) {
String userType = ((User) session.getAttribute(StrUtil.USER)).getUserType();
if (userType.equals(StrUtil.ADMIN)) {
mav = new ModelAndView("courseList");
} else if(userType.equals(StrUtil.TEACHER)){
mav = new ModelAndView("teacher/courseList");
} else {
mav = new ModelAndView("student/courseList");
}
return mav;
}
@RequestMapping(value="/score")
public ModelAndView toScoreListPage(HttpSession session, ModelAndView mav) {
User user = (User) session.getAttribute(StrUtil.USER);
String userType = user.getUserType();
if (userType.equals(StrUtil.ADMIN)) {
mav = new ModelAndView("scoreList");
} else if(userType.equals(StrUtil.TEACHER)){
mav = new ModelAndView("teacher/studentScoreList");
List<Course> list = courseService.getCourseListByTid(null, ((Teacher)user).getId());
mav.addObject("courseList", list);
} else {
mav = new ModelAndView("student/scoreList");
}
return mav;
}
@RequestMapping(value="/notice")
public ModelAndView toNoticeListPage(ModelAndView mav) {
mav = new ModelAndView("noticeList");
return mav;
}
@RequestMapping(value="/system")
public ModelAndView toSystemListPage(ModelAndView mav) {
mav = new ModelAndView("systemAuth");
return mav;
}
}
如果也想学习本系统,下面领取。回复:065ssm
边栏推荐
猜你喜欢

解决微信小程序swiper组件bindchange事件抖动问题

ORACLE 11G利用 ORDS+pljson来实现json_table 效果

外币记账及重估总账余额表变化(下)

UEditor .Net版本任意文件上传漏洞复现

SQLI-LABS通关(less15-less17)

Sqli labs customs clearance summary-page2

Cloud picture says | distributed transaction management DTM: the little helper behind "buy buy buy"

Stack (linear structure)

JSP智能小区物业管理系统

CAD secondary development object
随机推荐
php中计算树状结构数据中的合计
Uniapp introduces local fonts
DeprecationWarning: . ix is deprecated. Please use. loc for label based indexing or. iloc for positi
搭建frp进行内网穿透
工具种草福利帖
Queue (linear structure)
Redis -- cache breakdown, penetration, avalanche
js创建一个自定义json数组
How to call WebService in PHP development environment?
Spark的原理解析
[leetcode question brushing day 35] 1060 Missing element in ordered array, 1901 Find the peak element, 1380 Lucky number in matrix
[daily question] - Huawei machine test 01
Improve user experience defensive programming
php中根据数字月份返回月份的英文缩写
The use of regular expressions in JS
Oracle 11g sysaux table space full processing and the difference between move and shrink
Explanation of suffix of Oracle EBS standard table
php中生成随机的6位邀请码
Code execution sequence with and without resolve in promise
ORACLE 11.2.0.3 不停机处理SYSAUX表空间一直增长问题