servlet怎么做图片验证?

图片验证。

Servlet中的操作


1.在内存中创建一张图片

BufferedImage img= new BufferedImage (?,?,?)  宽 高 图片类型



2 获取到图片,用于在java平台获取到一个二维图形

graphics2d:提供了对几何图形,坐标转换、颜色管理或者文本格式的控制。

Graphics2d  g =  Img.getGraphics();


3 设置图片的背景颜色

G.setcolor(color.white)


4 设置背景填充

G.fillrect(0,0,80,20)    

 

5 向图片上写数据

设置字体颜色

 G.setcolor(color.?)

设置字体风格

G.setfont(new font(“微软雅黑”font.bold,20))

String num= getnum();

创建session装用户验证码

session= Req.Getsession

Session.setattribute(“code”,num

G.drawStringnum10,20

设置响应的mime类型

Setcontenttype(“iamge/jpeg”)


控制图片不能缓存

Resp.setdateheader(“expries”,-1)

resp.setheader(“cacher-control”,”no-cache”)

Resp.setheader(“pragma”,”no-chche”)

Imageio.write(image,”jpg”,resp.getoutputsteam());

 

Public string getnum(){

Random r =new random(); //随机数

String num =r.nexint(9999)+””;//转换成字符

Stringbuffer b= newStringbuffer();  

For(int i=0;i<4-num;i++){

B.append(“0”)//控制随机数的格式

}

String newnum= b.tostring()+num

Return newnum

 

}

 

Html操作

Img src=”验证码图片服务器”  

<a href=”javascrpt:ck()”> 刷新</a>

 

<script>

得到img      getelementbyid(“ 图片id”)

Function ck(){

  设置得到的imgsrc=”验证码图片服务器”+math.random();

 

}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值