java实现网页验证码功能
时间:2019-04-07
本文章向大家介绍java实现网页验证码功能,主要包括java实现网页验证码功能使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了java网页验证码的实现代码,供大家参考,具体内容如下
Servlet:
package cn.bdqn.servlet; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.awt.font.ImageGraphicAttribute; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; @WebServlet(name = "Servlet",urlPatterns = "/yanCode") public class Servlet extends HttpServlet { public void doPost(javax.servlet.http.HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); int width=500; int height=50; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics graphics = image.getGraphics();//相当于画笔 //画背景 graphics.setColor(Color.gray); graphics.fillRect(0,0,width,height); graphics.setColor(Color.black); for (int i = 0; i <4 ; i++) { int index = random.nextInt(s.length()); String c = s.substring(index, index + 1); graphics.drawString(c,width/5*(i+1),15); } ImageIO.write(image,"jpg",response.getOutputStream()); } }
jsp:
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2017/10/10 Time: 13:04 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>验证码</title> </head> <body> <img src="yanCode" alt="验证码" style="width: 500px;height:50px"> <input type="button" value="看不清,更换验证码" id="btn" onclick="changeCode();"> <script type="text/javascript" src="js/jquery.min.js"> </script> <script type="text/javascript" > function changeCode() { $("img").attr('src', 'yanCode?ts=' + new Date().getTime()); } </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- Flash/Flex学习笔记(8):ActionScript3.0中的面对对象
- Docker网络解决方案-Weave部署记录
- Flash/Flex学习笔记(7):FMS3.5基于IIS的安装
- Netdata---Linux系统性能实时监控平台部署记录
- linux下向一个文件中的某行插入数据的做法
- Flash/Flex学习笔记(2):捕获摄像头
- split-brain 脑裂问题(Keepalived)
- Android新手之旅(3) 信息的输出
- Nginx code 状态码说明
- Flash/Flex学习笔记(6):制作基于xml数据源的flv视频播放器
- proxy_pass根据path路径转发时的"/"问题记录
- 温故而知新:查看端口占用情况以及DOS中的管道操作/重定向操作
- Android新手之旅(7) RadioButton的自定义
- Flash/Flex学习笔记(4):如何打开网页及Get/Post数据
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android Studio3.6新特性之视图绑定ViewBinding使用指南
- Android recyclerView横条指示器实现淘宝菜单模块
- Android studio kotlin代码格式化操作
- Android Studio升级3.6 Build窗口出现中文乱码问题解决方法
- Android中AndroidStudio&Kotlin安装到运行过程及常见问题汇总
- AndroidStudio3.6的卸载安装,Gradle持续下载/Gradle Build失败等问题
- 搭建DNSmasq简单教程带WEB管理面板
- Android Studio报错unable to access android sdk add-on list解决方案
- 自建的纯净dns服务拦截部分广告,南方推荐
- Nginx安装lua-nginx-module模块
- IPinfo 多接口IP查询工具源码
- 教你CentOS7下如何更换内核安装BBR加速
- we-extract解析和采集微信公众号文章的账号及内容必备工具
- android九宫格可分页加载控件使用详解
- WordPress用插件实现MarkDown语法支持