基于javaweb的课程自动排课系统(java+springboot+html+layui+thymeleaf+redis+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+SpringBoot的课程管理自动排课系统(java+SpringBoot+html+layui+thymeleaf+redis+mysql)
项目介绍
课程自动排课系统,该系统分两种角色:管理员与普通用户;
主要功能包括: 首页:查看分课、查看课表、查看空教室; 班级设置:添加班级、分配课程、编辑、删除课程; 教室设置:添加教室、编辑、删除; 课程设置:添加课程、编辑、删除; 教师设置:添加教师、编辑、删除; 排课管理:调整排课、删除排课;
用户管理:添加用户、编辑、删除;
环境需要
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 8.0版本;
7.Redis数据库,redis配置已设置好,勿修改;
技术栈
后端:Springboot+redis
前端:html+layui+thymeleaf
使用说明
用户管理控制层:
@Controller
@RequestMapping(“/User”)
public class UserController {
@Autowired
private UserService userService;
@Autowired
private PowerService powerService;
@Autowired
private RoleService roleService;
@Autowired
private NoticeService noticeService;
@RequestMapping(“/Main”)
public String res(HttpServletRequest request){
String time = DateUtil.getStringToday();
request.getSession().setAttribute(“time”, time);
Notice notice = new Notice();
List list = noticeService.queryAll(notice);
notice = list.get(0);
User user = userService.selectByPrimaryKey(notice.getUserid());
notice.setUserid(user.getName());
request.getSession().setAttribute(“notice”, notice);
return “Main”;
@RequestMapping(“/changePa”)
public String res1(){
return “changePass”;
@RequestMapping(“/Login”)
public ModelAndView login(HttpServletRequest request,String id,String password) throws Exception{
ModelAndView mav = new ModelAndView();
User user1 = userService.selectByPrimaryKey(id);
if(user1 == null || !password.equals(user1.getPassword())){
mav.setViewName(“index”);
request.getSession().setAttribute(“info”, “error”);
return mav;
}else{
Role role = new Role();
role.setRoleid(user1.getRoleid());
List list =roleService.QueryAll(role);
role =list.get(0);
request.getSession().setAttribute(“roleName”, role.getRolename());
Power power = powerService.selectByPrimaryKey(role.getPowerid());
if(!StringUtil.isNullOrEmpty(power.getPower())){
request.getSession().setAttribute(“power”, power.getPower());
String time = DateUtil.getStringToday();
request.getSession().setAttribute(“time”, time);
request.getSession().setAttribute(“user”, user1);
mav.setViewName(“redirect:/User/Main”);
return mav;
@RequestMapping(“/updateStudent”)
public String update(User user){
userService.updateByPrimaryKey(user);
return “redirect:/User/student”;
@RequestMapping(“/updateTeacher”)
public String updatet(User user){
userService.updateByPrimaryKey(user);
return “redirect:/User/teacher”;
@RequestMapping(“/updatePa”)
public String updatePa(String userID,String password){
User user = new User();
System.out.println(userID);
User user1 = userService.selectByPrimaryKey(userID);
user1.setPassword(password);
userService.updateByPrimaryKey(user1);
return “Main”;
@RequestMapping(“/delete”)
public String delete(String ID){
userService.deleteByPrimaryKey(ID);
return “redirect:/User/queryAll”;
@RequestMapping(“/teacher”)
public String QueryAllTeacher(HttpServletRequest request,User user){
List list = userService.QueryAllTeacher(user);
request.setAttribute(“list”, list);
if(null != user.getName()){
request.setAttribute(“name”, user.getName());
if(null != user.getMobile()){
request.setAttribute(“mobile”, user.getMobile());
return “teacher”;
@ResponseBody
@RequestMapping(“/jsonteacher”)
public String QueryAllTeacherjson(HttpServletRequest request,User user){
List list = userService.QueryAllTeacher(user);
JSONObject json = new JSONObject();
return json.toJSONString(list);
@RequestMapping(“/student”)
public String QueryAllStudent(HttpServletRequest request,User user){
List list = userService.QueryAllStudent(user);
request.setAttribute(“list”, list);
if(null != user.getName()){
request.setAttribute(“name”, user.getName());
if(null != user.getMobile()){
request.setAttribute(“mobile”, user.getMobile());
return “student”;
@RequestMapping(“/addteacher”)
public String addUser(User user){
String passWord = “123456”;
user.setPassword(passWord);
user.setType(Constans.TEACHER);
userService.insert(user);
return “redirect:/User/teacher”;
@RequestMapping(“/addstudent”)
public String addStudent(User user){
String passWord = “123456”;
user.setPassword(passWord);
user.setType(Constans.STUDENT);
userService.insert(user);
return “redirect:/User/student”;
@ResponseBody
@RequestMapping(“/queryOne”)
public String queryOne(String ID){
User user = new User();
user.setId(ID);
List list = userService.QueryAll(user);
user = list.get(0);
JSONObject json = new JSONObject();
String data = json.toJSONString(user);
return data;
@RequestMapping(“/quit”)
public ModelAndView quit(HttpServletRequest request) throws Exception{
ModelAndView mav = new ModelAndView();
HttpSession session1 = request.getSession();
session1.invalidate();
request.getSession().setAttribute(“info”, “quit”);
mav.setViewName(“index”);
return mav;
角色管理控制层:
@Controller
@RequestMapping(“/Role”)
public class RoleController {
@Autowired
private RoleService depotService;
@Autowired
private PowerService powerService;
@RequestMapping(“/update”)
public String update(String id,String rolename,String powerContent){
Role role = new Role();
role.setRoleid(id);
role.setRolename(rolename);
depotService.update(role);
List list = depotService.QueryAll(role);
Role role1 = list.get(0);
Power power = new Power();
if(powerContent.indexOf(“110”) != -1){
powerContent = powerContent + “,1100”;
if(powerContent.indexOf(“120”) != -1){
powerContent = powerContent + “,1200”;
if(powerContent.indexOf(“130”) != -1){
powerContent = powerContent + “,1300”;
if(powerContent.indexOf(“140”) != -1){
powerContent = powerContent + “,1400”;
if(powerContent.indexOf(“150”) != -1){
powerContent = powerContent + “,1500”;
power.setPower(powerContent);
power.setRoleid(role1.getPowerid());
powerService.update(power);
return “redirect:/Role/queryAll”;
@RequestMapping(“/delete”)
public String delete(String ID){
depotService.deleteByPrimaryKey(ID);
return “redirect:/Role/queryAll”;
@RequestMapping(“/queryAll”)
public String queryAll(HttpServletRequest request,Role role){
List list = depotService.QueryAll(role);
request.setAttribute(“list”, list);
if(null != role.getRolename()){
request.setAttribute(“rolename”, role.getRolename());
return “Role”;
@RequestMapping(“/add”)
public String add(String roleid,String rolename,String powerContent){
Power power1 = new Power();
Role role = new Role();
String powerid = String.valueOf(Math.random()).substring(2, 8);
role.setRoleid(String.valueOf(Math.random()).substring(2, 6));
role.setPowerid(powerid);
role.setRolename(rolename);
power1.setPower(powerContent);
power1.setRoleid(powerid);
power1.setId(String.valueOf(Math.random()).substring(2, 8));
powerService.insert(power1);
depotService.insert(role);
return “redirect:/Role/queryAll”;
@ResponseBody
@RequestMapping(“/queryOne”)
public String queryOne(String ID){
JSONObject json = new JSONObject();
Role depot = new Role();
Power power = new Power();
power.setId(ID);
System.out.println(ID);
depot.setRoleid(ID);
List list = depotService.QueryAll(depot);
Role role1 = list.get(0);
Power power1 = powerService.selectByPrimaryKey(role1.getPowerid());
String name = role1.getRolename();
role1.setPowerid(power1.getPower());
String data = json.toJSONString(role1);
return data;
@ResponseBody
@RequestMapping(“/getAll”)
public String getAll(Role role){
JSONObject json = new JSONObject();
List list = depotService.QueryAll(role);
String jsonq = json.toJSONString(list);
System.out.println(jsonq);
return jsonq;
课程管理控制层:
@Controller
@RequestMapping(“/Course”)
public class CourseController {
@Autowired
private CourseService courseService;
@Autowired
private CurelationService curelationService;
@Autowired
private CoursecommentService coursecommentService;
@ResponseBody
@RequestMapping(“/queryOneCom”)
public String queryOneCom(String ID){
Coursecomment course = new Coursecomment();
course.setId(ID);
System.out.println(“====================================”+ID);
List list = coursecommentService.queryAll(course);
course = list.get(0);
JSONObject json = new JSONObject();
return json.toJSONString(course);
@RequestMapping(“addComment”)
public String addComment(HttpServletRequest request, Coursecomment coursecomment){
User user = (User) request.getSession().getAttribute(“user”);
coursecomment.setCreatetime(DateUtil.getStringToday());
coursecomment.setUserid(user.getName());
coursecomment.setId(String.valueOf(Math.random()).substring(2,10));
coursecommentService.insert(coursecomment);
return “redirect:/Course/suggeetion”;
@ResponseBody
@RequestMapping(“jsoncourse”)
public String jsoncourse(HttpServletRequest request, Curelation course){
User user = (User) request.getSession().getAttribute(“user”);
/*String type = “1”;
if (“1”.equals(user.getType())){
type=“2”;
course.setType(type);
course.setUserid(user.getId());*/
List curelationList = curelationService.queryAll(course);
List dataList = new ArrayList<>();
for (int i = 0; i < curelationList.size(); i++) {
Course curelation = courseService.selectByPrimaryKey(curelationList.get(i).getCourseid());
dataList.add(curelation);
JSONObject json = new JSONObject();
return json.toJSONString(dataList);
@RequestMapping(“suggeetion”)
public String suggeetion(HttpServletRequest request, Coursecomment coursecomment){
List coursecomments = coursecommentService.queryAll(coursecomment);
request.setAttribute(“list”,coursecomments);
return “suggeetion”;
@RequestMapping(“view”)
public String view(HttpServletRequest request){
User user = (User) request.getSession().getAttribute(“user”);
String type = “1”;
if (“1”.equals(user.getType())){
type=“2”;
List
request.setAttribute(“list”,list);
return “courseview”;
@RequestMapping(“deletecomment”)
public String deletecomment(String ID){
coursecommentService.deleteByPrimaryKey(ID);
return “redirect:/Course/suggeetion”;
@RequestMapping(“queryAll”)
public String queryAll(HttpServletRequest request, Course course){
List list = courseService.queryAll(course);
request.setAttribute(“list”,list);
return “course”;
@RequestMapping(“/receive”)
public String receive(HttpServletRequest request, HttpServletResponse response, MultipartFile file){
try {
//也可以用request获取上传文件
//MultipartFile fileFile = request.getFile(“file”); //这里是页面的name属性
//转换成输入流
InputStream is = file.getInputStream();
//得到excel
Workbook workbook = Workbook.getWorkbook(is);
//得到sheet
Sheet sheet = workbook.getSheet(0);
//得到列数
int colsNum = sheet.getColumns();
//得到行数
int rowsNum = sheet.getRows();
//单元格
Cell cell;
Cell cell1;
List list = new ArrayList<>();
Map
for (int i = 1; i < rowsNum; i++) {//我的excel第一行是标题,所以 i从1开始
cell = sheet.getCell(0,i);
cell1 = sheet.getCell(5,i);
Curelation curelation = new Curelation();
curelation.setId(cell.getContents());
curelation.setScore(cell1.getContents());
curelationService.updateByPrimaryKey(curelation);
} catch (IOException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
return “redirect:/Course/queryCourse”;
@RequestMapping(“/queryCourse”)
public String queryScore(HttpServletRequest request,Curelation curelation){
curelation.setType(“1”);
List list = curelationService.queryAll(curelation);
request.setAttribute(“list”,list );
return “ScoreList”;
@RequestMapping(“/teacher”)
public String teacher(HttpServletRequest request){
User user = (User) request.getSession().getAttribute(“user”);
Course course = new Course();
course.setCourseteacher(user.getName());
List courseList = courseService.queryAll(course);
request.setAttribute(“list”,courseList);
return “teacherDeal”;
@RequestMapping(“/student”)
public String student(HttpServletRequest request){
Course course = new Course();
course.setStatus(“1”);
List courseList = courseService.queryAll(course);
request.setAttribute(“list”,courseList);
return “studentChoose”;
@RequestMapping(“/upload”)
public String upload(){
return “uploadScore”;
@RequestMapping(“/Export”)
public void Export(HttpServletResponse response, User user){
response.setContentType(“application/binary;charset=UTF-8”);
try {
ServletOutputStream out = response.getOutputStream();
String fileName1 = “学生信息”;
String fileName2 = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”).format(new Date());
String fileName = fileName1+fileName2;
response.setHeader(“Content-disposition”, “attachment; filename=” +new String(fileName.getBytes(“gbk”),“iso8859-1”) + “.xls”);
String[] titles = { “成绩编号”,“学生编号”, “学生姓名”, “课程编号”, “课程名称”, “成绩” };
courseService.export(titles, out,user);
} catch (Exception e) {
e.printStackTrace();
@RequestMapping(“delete”)
public String delete(String ID){
courseService.deleteByPrimaryKey(ID);
return “redirect:/Course/queryAll”;
@RequestMapping(“update”)
public String update(Course course){
courseService.updateByPrimaryKey(course);
return “redirect:/Course/queryAll”;
@Transactional
@RequestMapping(“update1”)
public String update1(HttpServletRequest request,Course course){
course.setStatus(“1”);
courseService.updateByPrimaryKey(course);
User user = (User) request.getSession().getAttribute(“user”);
Curelation curelation1 = new Curelation();
curelation1.setCourseid(course.getId());
curelation1.setUserid(user.getId());
List curelationList = curelationService.queryAll(curelation1);
if(curelationList.size()==0){
Curelation curelation = new Curelation();
curelation.setUserid(user.getId());
curelation.setCourseid(course.getId());
curelation.setId(String.valueOf(Math.random()).substring(2, 10));
curelation.setType(“2”);
curelationService.insert(curelation);
return “redirect:/Course/teacher”;
@RequestMapping(“update2”)
public String update2(HttpServletRequest request,Course course){
User user = (User) request.getSession().getAttribute(“user”);
Curelation curelation = new Curelation();
curelation.setUserid(user.getId());
curelation.setCourseid(course.getId());
List curelationList = curelationService.queryAll(curelation);
if(curelationList.size() == 0){
curelation.setId(String.valueOf(Math.random()).substring(2, 10));
curelation.setType(“1”);
curelationService.insert(curelation);
}else{
Curelation curelation1 = curelationList.get(0);
curelation1.setUserid(user.getId());
curelation1.setCourseid(course.getId());
System.out.println(curelation1.toString());
curelationService.updateByPrimaryKey(curelation1);
return “redirect:/Course/student”;
@ResponseBody
@RequestMapping(“/queryOne”)
public String queryOne(String ID){
Course course = new Course();
course.setId(ID);
List list = courseService.queryAll(course);
course = list.get(0);
JSONObject json = new JSONObject();
return json.toJSONString(course);
@RequestMapping(“add”)
public String addCourse(Course course){
course.setId(String.valueOf(Math.random()).substring(2, 10));
System.out.println(course.toString());
courseService.insert(course);
return “redirect:/Course/queryAll”;