zoukankan      html  css  js  c++  java
  • 登陆验证表单原理

    22:25 2014/5/11

    javaweb中表单登陆验证:表单验证原理都一样,不过struts2提供了validate方法。 没有Form表单类的登陆都是简单的登陆

    1.通常把用户名密码为为不为空和用户名长度和密码长度写到Form表单类里通常叫做validate方法返回值为Map<String, String>类型 在LoginServlet里调用下就行,通常用webutils里的转换成bean方法得到Form类的对象,不用自己创建Form的实例更不用什么get/set那是stuts2的方式,要是不用Form类通常都是简单的校验不用校验用户名密码的空不空及长度,直接用request.getParameter("")方法得到表单的用户名和密码而不是通过webutils去封装表单的参数,简单校验不调用validate方法,不用封装了。

    2.验证用户为不为空在调用Form类的validate方法下面一步,虽然登陆要用户名和密码我们两个参数先都获取都往后台传,到service层就只用用户名(目的是在逻辑层校验用户为不为空)然后用用户名为参数去数据库找对应的用户,不管你用用户名找到一个还是多少个同样名字的用户最后返回到controller控制层都要一个用户,最好不要在dao层遍历得到的集合用户而是在业务层service曾,service层不应该有sql语句但是可以组织sql语句所需要的参数。没有Form类的这就算登陆验证的第一步,建议有Form类,看起来更规范。为空说明用户不存在,不为空将user设置到与对象中通常是request域然后转发。验证失败回到login页面,步骤二最好在service层校验严格MVC  /*   * 使用参数username查找User对象   * 判断user是否存在,如果不存在,说明登录用户名错误!// 也就是后台校验失败,(用户名错误)可以在控制层处理异常   * 如果存在,判断返回的user的password与登录password是否相同   * 如果不相同,说明登录密码错误   * 都相同了,返回user对象,表示成功!   */

    3.dao层要是查到空用户返回空的用户。

  • 相关阅读:
    【XSY2534】【CF835D】Palindromic characteristics 回文自动机
    启发式合并&线段树合并/分裂&treap合并&splay合并
    【XSY2534】【BZOJ4817】树点涂色 LCT 倍增 线段树 dfs序
    线性求逆元
    l1 和l2范数的真实意义
    方向导数及梯度
    大厂实习总结和反思
    高考报考以及心态调整健康贴士
    【骑士走棋盘】
    【老鼠走迷宫一】
  • 原文地址:https://www.cnblogs.com/YingYue/p/3741901.html
Copyright © 2011-2022 走看看