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>
java实现网页验证码的更多相关文章
- java实现网页验证码功能_java - JAVA
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例为大家分享了java网页验证码的实现代码,供大家参考,具体内容如下 Servlet: package cn.bd ...
- java的动态验证码单线设计
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...
- delphi WebBrowser控件上网页验证码图片识别教程(一)
步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...
- 用java编网页的学习流程,我的一些小心得(初学java到高深运用)
(1)java基础:首先得会写int,String,for循环,数组,**等等(熟练各种基础的关键字,各种java自带的排序,随即等等算法)什么是封装,继承,多态,然后private,public,p ...
- java中生成验证码,以及验证码的使用
java中生成验证码,以及验证码的使用: 1:验证码生成工具类: import java.awt.Color; import java.awt.Font; import java.awt.Graphi ...
- 如何以Java实现网页截图技术
转自 http://blog.csdn.net/cping1982/article/details/5353049 今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地 ...
- java读取网页图片路径并下载到本地
java读取网页图片路径并下载到本地 最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: packa ...
- java实现图片验证码
一.验证码生成类 package hbi.tech.utils; import javax.imageio.ImageIO; import java.awt.*; import java.awt.im ...
- 利用java生成带有干扰线的网页验证码图片
package imageCreate; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import j ...
随机推荐
- OA与BPM的区别
BPM OA 软件架构 JAVA..NET.基于SOA架构 JAVA..NET.PHP.Domino 驱动模式 流程驱动 文档驱动 交互 人与人,人与系统,系统与系统 人与人 软件功能 ...
- GlusterFS卷的自我修复功能
一.创建环境 1.查看状态 gluster volume status 2.vim /etc/fstab 注释开机挂载 3.重启 reboot 4.查看状态 如果状态Online项为“N”的GH01存 ...
- Java之map使用方法
package basic; import java.util.HashMap; import java.util.Map; //map使用方法 public class MapDemo { publ ...
- 关于super的理解,三篇文章支撑起来的
1.有向图的拓扑排序https://blog.csdn.net/wp1603710463/article/details/50900892 2. Python中MRO算法 http://mp.weix ...
- BZOJ2124 等差子序列(树状数组+哈希)
容易想到一种暴力的做法:枚举中间的位置,设该位置权值为x,如果其两边存在权值关于x对称即合法. 问题是如何快速寻找这个东西是否存在.考虑仅将该位置左边出现的权值标1.那么若在值域上若关于x对称的两权值 ...
- UVALive5870-Smooth Visualization-模拟水题
很水的模拟题,拿数组搞就好了. 注意边界的地方不要算重. #include <cstdio> #include <cstring> #include <algorithm ...
- MT【52】空间法向量理解直线条数
[从最简单的做起.]--波利亚 评:线面角转化成线与线的角,这道题还有类似的这类题是学生的难点.
- Partition Numbers的计算
partition numbers的定义 A000041 就是将正整数n分为k(\(1\le k\le n)\)个正整数相加,即\(n=a_1+a_2+...+a_k\)且\(a_1\le a_2\l ...
- Oracle11g创建表空间
第1步:创建临时表空间 create temporary tablespace pgenius_temp tempfile '\data\oracle\oracledata\pgenius_tem ...
- LOCALDB安装和连接
关于LOCALDB的详细文档说明,包含安装,连接,共享连接等操作 https://technet.microsoft.com/zh-cn/hh510202 目的: 调试程序没有安装 sql serv ...