# 实验1:MVC综合实训
## 1. 实验目的
1. 能够在Java Web项目中根据需求创建JSP文件;
2. 能够使用request获取单一值、多个值数据并显示;
3. 能够使用请求转发和重定向进行页面跳转;
4. 能够选取并使用合适的存储对象对必要信息进行存储;
5. 能够对JSP进行错误处理。
## 2. 实验内容
1. 制作模板页面menu.jsp或common.jsp,使得每个页面都有网页菜单和网页页脚。
![](https://img.kancloud.cn/b4/71/b4712e1ad9d97647e6eeeffd2bc84151_926x504.png)
2. 编写注册界面,并提交给RegistServlet进行注册,效果图如图
![](https://img.kancloud.cn/e4/f6/e4f675be51e7f715167f92d9948623c4_514x285.png)
3. 编写登录界面,并提交给LoginServlet进行登录,效果图如图
![](https://img.kancloud.cn/ae/84/ae84663d06cf92b9d0db18c3f57a163f_387x232.png)
4. 编写错误信息(自动获取,下图是验证码错误时的效果图)提示页面,并能够在3秒之后跳转到主页
![](https://img.kancloud.cn/88/09/8809224fd603e3e6432d25398d2e4551_991x232.png)
5. 创建User类,用于数据封装
![](https://img.kancloud.cn/ee/72/ee728e03b90d0eed499f6f3b9434c13b_317x407.png)
6. 编写RegistServlet,接收注册页面数据并进行处理,要求如下:
* 用户名不能为空,且不能重复注册
* 密码不能为空,且不能少于6位
* 邮箱不能为空,且必须符合 x@x.x的格式
* 性别默认选中男(值为1),女(值为0)
* 关注类型不能为空
* 验证码必须是gbcw,不区分大小写
* [ ] 如果验证成功,将注册信息存入application中,跳转到主页进行登录
* [ ] 如果验证失败,保存错误信息,跳转到错误提示页面,错误信息包括:
> 验证码不能为空
> 验证码错误
> 性别数据错误(未获取到0或1)
> 用户名不能为空
> 用户名已经被注册
> 密码不能为空
> 密码长度不符合要求
> 邮箱不能为空
> 邮箱格式不正确
> 没有选择关注类型
*****
7. 编写LoginServlet,接收登录页面数据并进行处理,要求如下:
* 用户名和密码不能为空
* 用户必须是已经注册用户,即在application中存在信息
* 密码必须和注册时密码一致
* [ ] 如果验证成功,将登录信息存入session中,跳转到主页,并能够显示登录之后的菜单
![](https://img.kancloud.cn/25/2a/252a4ff7243f30e2593b1f449f5b6ac3_422x87.png)
* [ ] 如果验证失败,保存错误信息,跳转到错误提示页面,错误信息包括:
**登录错误信息包括:**
> 用户名或密码为空
> 用户不存在
> 密码错误
8. 编写LogoutServlet用于实现退出功能,点击退出,销毁当前session,回到主页
![](https://img.kancloud.cn/af/10/af108e4fbd9723e88559c1e1154a7340_274x111.png)
9. 编写个人信息页面userinfo.jsp,在登录状态时,可以查看个人信息
![](https://img.kancloud.cn/06/c7/06c7912a27b4f0cc546eed298cd5daa0_247x147.png)
![](https://img.kancloud.cn/73/5e/735e469187e8ebf8abe781f3a855a736_589x296.png)
10. 编写404.jsp,并为项目配置全局404页面
![](https://img.kancloud.cn/48/c5/48c5473556aec2a1fcd27d5155573e50_988x278.png)
## 3. 项目目录参考
切换包和类的显示方式:
![](https://img.kancloud.cn/9b/b2/9bb22a3e8c002e6a951bda1ebf57dce4_734x314.png)
### 实验项目目录结构
![](https://img.kancloud.cn/12/a9/12a9bff6afd7243351c10a1403db470f_888x641.png)
- 1课程概述
- 2环境配置
- 3MVC
- 3.1View
- 3.1.1前端基础
- 3.1.2JSP语法
- 3.1.3JSP内置对象1
- 3.1.4JSP内置对象2
- 3.2Bean
- 3.3Controller
- 3.3.1Servlet
- 3.3.2Filter
- 3.3.3Listener
- 3.4EL&JSTL
- 4三层架构
- 4.1数据库操作
- 4.1.1JDBC
- 4.1.2JDBC优化
- 4.2三层架构设计
- 4.3程序优化
- 4.3.1数据库连接优化
- 4.3.2数据库操作优化
- 4.4安全专题
- 4.4.1Ajax异步查询
- 4.4.2CAPTCHA
- 4.4.3MD5&SHA
- 4.4.4Cookie
- 4.4.5分页显示
- 4.4.6文件上传
- 4.4.7发送邮件
- 5企业级框架
- 5.0Maven
- 5.1MyBatis
- 5.2Spring
- 5.3SpringMVC
- 6实践项目
- 6.1实验1-用户登录(MVC)
- 6.2实验2-访问统计(Servlet高级)
- 6.3实验3-三层架构
- 6.4实验4-安全信息系统