💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 实验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)