您正在使用 IPV4 [44.197.251.102] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
悟空收录网       [公益]保护绿色环境,构建和谐社会      

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中      
[公益] 地球是我家,绿化靠大家      
2024年 清明节 016
2024年 劳动节 043
2025年 元 旦 288
2025年 春 节 316
 
您现在的位置:首页 >> JSP >> 内容
本类新增
本类热门
JSP验证码简单生成方法
内容摘要: %@pagecontentType='image/jpeg'import='java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*'%%!ColorgetRandColor(intfc,intbc){//给定范围获得随机颜色Randomrandom=newRandom();if(fc255)fc=255......
<%@pagecontentType="image/jpeg"import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>

<%!

ColorgetRandColor(intfc,intbc){//给定范围获得随机颜色

Randomrandom=newRandom();

if(fc>255)fc=255;

if(bc>255)bc=255;

intr=fc+random.nextInt(bc-fc);

intg=fc+random.nextInt(bc-fc);

intb=fc+random.nextInt(bc-fc);

returnnewColor(r,g,b);

}

%>

<%

//设置页面不缓存

response.setHeader("Pragma","No-cache");

response.setHeader("Cache-Control","no-cache");

response.setDateHeader("Expires",0);

//在内存中创建图象

intwidth=60,height=20;

BufferedImageimage=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

//获取图形上下文

Graphicsg=image.getGraphics();

//生成随机类

Randomrandom=newRandom();

//设定背景色

g.setColor(getRandColor(200,250));

g.fillRect(0,0,width,height);

//设定字体

g.setFont(newFont("TimesNewRoman",Font.PLAIN,18));

//画边框

//g.setColor(newColor());

//g.drawRect(0,0,width-1,height-1);

//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到

g.setColor(getRandColor(160,200));

for(inti=0;i<155;i++)

{

intx=random.nextInt(width);

inty=random.nextInt(height);

intxl=random.nextInt(12);

intyl=random.nextInt(12);

g.drawLine(x,y,x+xl,y+yl);

}

//取随机产生的认证码(4位数字)

//Stringrand=request.getParameter("rand");

//rand=rand.substring(0,rand.indexOf("."));

StringsRand="";

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

Stringrand=String.valueOf(random.nextInt(10));

sRand+=rand;

//将认证码显示到图象中

g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成

g.drawString(rand,13*i+6,16);

}

//将认证码存入SESSION

session.setAttribute("rand",sRand);

//图象生效

g.dispose();

//输出图象到页面

ImageIO.write(image,"JPEG",response.getOutputStream());

out.clear();

out=pageContext.pushBody();

%>

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:java+sql2005 随机抽取试题的代码

 

下一篇:jsp页面常用的查询及显示方法分析

发布日期:2023/3/14
手机扫二维码直达本页
发布时间:13:27:57
点  击:9
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....