先计划好步骤,写个readme
1. 搭建开发环境
1.1 导入开发包
1.2 创建组织程序的包
1.3 在类目录下创建代表数据库的xml文件
2. 开发实体
3. 开发dao
4.开发service
5.开发web
1.创建用来模拟数据库的xml文件,创建xml里保存的User实体类。
2.开发dao,用dom4j实现find(String name),find(String name, String password),和add(User user)方法
为什么用类加载器获取文件流?这样做有什么好处?见使用类加载器的方式管理资源和配置文件。
用junit测试dao
3.开发service层,实现register(User user)和login(String username,String password)方法。
在register方法里检查用户名是否存在,如果存在的话,抛出一个UserExitException通知上层程序。这里需要自定义一个异常。
如果用户名不存在,则调用dao,将传进来的用户写入到数据库。
login方法就是调用dao的find方法,登录不做校验。
业务类还要做两件事情:放到
1.为用户分配一个唯一的ID,通过UUID完成。
2.在ServiceUtils里对用户的密码做处理,通过一个随机的字串和用户的密码混在一起做md5,然后用Base64处理成16进制。
用junit测试service。
4.开发web层。
用RegisterUIServlet将用户forward到注册页面register.jsp
在register.jsp里用表单收集用户的信息,提交到RegisterServlet。
定义用于保存表单的RegisterFormBean。这个类里还有用来校验数据的validate()方法,在类里定义一个Map errors 属性,将校验失败项和失败原因存在Map里,便于在register里显示原因。
定义WebUtils,这里有两个方法,
1. request2Bean(request,beanClass) :将request的参数列表保存成Map,然后调用BeanUtis.populate(bean,map)来封装并返回bean
2.copyBean,使用BeanUtils.copyProperties(dest,src)方法将bean里的属性封装到User对象,这里需要注册一个利用SimpleDateFormat实现的当传入日期字符串为空的时候返回null的日期转换器。
RegisterServlet先用request2Bean将表单存到formBean里,然后调用其校验方法。
若是检验失败将表单存到request里,并forward到注册页面,formBean里封装了校验失败的原因和上次填写的数据,在注册页面里取出这些数据,并显示。
若是校验成功先调用copyBean吧表单封装到实体,然后调用业务类,把user存到数据库。这个时候如果捕获到业务类抛出的用户名已存在异常,则将消息存到request里,将用户forward到注册页面。若是没有收到异常,就将成功信息保存到request里,将用户forword消息显示页面,并显示该消息。
在整个RegiserServlet的doGet()里用try-catch包围,用以处理为预料的异常。
分享到:
相关推荐
刚刚学习Python, 边看廖神的教程...Day 10 - 用户注册和登录 Day 11 - 编写日志创建页 Day 12 - 编写日志列表页 Day 13 - 提升开发效率 Day 14 - 完成Web App Day 15 - 部署Web App Day 16 - 编写移动App FAQ 期末总结
Day 10 - 用户注册和登录 501 Day 11 - 编写日志创建页 511 Day 12 - 编写日志列表页 520 Day 13 - 提升开发效率 527 Day 14 - 完成 Web App 532 Day 15 - 部署 Web App 534 Day 16 - 编写移动 App 544 FAQ ...
22.10 Day 10 - 用户注册和登录 412 22.11 Day 11 - 编写日志创建页 423 22.12 Day 12 - 编写日志列表页 432 22.13 Day 13 - 提升开发效率 439 22.14 Day 14 - 完成Web App 443 22.15 Day 15 - 部署Web App 445 ...
方立勋javaweb视频教程day09_user用户注册,源码导入myeclipse可直接运行.
该API的功能包括: 来自“ swagger-express-boilerplate”存储库的所有功能用户身份验证和注册。 用于DayPlanner模型的操作的CRUD选项。 简单的API安全性(可能会升级安全性方法)启动拉出存储库的副本后-确保已...
New Day New Project :woman_technologist_light_skin_tone: 大家好我每天开始做一个新项目,以提高我的软件技能。...项目1-用户注册/登录(C#-Windows表格) 项目2-Internet连接检查(C#控制台)
Pi Day HackParty 2021 欢迎参加2021年Pi Day HackParty! 按照开始使用Askdata的步骤进行操作。Askdata快速入门: 注册:使用您自己的电子... 用户激活使用REST API登录到Askdata(用于获取令牌) 要求: curl --loca
│ │ └12 python s14 day 11 Django用户注册和ajax请求_rec.mp4 │ ├<L012-老男孩教育-Python14期VIP视频-8节-mp4> │ │ ├01 python s14 day 12上节作业_rec.mp4 │ │ ├02 python s14 day 12 Django路由系统_...
day01_SVN安装_CRM注册页面 day02_登录_客户管理模块 day03_客户管理&联系人管理 day04_联系人管理 day05_CRM权限拦截器_SSH纯注解整合 day06_Easyui&列表展示 10-Oracle数据库(学习4天) Oracle_day01,安装...
设计一个拥有注册、登录、退出功能的小程序。 一、接口提供方 (1)使用面向对象思想,将方法封装到某个类中。 (2)创建一个独立的包、模块存放这个类。 (3)提供注册功能:需要输入“手机号码”、“密码”、...
立即免费试用Restcomm Cloud! 零下载和安装。... 用户按下登录后,该用户将在设置屏幕中域中提到的sip服务器中注册,应用程序将显示主屏幕。 在主屏幕中,用户将能够在屏幕顶部看到具有当前报价的产
android SharedPreference实现登录.开发工具是:e 本人博客是:day_moon
用户注册、登录页面.avi │ 11.首页展示登录的用户名.avi │ 12.拦截器处理请求.avi │ 打开必读.txt │ 淘淘商城第十天笔记.docx │ ├─11.第十一天 │ 01.内容回顾.avi │ 02.课程计划.avi │ 03.购物车实现分析...
用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...
用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...
用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...
用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...
服务端的简单信息登录: 模拟注册功能: 1.使用数组存储个人信息: 2.register(String id,String name,String pwd,String email ):void 3.check(String name,String pwd)boolean 4.updateInfo(String name...
09) 状态栏便捷查看文本编码方式、文件路径、字符的各种信息 例︰字体|大小|颜色|...|编码 10) 浏览当前编辑文档所在的文件夹(注:F6) 11) 排序 12) 填充序列数 (注:支持批量\par\tab\asc\nul) ...