`
yx1989
  • 浏览: 10635 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

day09-用户注册登录

 
阅读更多

先计划好步骤,写个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包围,用以处理为预料的异常。
分享到:
评论

相关推荐

    廖雪峰python3 完整带索引,图片 最新教程 pdf版

    刚刚学习Python, 边看廖神的教程...Day 10 - 用户注册和登录 Day 11 - 编写日志创建页 Day 12 - 编写日志列表页 Day 13 - 提升开发效率 Day 14 - 完成Web App Day 15 - 部署Web App Day 16 - 编写移动App FAQ 期末总结

    Python 3教程(廖雪峰).rar

    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 ...

    廖雪峰Pyhton教程3.x版[完整版]

    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

    方立勋javaweb视频教程day09_user用户注册,源码导入myeclipse可直接运行.

    my-day-planner-api:与my-day-planner-repo结合使用的API

    该API的功能包括: 来自“ swagger-express-boilerplate”存储库的所有功能用户身份验证和注册。 用于DayPlanner模型的操作的CRUD选项。 简单的API安全性(可能会升级安全性方法)启动拉出存储库的副本后-确保已...

    New-Day-New-Project

    New Day New Project :woman_technologist_light_skin_tone: 大家好我每天开始做一个新项目,以提高我的软件技能。...项目1-用户注册/登录(C#-Windows表格) 项目2-Internet连接检查(C#控制台)

    Pi-Day-HackParty-2021

    Pi Day HackParty 2021 欢迎参加2021年Pi Day HackParty! 按照开始使用Askdata的步骤进行操作。Askdata快速入门: 注册:使用您自己的电子... 用户激活使用REST API登录到Askdata(用于获取令牌) 要求: curl --loca

    老男孩Python完美实战课程 14期视频教程 28周Python视频教程 1-14周部分

    │ │ └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路由系统_...

    全新JAVAEE大神完美就业实战课程 超150G巨制课程轻松实战JAVAEE课程 就业部分.txt

    day01_SVN安装_CRM注册页面 day02_登录_客户管理模块 day03_客户管理&联系人管理 day04_联系人管理 day05_CRM权限拦截器_SSH纯注解整合 day06_Easyui&列表展示 10-Oracle数据库(学习4天) Oracle_day01,安装...

    Python简单实现一个可以注册、登录、登出的系统

    设计一个拥有注册、登录、退出功能的小程序。 一、接口提供方 (1)使用面向对象思想,将方法封装到某个类中。 (2)创建一个独立的包、模块存放这个类。 (3)提供注册功能:需要输入“手机号码”、“密码”、...

    Restcomm-Mayday-Android

    立即免费试用Restcomm Cloud! 零下载和安装。... 用户按下登录后,该用户将在设置屏幕中域中提到的sip服务器中注册,应用程序将显示主屏幕。 在主屏幕中,用户将能够在屏幕顶部看到具有当前报价的产

    android SharedPreference实现登录

    android SharedPreference实现登录.开发工具是:e 本人博客是:day_moon

    Eclipse开发分布式商城系统+完整视频代码及文档

    用户注册、登录页面.avi │ 11.首页展示登录的用户名.avi │ 12.拦截器处理请求.avi │ 打开必读.txt │ 淘淘商城第十天笔记.docx │ ├─11.第十一天 │ 01.内容回顾.avi │ 02.课程计划.avi │ 03.购物车实现分析...

    毕设绝技 - 4天玩乐完成商城系统完整资料day03

    用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...

    毕设绝技 - 4天玩乐完成商城系统完整资料day04

    用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...

    毕设绝技 - 4天玩乐完成商城系统完整资料day02

    用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...

    毕设绝技 - 4天玩乐完成商城系统完整资料day01

    用户管理功能包括用户的注册、登录、个人信息管理和收货地址管理等,提升用户体验。而营销管理功能则通过促销活动的设置、优惠券的发放和积分兑换等手段,帮助商家提升销售业绩。 商城系统的特点主要体现在功能性、...

    javaSE_tedu_day.zip

    服务端的简单信息登录: 模拟注册功能: 1.使用数组存储个人信息: 2.register(String id,String name,String pwd,String email ):void 3.check(String name,String pwd)boolean 4.updateInfo(String name...

    SuperNotepad

    09) 状态栏便捷查看文本编码方式、文件路径、字符的各种信息 例︰字体|大小|颜色|...|编码 10) 浏览当前编辑文档所在的文件夹(注:F6) 11) 排序 12) 填充序列数 (注:支持批量\par\tab\asc\nul) ...

Global site tag (gtag.js) - Google Analytics