前言
提示:这里可以添加本文要记录的大概内容:
一、验证码概述
1.1 验证码的作用
为了防止机器人的破坏性操作(恶意表单注册),可以使用验证码技术来防止恶意的发送数据。(防止数据库崩溃)
- 验证码本质上是一张动态产生的图片。
- 图片的内容会随着程序的运行而随机生成。
1.2 验证码的绘制
- 验证码图片的生成需要使用java提供的与绘图有关的一系列API。
- 要想绘图,需要画板,画笔,颜料,背景色,字体等多种类对象配合完成。
1.3 验证码的手写步骤
- 创建—对象,在内存中图片(验证码图片对象)
- 美化图片。
- 将图片输出到页面展示。
二、代码实现
- 验证码的servlet代码:
package com.qst.servlet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CodeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//创建一个空白图片
BufferedImage image=new BufferedImage(100, 30, BufferedImage.TYPE_INT_RGB);
//获取图片画笔