01-JavaWeb项目-注册功能-底层逻辑分析

注册功能

【web项目-注册功能-逻辑分析/前台后台/三层架构/原生底层】

【技术实现:JavaScript/Ajax&json/Tomcat/MySQL/Spring-JDBC/Druid连接池】

前台

JavaScript

  • 表单检验
    • 对每一个输入框进行正则表达式的校验,并绑定单击事件
    • 判断是否检验成功,并分别设置不同的css表现样式
  • 失焦事件
    • 给每一个正则校验输入框绑定失焦事件,并传递响应的校验方法名
  • 异步请求
    • 给表单提交按钮绑定一个提交事件,并判断所有校验方法是否都校验成功
    • 如果所有校验成功,发送异步请求,将表单对象序列化作为参数传递给后台,最后接收后台响应回来的数据进行判断。
      • 如果注册成功,跳转注册成功页面,给用户友好提示。
      • 如果注册失败,将后台响应回来的错误信息展示到当前页面
    • 如果校验不成功,则直接返回false,不提交表单

后台

web层

  1. 为优化开发,简化代码,去重,定义一个BaseServlet类。以后所有的访问后台资源路径的servlet类都要继承BaseServlet,便于统一管理不同类目的servlet的不同调用请求
  2. 再写一个用户的servlet类,继承BaseServlet,定义一个用户注册方法,私有化声明UserService业务对象,便于后面重复调用该对象
  3. 先判断验证码是否正确,减轻访问数据库的压力
    1. 在验证码的servlet类中,通过session域对象设置验证码的值
    2. 通过request对象获取session对象,并获取到后台自动设置的验证码的值
    3. 获取到验证码后,应立即移除session中验证码的属性值,让验证码只能被只用一次,提高安全性
    4. 如果验证码对比失败,则直接写回失败信息,封装为一个信息对象,并将信息对象转为json对象返回给前台,最后return
    5. 如果验证码对比成功,继续进行下一步
  4. 接收前台请求发送的数据,并利用工具类转成一个user对象封装数据
  5. 调用service对象的用户注册方法,并将封装好的user对象作为参数传递过去,返回值为布尔类型
  6. 判断是否注册成功,分别会写成功或失败的信息,封装到info对象中,将info对象转成json对象,响应给前台

service层

  1. 定义一个用户业务逻辑层的接口,再定义一个用户业务逻辑层接口的实现类,在实现类里面进行业务逻辑的处理
  2. 私有化声明一个数据访问对象,便于重复调用
  3. 定义一个用户注册的方法,先调用dao对象的根据用户名查找用户的方法
    • 如果用户存在,不为null,则直接返回false
    • 如果用户不存在,则继续执行下一步
  4. 给用户设置一个激活码,作为判断激活状态的唯一标识。同时再给用户设置激活状态为’N’
  5. 调用dao对象保存用户信息的方法,无返回值
  6. 利用邮件工具类,给用户注册邮箱发送激活邮件。传递参数:用户注册邮箱、激活跳转页面(绑定激活码参数)、标题信息
  7. 返回true

dao层

  1. 定义一个用户表的数据处理接口,再定义一个用户表数据处理接口的实现类,在实现类里面进行对用户表的CRUD操作
  2. 私有化声明一个JdbcTemplate对象。依赖于数据源DataSource(使用Druid连接池)
  3. 调用template对象的方法,通过用户名查询用户表是否存在该用户。如果有返回值,最好进行try…catch,并在catch中写一个输出语句,记录数据处理逻辑的结果信息
  4. 返回查询结果

猜你喜欢

转载自blog.csdn.net/flyingwzb/article/details/83893696
今日推荐