招生管理网站(系统)
招生管理系统项目简介
搭建Java开发环境、IDEA、MySQL等工具;搭建本地服务器和web前台网站,Ajax用于服务端与客户端之间异步通信;前端基于HTML、CSS、 JS、JSP、jQuery实现用户界面;搭建、设计MySQL数据库;后端使用Java语言实现学生注册、学生登陆、查看个人信息、打印准考证、查询成绩、网上缴费等学生端基本功能和新闻管理、缴费管理、录取管理等教师端基本功能;使用Springboot和Mybatis为后端框架;使用Maven为项目构建工具;使用BootStrap进行UI设计;使用JSTL标识库用于减少JSP文件的Java代码;使用Navicat软件进行可视化操作。
内容及步骤
1、 招生管理系统的总体设计与实现
1.1需求分析
使用JS、JSP、Java语言,在IDEA环境下,设计实现一下高效简洁的招生管理网站(系统)。在当今社会,教育发展越来越迅速,招生管理系统可以利于考生报名考试和教师对考生报考信息的管理。
本系统要求实现以下基本需求:
学生端需求:
(1) 注册报名:学生进入网站想要报考,必须先注册账号才能进行报名、查询等等操作,否则只能以游客身份浏览首页。报名时每个学生可以报考三个专业、每个专业不能相同。
(2) 查看个人信息:学生完成注册后都可以查看自己的个人信息,也可以修改自己的信息。
(3) 打印准考证:报考学生完成在线报名后,可以查看自己的准考证并且可以打印使用。
(4) 网上缴费:学生报名后,必须缴纳报名费,否则无法生成考生身份;后台只会有账号信息而不会有考生信息。
(5) 成绩、录取查询:学生参加完考试后,可以在七天之内登录网站查看自己的成绩以及自己是否被录取。
管理员端需求:
(1) 管理缴费:管理员可以在后台查看报考学生的缴费信息,如有学生报名但未缴费,也可以通过后端进行补缴。还可以将缴费信息导出为文件。
(2) 新闻管理:管理员可以在后台对网站上添加新闻、修改新闻、删除新闻、编辑新闻。
(3) 考生信息管理:后台上可以查看修改考生的个人信息;还可以将缴费信息导出为文件。
(4) 考场管理:在后台上可以设置考生考场的位置和最大参考人数;安排考生的考场和座位;可以新添考场或者删除考场,也可以导出考场表。
(5) 录取管理:在后台上可以输入考生的成绩、更新考生的录取状态。
(6) 统计管理:可以通过表格方式查看各个专业的报考、录取情况;通过图表查看报名考生、录取考生在全国的分布。
1.2系统功能设计
根据需求分析的结果,本系统至少要分为以下三个模块:注册模块、登录模块、学生应用系统模块、管理员应用系统模块,分别用于注册报名、登录网站、完成学生的各种操作、完成管理员的各种操作。
招生管理系统具体实现和功能为:
一、前端:1.HTML页面,显示报名网站的首页;2.学生应用系统页面:注册报名进入应用系统,同时也可以点击功能进入其他页面(如个人信息页面、查看打印准考证页面等等)。
二、后端:1.逻辑层:控制层、业务逻辑层、数据持久层、系统服务层实现后端基本功能;业务逻辑层中包含Ajax技术,用于向前端发送请求;测试类通过引入junit.jar包进行单元测试。2.数据库:本地MySQL数据库实现各种信息(如考场信息、考生信息)的存储。3.SpringBoot:利用框架自身集成的tomcat提供系统服务。4.Mybatis:通过对象类和数据库类名的映射,免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
本系统的整体功能模块图如1-1所示。
图1-1 招生管理系统功能结构图
1.3 招生管理系统详细设计(具体实现)
(1)招生管理系统总体功能展示如图1-2所示:
图1-2 总体功能展示图
(2)数据库设计
此处展示我设计的报名信息表、考场表、缴费信息表等七张表,如图1-3、图1-4、图1-5所示:
图1-3 报名信息表
图1-4 考场表
图1-5 其余表
(3)代码实现
我主要负责设计开发管理员后端的逻辑功能、部署项目、使用Mybatis实现对象类和数据库映射进行数据库信息增删改查,以下展示部分代码,如下:
(1) controller层
package com.example.demo1.controller;
import com.example.demo1.modal.DzBmdjT;
import com.example.demo1.modal.DzKsxxT;
import com.example.demo1.modal.DzPayT;
import com.example.demo1.service.DzKsxxService;
import com.example.demo1.service.DzPayService;
import com.example.demo1.service.DzbmdjService;
import com.example.demo1.util.DateUtil;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.w3c.dom.stylesheets.LinkStyle;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.util.List;
/**
* 支付控制层
*/
@Controller
public class DzPayController {
//注入服务层
@Resource
private DzPayService payService;
@Resource
private DzbmdjService bmdjService;
@Resource
private DzKsxxService ksxxService;
/**
* 缴费页面跳转
* @return
*/
@RequestMapping(value = "pay", method = RequestMethod.GET)
public String payView() {
return "student/weChatPayment";
}
/**
* 一键缴费逻辑
* @param session
* @return
*/
@RequestMapping(value = "/pay", method = RequestMethod.POST)
@ResponseBody
public Boolean paySuccessView(HttpSession session) {
// 获取身份证号码
String sfzh = session.getAttribute("sfzh").toString();
//创建报名登记对象
DzBmdjT dzBmdjT = new DzBmdjT();
dzBmdjT.setSfzh(sfzh);
//根据身份证号码查询报名登记列表
List<DzBmdjT> dzBmdjTList = bmdjService.getBmdjList(dzBmdjT);
//拿到报名登记id
int bmdjId = dzBmdjTList.get(0).getId();
//根据身份证号查询 Id
List<DzBmdjT> BmdjTList = bmdjService.getBmdjList(dzBmdjT);
//获取姓名
String xm = BmdjTList.get(0