今天看到很多地方使用图片验证码,想想自己还从没写过这方面程序,于是打算尝试一下
应该说java实现这个功能还是比较方便的。servlet可以直接指定输出类型为图形,这样我们就可以指定输出类型为"image/jpeg",而画图更不是问题,自带库功能已经足够了,简单的实现应该是这样,先设置输出类型image/jpeg.
创建一个BufferedImage对象,然后在里面画图,画完后取得OutputStream,然后往OutputStream里面输出既可,当然这种生成验证码实用性不大,现在的程序OCR很是厉害,仅仅把文字改成图片形式起不了什么大作用,得加上底色,纹路,文字变形变色,而且每个session都要生成一个单独的验证码.所以要把验证码存入session,使用session的setAttribute和getAttribute就可以实现,思路明确了剩下就好办,编码实现部分近两日补上.
8月18日14点02分
基本上完成功能,但是还有些小bug
目前主要需解决以下问题
按后退按钮的时候验证码不更新
考虑的解决方案。
禁制缓存,网页即时过期,
继续阅读“使用servlet生成动态验证码”