文末获取源码
开发语言:Java
使用框架:spring boot
前端技术:JavaScript、Vue.js 、css3
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:Java jdk8
Maven:apache-maven 3.8.1-bin
目录
一、前言介绍
二、主要功能模块设计
2.1用户管理模块
2.2登录模块
2.3课程信息管理模块
2.4课程成绩管理模块
2.5选课模块
2.6选课管理模块
三、管理员功能模块
3.1系统登录界面
3.2学生用户管理模块
3.3选课信息管理模块
3.4教室信息管理模块
四、学生用户功能模块
4.1公告通知模块
4.2课程信息模块
4.3成绩信息模块
五、教师功能模块
5.1选课信息模块
六、部分核心代码
6.1课程添加关键代码
6.2选课添加关键代码
6.3成绩添加关键代码
6.4系统用户管理关键代码
6.5学院信息添加关键代码
6.6课程信息管理关键代码
6.7选课审核关键代码
本系统使用的是现流行的开发语言,即Springboot技术。同时所有的信息都是以网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用本系统。系统布局较简单,功能操作不复杂,完全符合现代市场需求。
本课题的研究对象是学生选课系统,该系统实现了系统用户管理、学生管理、教师管理、课程信息管理、选课管理、成绩管理、学院信息管理、教室信息管理等功能。本系统在设计上,考虑到系统内容以及系统的受众群体,在系统的美工方面采用了比较正规的设计,同时也提供了友好的页面以及简单的操作,系统采用Springboot、Mysql,这样的组合不但利用上了在大学中所学到的知识,并且能够使系统真正的发布到互联网上,而不是一个单纯的演示系统。
本系统经过测试,运行效果稳定,操作方便、快捷。在具体的应用过程中,有可能会出现一些问题,今后还会对本系统不断地进行完善、更新,使其功能更强大,应用更广泛。
该模块包括普通用户管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有普通用户才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户
根据用户输入的 Id 和密码到数据库中查找该用户,如果未能找到该用户则做出 提醒“用户名或密码错误”,如果找到该用户,则要判断用户的类别然后根据用户类别进入相应的页面。
(1)课程添加:必须填写课程编号、课程名称、课程负责账号、课程负责人必须是唯一的, 提交后判断某一项是否为填写, 如果是则做出提醒, 填写符合规则后方可添加到数据库。
(2)课程规查询:可以根据课程编号等信息对课程进行查询,查询结果可能有多个。
(3)课程修改:除了课程编号外,其他信息均可以修改。
(4)课程删除:首先找到要删除的课程(一个或多个),然后删除即可。
教师选中某个选课,点击添加成绩,填写成绩数据,点击添加按钮,完成选课成绩操作,每次成绩录入,列表将生成新的成绩信息,供管理员管理。
用户查询课程规划信息,选择课程规划进入该课程规划的详细页面,点击选课按钮,填写选课表单,添加选课记录。
用户选课课程规划模块主要实现的是对课程规划的选课功能,同时可查看自己的选课记录,并对选课可进行取消选课操作。管理员登录系统后,可查看用户的选课信息,也可搜索选课信息,同时可对选课信息进行确认或删除的操作。
@PostMapping("/add")@Transactionalpublic Map add(HttpServletRequest request) throws IOException {service.insert(service.readBody(request.getReader()));return success(1);}@Transactionalpublic Map addMap(Map map){service.insert(map);return success(1);}public Map readBody(BufferedReader reader){BufferedReader br = null;StringBuilder sb = new StringBuilder("");try{br = reader;String str;while ((str = br.readLine()) != null){sb.append(str);}br.close();String json = sb.toString();return JSONObject.parseObject(json, Map.class);}catch (IOException e){e.printStackTrace();}finally{if (null != br){try{br.close();}catch (IOException e){e.printStackTrace();}}}return null;}public void insert(Map body){StringBuffer sql = new StringBuffer("INSERT INTO ");sql.append("`").append(table).append("`").append(" (");for (Map.Entry entry:body.entrySet()){sql.append("`"+humpToLine(entry.getKey())+"`").append(",");}sql.deleteCharAt(sql.length()-1);sql.append(") VALUES (");for (Map.Entry entry:body.entrySet()){Object value = entry.getValue();if (value instanceof String){sql.append("'").append(entry.getValue()).append("'").append(",");}else {sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length() - 1);sql.append(")");log.info("[{}] - 插入操作:{}",table,sql);Query query = runCountSql(sql.toString());query.executeUpdate();}
@RequestMapping(value = {"/avg_group", "/avg"})public Map avg(HttpServletRequest request) {Query count = service.avg(service.readQuery(request), service.readConfig(request));return success(count.getResultList());}
@RequestMapping("/get_list")public Map getList(HttpServletRequest request) {Map map = service.selectToPage(service.readQuery(request), service.readConfig(request));return success(map);}
@RestController@RequestMapping("auth")public class AuthController extends BaseController {/*** 服务对象*/@Autowiredpublic AuthController(AuthService service) {setService(service);}}
public class FindConfig {public static String PAGE = "page";public static String SIZE = "size";public static String LIKE = "like";public static String ORDER_BY = "orderby";public static String FIELD = "field";public static String GROUP_BY = "groupby";public static String MIN_ = "_min";public static String MAX_ = "_max";}
@SpringBootApplication@EnableJpaRepositoriespublic class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);}}
@RequestMapping(value = {"/sum_group", "/sum"})public Map sum(HttpServletRequest request) {Query count = service.sum(service.readQuery(request), service.readConfig(request));return success(count.getResultList());}
上一篇:网络安全基础入门-概念名词
下一篇:《数据结构》(六)八大排序(下)