输出随机认证码图片
Myeclipse 环境下
这里当然还要在WEB-INF目录下,配一个web.xml
总结:
控制浏览器要缓存:
response.setDateHeader("Expires",System.currentTimeMillis() + 1000*3600);注意:如果这句没添加 System.currentTimeMillis() 则没有缓存截止日期,默认是 1970年开始 缓存1小时,也就是过期了,所以System.currentTimeMillis() 这句的作用是获取当前日期时间,然后加上你要缓存的时间,1000代表1秒。
控制浏览器不要缓存:
response.setDateHeader("Expires", -1); 或者 response.setDateHeader("Expires", 0); 都一样
response.setHeader("cache-control", "no-cache");
response.setHeader("pragma", "no-cache");
这里设置了颜色,别忘了设置 把颜色填充,绘制边框,等等
绘制边框:g.drawRect(1, 1, WIDTH-2, HEIGHT-2);// 边框的宽和高,都要比背景色的宽高小1,这个边框是从x=1,y=1 (起使坐标(1,1) )开始画的,本来是从x=0,y=0画的,但贴近最左边效果不好所以WIDTH-2, HEIGHT-2 要减2
中文字体范围 [\u4e00-\u9fa5]
获取随机字符:String ch = base.charAt( new Random().nextInt(base.length()) )+"";
然后把字符转化为字符串
注意: 设置字的旋转角度,g.rotate(theta*Math.PI/180, x, 20);//设置旋转角度(一定要是弧度),把度转化为弧度(公式:theta*Math.PI/180 ;这个theta是度):int theta = new Random().nextInt()%30;//获取-30到30的数,
当你旋转完,把字放到方框里去后,还得注意一点就是把旋转角度,旋转为初始状态,以便下一个字进行旋转
posted on 2011-12-13 19:45 android开发实例 阅读(2006) 评论(0) 编辑 收藏 举报