本文实例为大家分享了java制作简单验证码的具体代码,供大家参考,具体内容如下

在这里我们需要用到java的画笔工具,所以我们需要导入以下包

import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*"

然后我就使用java脚本来实现一个小小的验证码

language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*"

pageencoding="utf-8"%>

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

验证码

//获取随机颜色

public color getcolor(){

random random = new random();

//使用rgb()随机产生颜色

int r = random.nextint(256);

int g = random.nextint(256);

int b = random.nextint(256);

return new color(r,g,b);

}

//获取随机数字 产生一个4位数

public string getnum(){

string str = "";

random random = new random();

for(int i = 0;i < 4;i++){

str += random.nextint(10); //0-9

}

return str;

}

%>

/* 清除缓存 */

response.setheader("pragma", "mo-cache");

response.setheader("cache-control", "no-cache");

response.setdateheader("expires", 0);

//产生矩形框

bufferedimage image = new bufferedimage(80,30,bufferedimage.type_int_rgb);

//获取画笔工具

graphics g = image.getgraphics();

//设置矩形框的颜色

g.setcolor(new color(200,200,200));

//设置坐标和宽高

g.fillrect(0, 0, 80, 30);

//随机产生干扰线

for(int i = 0;i < 30;i++){

random random = new random();

int x = random.nextint(80);

int y = random.nextint(30);

int x1 = random.nextint(x + 10);

int y1 = random.nextint(y + 10);

//设置随机颜色

g.setcolor(getcolor());

//画出来

g.drawline(x, y, x1, y1);

}

//字的颜色和数字

g.setfont(new font("microsoft yahei",font.bold,16));

g.setcolor(color.black);

//获取随机数字

string checknum = getnum();

//给字拼接空格

stringbuffer sb = new stringbuffer();

for(int i = 0;i < checknum.length();i++){

sb.append(checknum.charat(i) + " ");

}

//画出数字

g.drawstring(sb.tostring(), 15, 20);

//存入session域中

session.setattribute("checknum", checknum); //例如1010

//将图像以jpeg的形式通过字节流输出

imageio.write(image, "jpeg", response.getoutputstream());

//清除缓存

out.clear();

//放入body中

out = pagecontext.pushbody();

%>

结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

java验证码功能一般怎么做的_java制作简单验证码功能相关推荐

  1. java电话簿_JAVA实现简单电话簿功能

    JAVA实现简单电话簿功能 JAVA实现简单电话簿功能 说明:此项目为JAVA基础初级阶段的小项目,结果在控制台上直接可运行,所以只需导入资源类即可,供广大初学者学习练习. 项目链接:https:// ...

  2. java实现抽奖_Java实现简单抽奖功能界面

    本文实例为大家分享了Java实现简单抽奖功能的具体代码,供大家参考,具体内容如下 要求:定义文本框添加姓名,将姓名存储并且在界面中可见,点击抽奖按钮进行抽奖并输出最后的中奖得主. 关于抽奖当然需要用到 ...

  3. java做计算器_java实现简单计算器

    本文实例为大家分享了java实现简单计算器的具体代码,供大家参考,具体内容如下 思路:定义一个主框架Frame,我们对原设计的草图进行划分,以方便后面的布局 下面我们来对主框架进行划分 如图,我们将主 ...

  4. java 制作简易日历_Java制作简单日历

    1.用for循环.switch 以1990.01.01作为参考 public class Demo_9 { public static void main(String[] args) { Scann ...

  5. java弹球游戏弹到顶会得分_java实现简单的弹球游戏

    弹球游戏实现原理: 隔一定时间(小于1秒)重新绘制图像,因为graphics类是一个抽象类,创建子类的时候需要把所有涉及的方法都得重写,所以这里使用的是创建canvas的子类,只需要重写它的paint ...

  6. 控制器制作简单验证码和汉字验证码

    @Controller @RequestMapping("imageCode") public class ImageCodeController {Color getRandCo ...

  7. html简单验证码,js+html制作简单验证码

    本文实例为大家分享了JavaScript制作验证码的具体代码,供大家参考,具体内容如下 js验证码 #login{ width:50px; height:30px; line-height:30px; ...

  8. Alarmmanager制作简单闹钟功能

     代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relative ...

  9. 微信扫码点餐小程序制作简单,功能齐全

    扫码点餐,对于餐饮行业来说,是必不可少的重要的一环,它可以帮助顾客点餐.顾客通过微信扫码,就可以获取到菜单,查看菜品的图片以及优惠活动,操作十分简单,而且效率比传统菜单要好很多. 对于新手来说,不会制 ...

最新文章

  1. Unity3D脚本属性
  2. 一文读懂生物医学领域的传感器
  3. 智能实验室-杀马(Defendio) 4.16.0.840
  4. 为什么static成员的类型可以是类本身?又为什么非static成员被限定声明为其自身类对象的指针或引用?...
  5. 利用mycat实现mysql数据库读写分离
  6. leetcode题库5-- 最长回文子串
  7. 【LeetCode】81. Search in Rotated Sorted Array II (2 solutions)
  8. 新版vip在线解析html源码
  9. 数据成功插入数据库,前端页面却实现404错误 POST http://127.0.0.1:8080/user/register 404 ()
  10. 阿里云服务器怎么用?阿里云服务器新手使用教程
  11. 2017-2018-2 20179306 《网络攻防技术》第八周作业
  12. 真·007!核酸采样机器人现身郑州;Python3面试准备与速查表;实时语音转文字工具库;AI绘画根据文本创建纹理;前沿论文 | ShowMeAI资讯日报
  13. DPU网络开发SDK——DPDK(二)
  14. 大学生提高计算机应用能力,大学生计算机应用能力的培养
  15. Android基础——Alarm
  16. Tableau 桑基图
  17. Python——定义全局变量
  18. Mvtec数据集批量加各种噪声(高斯,椒盐,随机噪声)
  19. mysql和myODBC安装和配置
  20. 《大数据实时处理》学生学期总结

热门文章

  1. -----表达式-处理字符串表达式// A(A>0.5)
  2. 均匀带电的无限大平面划成无限长直线积分计算场强
  3. scrcpy设置快捷键_推荐电脑高清晰同步Anroid屏幕软件Scrcpy
  4. Python学习第四天
  5. JavaScript之继承(原型链)
  6. iOS开发--添加定位功能
  7. hive元数据库表分析及操作
  8. centos locate搜索工具
  9. Unable to find the requested .Net Framework Data Provider
  10. Tomcat 8默认工具manager管理页面访问配置