前言
致想要与本文一起实现案例的小伙伴:
本文包含实现的全部过程,有想要一起实现案例的小伙伴可以跟着一步一步实现。
由于本案例的重点是JavaWeb,且实现了前后端分离,所以在文章中不会有前端代码的实现过程。
不过前端的部分我已经写好啦,并且已经打包编译了,所以小伙伴们可以直接下载打包好的前端文件到自己的电脑上去(大概2M左右),然后用浏览器打开就可以直接运行啦~~~~
前端文件下载地址:https://github.com/BEIJIU601/NewStuReport
前端文件详细说明和使用:https://blog.csdn.net/weixin_43760020/article/details/105281230
博客的下篇在这里:https://blog.csdn.net/weixin_43760020/article/details/105292962
注意:假设我们在做一个前后端分离、需要通过接口文档对接的项目。要仔细查看前端所需的api接口和参数字段,不然与后端的交互有可能会失败!
一、案例分析和设计
上篇主要有案例分析和案例设计。
1、案例介绍
这是一个前后端分离的小项目,主要用来检验自己这段时间学习JavaWeb的成果。
该案例包含的JavaWeb知识点如下:
基于MVC的三层架构的实现(项目搭建) |
数据库连接(通过JDBC) |
JavaWeb程序通过AJAX与前端交互的过程(Servlet+AJAX+JSON) |
模拟前后端通过接口文档对接(简化版) |
跨域问题的解决(Filter) |
(1)、案例背景
在平时,新生来校报道前,一般都需要告知学校自己的行程信息和基本信息,同时学校也会为每位新生分配一名负责接待的学长或学姐,因此,我们编写出一个迎新小系统,用于向新生收集行程信息和告知新生自己的接待人。
(2)、实现功能
该迎新案例共有两个页面,使用流程如下:
实现的功能如下:
- 验证新生的学号和姓名是否正确
- 查看自己的基本信息和接待人的信息
- 将新生填写的个人信息存入数据库
效果图展示如下::
MySQL数据如下:
2、案例设计
(1)、数据库的设计
由于本次项目的重点是JavaWeb,故数据库的设计比较随意。主要涉及两个表:
新生登录表和新生报道表
两张表所含字段如下:
新生登录表 | 新生报道表 |
---|---|
姓名 | 姓名 |
学号 | 学号 |
性别 | |
专业 | |
班级 | |
省份 | |
电话 | |
到校日期 | |
到校时间 | |
交通方式 | |
车次/航班 | |
行程备注 | |
是否贷款 | |
贷款金额 | |
贷款缴纳 | |
缴纳方式 | |
贷款备注 | |
是否有贷款回执照片 | |
接待人 | |
接待人电话 |
其中,新生登录表的数据是在创建表的时候即插入的,作用就是在登录页面输入姓名和学号时,会去此表中验证是否一致,一致即视为登录成功。
而新生报道表的所有字段又分为四个部分:
- 基本信息:姓名、学号、性别、专业、班级、省份 (该部分字段数据在建表时即插入)
- 行程信息:到校日期、到校时间、交通方式、车次/航班、备注
- 学费信息:是否贷款、贷款金额、贷款缴纳、缴纳方式、贷款备注、是否有贷款回执照片
- 接待信息:接待人、接待人电话 (该部分字段数据在建表时即插入)
建表SQL语句如下:
新生登录表
#创建新生登录表
CREATE TABLE stunew (
newstuid BIGINT(20) UNSIGNED NOT NULL