验证码不用多说,在 WEB-APP 中一般应用于:登录、注册、买某票、秒杀等场景。大家都接触过~可以说是千奇百怪,各式各样。

DEMO 目标功能

验证码页面输入。

页面更换验证码(异步实现)。

后台验证并返回验证结果。

开工

页面:demo1.jsp

说明:

"看不清?换一张" 的 href 属性写成javascript:void(0) 是为了防止页面刷新,这里的更换功能交给 AJAX 异步完成。

JavaScript 工具:util.js(为啥用原生 JS?任性呗~哈)

页面中的 JavaScript 代码

生成验证码的 CaptchaCodeServlet.java

说明:

这里使用了Servlet3.0的新特性-用注解配置url-pattern(用起来挺爽的),也就是说简单的项目不再需要 web.xml了,但是 Tomcat需要 7.0+。

其次生成验证码我用了一个小工具:ValidateCode.jar。工具十分简单,不合心意完全可以自己写。但也就是因为功能太少,所以我又写了一个ImageUtil。我也有打算自己开源一个验证码工具出来。

ImageUtil.java

说明:

为什么要把图片二进制数据进行 Base64编码 呢?因为标签虽然可以直接设置 src 属性值为${pageContext.request.contextPath}/captcha/code请求相应的 Servlet 来得到二进制数据直接显示,但在 AJAX 异步请求中响应返回的是 xhr.responseText。当把数据直接给img标签的src属性时,用Chrome-tool查看只会是一堆二进制当作文本解析的乱码字符,所以才要多这一步。

或许我作为萌新不知道一些其它的方便技巧。但若不想使用异步,那直接 img src设置为请求地址将是最简单的选择,更换验证码无非是监听事件img src重新设置为该地址(再来一次请求)。

后台验证验证码:CheckServlet.jave

说明:

doGet() 方法一开始是对中文乱码进行处理,编码统一设为 UTF-8。在实际项目中,编码问题通常交给一个 Filter 完成,达到一劳永逸的效果。

效果

警告!警告!!颜控请速速撤离!!!

写在最后

以上就是 JavaWeb 验证码小 DEMO 的全部内容啦,最好是把验证提交也搞成异步的,这里就不整了。WEB 项目中还没尝试过添加验证码功能的小伙伴可以动手搞起来啦!实际项目中利用 JQuery 等框架处理 AJAX,再配上一个漂亮的前端页面就完美啦。

以上所述是小编给大家介绍的JavaWeb 实现验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.jianshu.com/p/9284a31e6ce8

java输入验证码代码,JavaWeb 实现验证码功能(demo)相关推荐

  1. java手机验证码代码_手机验证码(Java代码)

    首先就是导入相关的jar包,这里用maven依赖: com.alibaba fastjson 1.2.54 创建发送验证码的类: package com.snm.util; import java.i ...

  2. php生成图片验证码代码,PHP生成图片验证码以及点击切换的代码

    这篇文章主要介绍了PHP生成图片验证码实例,同时介绍了点击切换(看不清?换一张)效果实现方法,需要的朋友可以参考下 这里来看下效果: 现在让我们来看下 PHP 代码<?php session_s ...

  3. Java输入输出流代码示例

    写在前面: 该博文是为文章http://blog.csdn.net/whardl_yu/article/details/53223807补充的代码示例.主要为输入输出流的一些基础操作. 一. 功能:将 ...

  4. java翻牌抽奖代码_翻牌抽奖功能讲解

    这个功能需要5个东西 php+html+css+jquery+js php:data.php //概率计算 function get_rand($proArr) { $result = ''; //概 ...

  5. java实现验证码输出_java实现验证码

    其实可以看看谷歌的开源框架kaptcha,就是一个产生验证码的框架 根据别人的代码稍稍修改了,实现在web页面展示 原帖地址:https://www.cnblogs.com/thirt... 生成验证 ...

  6. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

  7. Vue+Spring Boot实现图片验证码、邮箱验证码以及Cookie记住我功能(前后端代码详解)

    Vue实现图片验证码.邮箱验证码以及Cookie记住我功能 前言 图片验证码实现 Vue前端实现 Spring Boot后端实现 邮箱验证码实现 Vue前端实现 Spring Boot后端实现 Coo ...

  8. Java开发完整的短信验证码功能

    现代互联网项目中,很多场景下都需要使用一种叫做验证码的技术,常用的有图片验证码,滑块验证码,短信验证码等,本文章描述的就是短信验证码的一个使用教程,从0开始完成一个验证码功能的开发. 版权说明 本文中 ...

  9. Eclipse输入Java和XML代码自动提示功能最简单的方法

    Eclipse输入Java和XML代码自动提示功能 1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > ...

最新文章

  1. pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串
  2. elasticsearch的插件安装
  3. 多项新政催生本年度购房最佳“窗口期”
  4. 《『若水新闻』客户端开发教程》——03.设计新闻分类UI(1)
  5. HNOI2008 遥远的行星
  6. 桶排序,冒泡排序,快速排序三者比较(例子说名)
  7. color 常用色值
  8. 测量计算机编程fx500,工程测量中fx-500P计算器基本程序.doc
  9. 如何写好一份数据分析报告
  10. Freemarker 简介 及手册
  11. 2021年安全员-C证-专职安全生产管理人员(广东省)考试APP及安全员-C证-专职安全生产管理人员(广东省)证考试
  12. Partial RenderPartial Action RenderAction 区别和用法
  13. 使用C#.NET WebBrowser控件导航到不同的网站出现 所请求的资源正在使用中。 (从HRESULT异常:0x800700AA)
  14. GAF安装部署-微服务架构下的云原生部署
  15. 大学英语四级电子照片修改过程。
  16. [转]MySQL数据库引擎
  17. Html5 学前须知
  18. 即构抓娃娃H5方案全球首家支持HTTPS,抓娃娃先从安全抓起!
  19. 【PyTorch】10 文本篇更多代码——BOW、N-Gram、CBOW、LSTM、BI-LSTM CRF
  20. BIM技术初学者应该选择哪个软件?

热门文章

  1. 如何使用putExtra()和getExtra()来表示字符串数据
  2. 为什么我的Spring @Autowired字段为空?
  3. 什么是mixin,为什么它们有用?
  4. 在Python中手动引发(抛出)异常
  5. vs2019安装python库_vs2019安装和使用详细图文教程
  6. elementui 嵌套表单验证_vue elementUI 表单嵌套验证的实例代码
  7. adam优化_认识 AdaMod: 一个新的有记忆的深度学习优化器
  8. JavaScript中函数的使用(源码解析)
  9. 固定定位小技巧(HTML、CSS)
  10. AWT_方位布局(Java)