当前位置:网站首页>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
边栏推荐
- Sqli labs customs clearance summary-page4
- SQL注入闭合判断
- SQLI-LABS通关(less1)
- Stress test modification solution
- Oracle 11.2.0.3 handles the problem of continuous growth of sysaux table space without downtime
- SQL injection closure judgment
- php中根据数字月份返回月份的英文缩写
- js创建一个自定义json数组
- ARP攻击
- Take you to master the formatter of visual studio code
猜你喜欢
How to call WebService in PHP development environment?
SQLI-LABS通关(less6-less14)
CVE-2015-1635(MS15-034 )遠程代碼執行漏洞複現
Basic knowledge of software testing
In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
CAD secondary development object
Date time API details
CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
Wechat applet Foundation
ssm+mysql实现进销存系统
随机推荐
Ceaspectuss shipping company shipping artificial intelligence products, anytime, anywhere container inspection and reporting to achieve cloud yard, shipping company intelligent digital container contr
JS divides an array into groups of three
RMAN增量恢复示例(1)-不带未备份的归档日志
Sqli labs customs clearance summary-page3
js创建一个自定义json数组
Stack (linear structure)
MapReduce与YARN原理解析
Anti shake and throttling of JS
PXC high availability cluster summary
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
Check log4j problems using stain analysis
ORACLE EBS 和 APEX 集成登录及原理分析
PM2 simple use and daemon
Take you to master the formatter of visual studio code
2021-07-19C#CAD二次开发创建多线段
How to debug wechat built-in browser applications (enterprise number, official account, subscription number)
js把一个数组分割成每三个一组
Spark的原理解析
js的防抖和节流
ORACLE EBS接口开发-json格式数据快捷生成