当前位置:网站首页>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
边栏推荐
- Wechat applet Foundation
- oracle-外币记账时总账余额表gl_balance变化(上)
- Sqli-labs customs clearance (less18-less20)
- php中删除指定文件夹下的内容
- Changes in foreign currency bookkeeping and revaluation general ledger balance table (Part 2)
- 解决微信小程序swiper组件bindchange事件抖动问题
- Review of reflection topics
- 微信小程序基础
- TCP攻击
- Sqli labs customs clearance summary-page3
猜你喜欢

MySQL中的正则表达式
![[Zhang San learns C language] - deeply understand data storage](/img/b5/cf0bfae8eacf335d3c350c9cbadb87.png)
[Zhang San learns C language] - deeply understand data storage

SQLI-LABS通关(less1)

flex九宫格布局

In depth study of JVM bottom layer (IV): class file structure

ssm+mysql实现进销存系统

Go package name

Implement strstr() II

2021-07-05C#/CAD二次开发创建圆弧(4)

In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
随机推荐
Recursion (maze problem, Queen 8 problem)
ORACLE EBS中消息队列fnd_msg_pub、fnd_message在PL/SQL中的应用
工具种草福利帖
Sqli labs customs clearance summary-page1
PgSQL learning notes
Flex Jiugongge layout
Sqli labs customs clearance summary-page4
[daily question] - Huawei machine test 01
Sqli-labs customs clearance (less18-less20)
UEditor . Net version arbitrary file upload vulnerability recurrence
php中删除指定文件夹下的内容
php中通过集合collect的方法来实现把某个值插入到数组中指定的位置
Use of interrupt()
数仓模型事实表模型设计
Go common compilation fails
Explanation of suffix of Oracle EBS standard table
ORACLE EBS ADI 开发步骤
js数组的常用的原型方法
sqli-labs通關匯總-page2
uniapp引入本地字体