基于javaweb+mysql的ssm选课管理系统(java+ssm+layui+jsp+jquery+mysql)

基于javaweb+mysql的ssm选课管理系统(java+ssm+layui+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM选课管理系统(java+ssm+layui+jsp+jquery+mysql)

项目介绍

基于SSM的选课管理系统

管理员:个人申心、公告信息管理、学生管理、教师管理、院系管理、专业管理、班级管理、课程信息管理、学生选课管理、课程成绩管理

学生:个人中心、公告信息管理、课程信息管理、学生选课管理、课程成绩管理

教师:个人中心、公告信息管理、课程信息管理、学生选课管理课程成绩管理

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SSM(Spring+SpringMVC+Mybatis) 前端:JSP+CSS+JS+JQUERY+Layui

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

return "studentInfo";

@GetMapping("/getCode")

@ResponseBody

public Object getCode(HttpServletRequest request) {

/* 生成验证码字符串 */

String verifyCode = VerifyCodeUtil.generateVerifyCode(4);

String uuid = UUIDUtil.GeneratorUUIDOfSimple();

HttpSession session = request.getSession();

session.setAttribute(uuid,verifyCode); //将验证码与生成的uuid绑定在一起

System.out.println("生成的验证码为:" + verifyCode);


* 添加课程

* @return

*/

@GetMapping("/addCourse")

@PreAuthorize("hasAuthority('admin')")

public String addCourse(){

return "addCourse";

登录管理控制层:

@Controller

@Api

public class LoginController{

@Autowired

public class AdminController{

@Autowired

AdminService adminService;

/**

* Excel表格导出接口

* http://localhost:8080/ExcelDownload

* @param response response对象

*/

@GetMapping("/ExcelDownload")

@PreAuthorize("hasAuthority('admin')")

public void excelDownload(HttpServletResponse response) throws IOException{

adminService.excelOut(response);


@GetMapping("/manager")

@PreAuthorize("hasAuthority('admin')")

public String manager(){

return "manager";

//@RequestMapping("/error")

//public String error(){

//    return "error";

//}

@GetMapping("/info")

@PreAuthorize("hasAuthority('student')")


* 课程管理

* @return

*/

@GetMapping("/courseManage")

@PreAuthorize("hasAnyAuthority('admin')")

public String courseManage(){

return "courseManage";

/**

* 添加课程

* @return

*/

@GetMapping("/addCourse")


public String login(){

return "login";

@GetMapping("/")

public String index() {

return "success";

@GetMapping("/manager")

@PreAuthorize("hasAuthority('admin')")

public String manager(){

return "manager";

//@RequestMapping("/error")

//public String error(){

//    return "error";

public Object studentInfo(@RequestParam(value = "page", defaultValue = "1") int page ,

@RequestParam(value = "limit", defaultValue = "10") int limit ,

@RequestParam("username")String username){

try{

Map<String,Object> map = new HashMap<>();

PageHelper.startPage(page , limit);

List<SelectableCourse> list = selectableCourseDAO.selectByUser(username);

if(list == null){

return Msg.fail();

//System.out.println("=="+username+"==");

PageInfo<SelectableCourse> pageInfo = new PageInfo<>(list);

map.put("totalPage" , pageInfo.getPages());  //总页数

map.put("totalCount" , pageInfo.getTotal());  //总条数

return "success";

@GetMapping("/manager")

@PreAuthorize("hasAuthority('admin')")

public String manager(){

return "manager";

//@RequestMapping("/error")

//public String error(){

//    return "error";

//}

@GetMapping("/info")

@PreAuthorize("hasAuthority('student')")

public String info(){

return "studentInfo";


AdminService adminService;

/**

* Excel表格导出接口

* http://localhost:8080/ExcelDownload

* @param response response对象

*/

@GetMapping("/ExcelDownload")

@PreAuthorize("hasAuthority('admin')")

public void excelDownload(HttpServletResponse response) throws IOException{

adminService.excelOut(response);

/**

* 课程管理

* @return


@Autowired

AdminService adminService;

/**

* Excel表格导出接口

* http://localhost:8080/ExcelDownload

* @param response response对象

*/

@GetMapping("/ExcelDownload")

@PreAuthorize("hasAuthority('admin')")

public void excelDownload(HttpServletResponse response) throws IOException{

adminService.excelOut(response);

/**

public Object cc(){

Map<String,Object> map = new HashMap<>();

try{

selectableCourseDAO.updateMinCourseStock(1);

return true;

}catch(Exception e){

if(e instanceof DataIntegrityViolationException){

map.put("msg","该课程已经被抢完啦。");

}else{

map.put("msg","出现其他异常,选课失败!");

map.put("flag",false);


return userCourseService.cancelCourse(courseId,username);

/**

* 获取学生所选全部课程

* @param page

* @param limit

* @param username

* @return

*/

@PostMapping("studentInfo")

@PreAuthorize("hasAuthority('admin') or hasAuthority('student')")

public Object studentInfo(@RequestParam(value = "page", defaultValue = "1") int page ,

@RequestParam(value = "limit", defaultValue = "10") int limit ,
return userCourseService.cancelCourse(courseId,username);

/**

* 获取学生所选全部课程

* @param page

* @param limit

* @param username

* @return

*/

@PostMapping("studentInfo")

@PreAuthorize("hasAuthority('admin') or hasAuthority('student')")

public Object studentInfo(@RequestParam(value = "page", defaultValue = "1") int page ,


selectableCourseDAO.updateMinCourseStock(1);

return true;

}catch(Exception e){

if(e instanceof DataIntegrityViolationException){

map.put("msg","该课程已经被抢完啦。");

}else{

map.put("msg","出现其他异常,选课失败!");

map.put("flag",false);

return JSON.toJSON(map);

管理员管理控制层:

@Controller

@Api

public class AdminController{

@RequestParam("username")String username){

try{

Map<String,Object> map = new HashMap<>();

PageHelper.startPage(page , limit);

List<SelectableCourse> list = selectableCourseDAO.selectByUser(username);

if(list == null){

return Msg.fail();

//System.out.println("=="+username+"==");

PageInfo<SelectableCourse> pageInfo = new PageInfo<>(list);

map.put("totalPage" , pageInfo.getPages());  //总页数

map.put("totalCount" , pageInfo.getTotal());  //总条数

map.put("currentPage" , page);  //当前页数。

return JSON.toJSON(map);

管理员管理控制层:

@Controller

@Api

public class AdminController{

@Autowired

AdminService adminService;

/**

* Excel表格导出接口

* http://localhost:8080/ExcelDownload

* @param response response对象

*/

@GetMapping("/ExcelDownload")

@PreAuthorize("hasAuthority('admin')")

public String manager(){

return "manager";

//@RequestMapping("/error")

//public String error(){

//    return "error";

//}

@GetMapping("/info")

@PreAuthorize("hasAuthority('student')")

public String info(){

return "studentInfo";

@GetMapping("/getCode")

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值