关于彩色验证码的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:14:50
我想做一个彩色验证码 以前是用一个类生成imageBufferd 然后在servlet里用ImageIO.write()画出来,最后在页面显示
但是我现在忘记具体的实现步骤了,请大虾们帮忙
因字数限制 verifcode代码发不了 还请再搜一下verifcode.java 网上有很多
我自己做是做出效果来了,但是遇到一个很麻烦的问题 jsp页面每次从session取出来的字符串都是上一次的记录,这是什么原因啊!!!

没做过这类的东西!

(code.jsp)代码如下:

<%@ page contentType="image/png" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>

<%!
Color getRandColor(int fc,int bc) {
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
%>

<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

int width=50; //设置图片宽度
int height=20; //设置图片高度

//创建缓存图象
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics g = image.getGraphics(); //获取图形

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