——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SSM+Maven在线教学系统(java+ssm+vue+elementui+mysql)
项目介绍
基于SSM的在线网络教学系统
角色:管理员、用户
管理员:个人中心、 教师管理、学生管理、课程信息管理、教学信息管理、作业信息管理、作业评分管理 试卷管理、试题管理、管理员管理、学习论坛、系统管理
前台用户 登录注册、首页、学习论坛 、试卷列表 、网站公告 、个人中心、 后台管理等
教师:课程信息管理、教学信息管理、作业信息管理、作业评分管理等
环境需要
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/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis)
前端:ElementUI+Vue
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| return R.ok().put("count", count); }
} package com.controller;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| @IgnoreAuth @RequestMapping("/list/{id}") public R list(@PathVariable("id") String id){ ForumEntity forum = forumService.selectById(id); getChilds(forum); return R.ok().put("data", forum); } private ForumEntity getChilds(ForumEntity forum) { List<ForumEntity> childs = new ArrayList<ForumEntity>(); childs = forumService.selectList(new EntityWrapper<ForumEntity>().eq("parentid", forum.getId())); if(childs == null || childs.size()==0) { return null; } forum.setChilds(childs); for(ForumEntity forumEntity : childs) { getChilds(forumEntity); } return forum; }
@RequestMapping("/save") public R save(@RequestBody ForumEntity forum, HttpServletRequest request){ forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); forum.setUserid((Long)request.getSession().getAttribute("userId"));
forumService.insert(forum); return R.ok(); }
@RequestMapping("/add") public R add(@RequestBody ForumEntity forum, HttpServletRequest request){ forum.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); forum.setUserid((Long)request.getSession().getAttribute("userId"));
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| examquestionService.insert(examquestion); return R.ok(); }
@RequestMapping("/add") public R add(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){ examquestion.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
examquestionService.insert(examquestion); return R.ok(); }
@RequestMapping("/update") public R update(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){ examquestionService.updateById(examquestion); return R.ok(); }
@RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ examquestionService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); }
@RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| * @email */ @RestController @RequestMapping("/jiaoshi") public class JiaoshiController { @Autowired private JiaoshiService jiaoshiService; @Autowired private TokenService tokenService;
@IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { JiaoshiEntity user = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("jiaogonghao", username)); if(user==null || !user.getMima().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(), username,"jiaoshi", "教师" ); return R.ok().put("token", token); }
@IgnoreAuth @RequestMapping("/register") public R register(@RequestBody JiaoshiEntity jiaoshi){ JiaoshiEntity user = jiaoshiService.selectOne(new EntityWrapper<JiaoshiEntity>().eq("jiaogonghao", jiaoshi.getJiaogonghao())); if(user!=null) { return R.error("注册用户已存在"); } Long uId = new Date().getTime(); jiaoshi.setId(uId); jiaoshiService.insert(jiaoshi); return R.ok(); }
@RequestMapping("/logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<ZuoyepingfenEntity> wrapper = new EntityWrapper<ZuoyepingfenEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); }
String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("xuesheng")) { wrapper.eq("xuehao", (String)request.getSession().getAttribute("username")); }
int count = zuoyepingfenService.selectCount(wrapper); return R.ok().put("count", count); }
} package com.controller;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=221023491103200xz
https://javayms.pages.dev?id=221023491103200xz