基于javaweb的在线学生选课管理系统(java+jsp+bootstrap+jquery+servlet+mysql)

基于javaweb的在线学生选课管理系统(java+jsp+bootstrap+jquery+servlet+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220819205815

20220819205816

20220819205817

20220819205819

20220819205820

20220819205821

基于javaweb+mysql的在线学生选课管理系统(java+JSP+bootstrap+jQuery+servlet+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.数据库:MySql 5.7版本; 6.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

技术栈

  1. 后端:servlet 2. 前端:JSP+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中db.properties与spring-mybatis.xml配置文件中的数据库配置改为自己的配置; 注:在spring-mybatis.xml没有将db.properties的数据同步过去的情况下修改; 4. 运行项目,输入localhost:8080/chaoshi 登录 注:tomcat中配置项目路径必须为/chaoshi,前端代码中已写死,否则会报错;

用户管理控制层:

@RestController

@RequestMapping(“user”)

@Api

public class UserController{

@Autowired

UserService userService;

/**

  • 获取全部用户

  • @param page

  • @param limit

  • @return

*/

@PostMapping(“getUsers”)

@PreAuthorize(“hasAuthority(‘admin’)”)

public Object getAll(@RequestParam(value = “page”, defaultValue = “1”) int page ,

@RequestParam(value = “limit”, defaultValue = “10”) int limit ){

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

PageHelper.startPage(page , limit);

List list = userService.selectAll();

if(list == null){

return Msg.fail();

//System.out.println(““+username+””);

PageInfo pageInfo = new PageInfo<>(list);

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

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

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

map.put(“data” , pageInfo.getList()); //获得的数据量

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 void excelDownload(HttpServletResponse response) throws IOException{

adminService.excelOut(response);

/**

  • 课程管理

  • @return

*/

@GetMapping(“/courseManage”)

@PreAuthorize(“hasAnyAuthority(‘admin’)”)

public String courseManage(){

return “courseManage”;

/**

  • 添加课程

  • @return

*/

@GetMapping(“/addCourse”)

@PreAuthorize(“hasAuthority(‘admin’)”)

public String addCourse(){

return “addCourse”;

登录管理控制层:

@Controller

@Api

public class LoginController{

@Autowired

AdminService adminService;

@Autowired

UserService userService;

@RequestMapping(“/login”)

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”;

//}

@GetMapping(“/info”)

@PreAuthorize(“hasAuthority(‘student’)”)

public String info(){

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);

int width = 111,height = 36;

try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) {

VerifyCodeUtil.outputImage(width, height, stream, verifyCode);

return Msg.msg(“data”,new ImgVO(“data:image/gif;base64,”+ Base64Utils.encodeToString(stream.toByteArray()),uuid));

} catch (IOException e) {

e.printStackTrace();

return null;

public User getUser() { //为了session从获取用户信息,可以配置如下

User user = new User();

SecurityContext ctx = SecurityContextHolder.getContext();

Authentication auth = ctx.getAuthentication();

if (auth.getPrincipal() instanceof UserDetails) user = (User) auth.getPrincipal();

return user;

public HttpServletRequest getRequest() {

return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1,项目功能: 后台系统:(1)商品管理:改模块主要实现商品信息的额添加,商品信息的编辑,商品信息的删除,商品信息的查看,商品分类信息的添加,商品分类信息的编辑,商品分类信息的删除,商品分类信息的查看,品牌信息的添加,品牌信息的删除,品牌信息的编辑以及品牌信息的查看功能。(2)订单管理:主要实现订单信息的添加,订单信息的查看,订单信息的编辑,订单信息的删除以及退货处理功能。(3)用户管理:主要对用户信息进行管理,主要包括用户信息的添加,修改,删除,以及查看列表功能。(4)营销管理:主要实现对营销方式的添加,删除,修改和查看等功能。前台系统:(1) 商品分类:主要实现商品的分类检索功能功能。 (2) 今日推荐:主要实现商品的推荐信息展示。(3) 优惠:主要实现优惠商品信息的展示。(4) 超值:主要实现超值商品信息的展示。(5) 秒杀:主要实现秒杀功能(6) 购物车:用户可以将喜欢的商品添加到购物车(7) 订单:用户可以对要购买商品提交订单。(8) 个人中心:主要实现个人信息的查看与修改     适合做毕业设计参考项目。2,涉及技术:SpringBoot框架3,开发环境:IDEA,MySQL数据库4,讲解方式:从环境安装,项目搭建,以及项目介绍等进行讲解5,包含资料:项目源码(含数据库文件),环境安装包,项目文档。
项目源码资料在课程附件中下载! 随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。 学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分, 学生选课系统就是为了管理选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。 需求分析: 1、系统用户由三类组成:教师,学生管理员。 2、系统管理员 :        1)维护学生的个人基本信息,实现对学生个人信息的增、删、改、查,学生信息包括学号、姓名、性别、年龄、入学时间、系别、专业、密码。        2)维护教师的个人基本信息,实现对教师个人信息的增、删、改、查,教师信息包括教师工号、姓名、性别、密码。        3)维护课程的个人基本信息,实现对课程个人信息的增、删、改、查,课程信息包括课程号、课程名、学分。 3、学生用户:        1)查询和修改个人信息。        2)进行选课操作。        3)学生可以查看自己所选课程信息及以前所选课程的成绩信息。 4、教师用户:        1)查询学生选课信息。        2)课程结束后,登记成绩  项目部分截图:            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值