jsp来实现 验证码 登录案例 有图 有码

适用学习 对象 : java的 初学者 仅供参考-----------

开发 工具 idea ---- jdk8 ------ javaEE7 服务器tomcat 8.5

涉及javaWeb 基础 : session request response

有图 有码

分析 需求

:使用jsp来实现的 验证码 的 实现 : login.jsp ------ LoginServlet -----
login.jsp -----------
form table 表单 : tr —td
======& jsp的预览 要在 服务器 里 运行 :
--------- action 的请求的 是 :
servlet :---------- LoginSrevlet ---------

设置请求request的  编码  :  
所有的  request 的参数:
获取验证码  ??
将 用户用户的 信息 
5 判断 用户
信息的  封装到user 对象 里    
session   
   判断  用户  的 获取 程序 生成验证码 :   与 用户输入 是否 保持一致  

先判断  验证码   在 判断 用户 :减少 的  数据库 的访问次数的 压力
 if 一致  : 
          if  用户名与密码 
         正确就  的登录成功 

   else  
      1: 给提示 
      2:  重定向到登录页面    =========  重定向
 这里 转发到Session  里 也是可以 的

-----  门都 没有进 就得重来 了-------

else   不一致    : 

  1:      提示验证 错误的 信息  
  2:   转发  跳转到   登录页面 里 ========= 转发 

错误信息 只在jsp 里共享-----v 一次request 里 无需其他人知道
只是 起码都登录 了 验证码的错误

  • 涉及

一个转发与 重定向 是的 区别 :

   关于request 与的 使用与否
 request 域里就会  用转发    其他的就是 重定向          

使用 中 路径与否:

转发---相对路径           重定向---绝对路径

---- 关于域对象的 使用场景 :

 用户名  与登录 会  经常的使用 存在  Session  里  ------


具体实施  : 将原来 一边写好 验证码的  servlet、   粘贴过来    : 

  据需要在  的改进   : 使用个的是StringBuild   ===== 

  生成 验证码 在Session域 里     域 ------ 操作方法  Attribute
 防止空指针异常 ---=========
 验证码忽略大小写  -------
  • 注意 :

      form  表单  提交到servlet   里 
    

    先判断 :验证码错误就少判断一次数据库

    也许: 可能看不出来的
     ------  null 值得判断 :sjp 里直接的就进行的 三元判断式
    
     *******  用一次就是失效 : 前面一点获取就 后面就会
       removeAttribute()  是的 使用
    

    ============ 编码的实施 ===============

    • 创建前端页面 :

      ---  from 表单的额 action  到指定的 servlet 里   method= post    
      ---table  表格  里
        tr  -- td  里input   Type与name  的属性的 定义
       ---  分别定义的的是   ;  -----
       ----用户名 type text  
       ----密码  type password
        ----  验证码  type text
        ----img ----td  的 colspan=2 跨2行
       ----  图片 :  img   的id =“img”   src =“指定的servlet”
           
      ---- submit -----value:“登录” td  的 colspan=2 跨2行 
      

使用js 来进行 切换 验证码 :

    Windows  调用 onload  的回调函数 ‘function(){} 里’
通过id  获取标签体  :getElementById(“img”)onlick=function(){
this  调用当前的获取的标签体的img    
调用src 指定的 方法 里  拼接time 值参数 的时间戳  ?time”+: 
new Date().getTime()

----- 后端的继续编写 ---------------

  创建servlet  页面  : 
  获取所有请求的参数  :request.getPrimaterMap()
 获取Map  --- 操作数据库 来做  ======

 这不用数据库的操作  ----  需要你   完善 数据库的
 分别 获取参数  的: 
     request.getParameter(“  username ”)  。。password  。。checkCode。。
   

 ----  因为 是2次请求 :  from表单里面  的   增加
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值