没有验证码的话:
1.对特定用户不断登录破解密码2.对某个网站创建账户
3.对某个网站提交垃圾数据
4.对某个网站刷票
验证码CAPTCHA:是一种区分用户是计算机还是人的公共自动程序
作用:可以防止恶意破解密码,刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试
生成图片的实现类
定义BufferedImage对象 图像数据缓冲区获得Graphics对象 绘制图片
通过Random生成随机验证码信息
使用Graphics获知图片
记录验证码信息到Session中
使用ImageIO输出图片
校验验证码是否正确
获取页面验证码获取sessin保存的验证码
比较验证码并返回校验结果
代码
servlet.ImageServlet.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
BufferedImage bi=new BufferedImage(68, 22, BufferedImage.TYPE_INT_RGB);
Graphics g=bi.getGraphics();
Color c=new Color(200, 150, 255);
g.setColor(c);
g.fillRect(0,0,68,22);
char[] ch="ABCDEFGHIJKLMNOPQRS