Java实现登录界面的验证码总结

java实现验证码的步骤:

1.创建验证码的实体类,代码如下:

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;

import javax.imageio.ImageIO;



public class VerifyCode {
	/**
	 *楠岃瘉鐮�
	 * @author 瑕冧匠鍗�
	 */
	
	private int w = 50;
	private int h = 25;
	private Random r = new Random();
	private String[] fontNames = {"瀹嬩綋","鍗庢枃妤蜂綋","榛戜綋","寰蒋闆呴粦","妤蜂綋_GB2312"};
	private String codes = "23456789abcdefghjkmnpqrstuvwxyzABCEFGHIJKLMNPQRSTUVWXYZ";
	private Color bgColor = new Color(255,255,255);
	private String text;
	
	private Color randomColor(){
		int red = r.nextInt(200);
		int green = r.nextInt(200);
		int blue = r.nextInt(200);
		return new Color(red,green,blue);
	}
	
	private Font randomFont(){
		int index = r.nextInt(fontNames.length);
		String fontName = fontNames[index];
		int style = r.nextInt(4);
		int size = r.nextInt(6)+15;
		return new Font(fontName,style,size);
		}
	private void drawLine(BufferedImage image){
		int num = 3;
		Graphics2D g2 = (Graphics2D)image.getGraphics();
		for(int i=0;i
2.创建验证码的servlet

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import util.VerifyCode;

@WebServlet("/VerifyCodeServlet")
public class VerifyCodeServlet extends HttpServlet {

	/**
	 * 锟斤拷桑锟斤拷锟斤拷锟斤拷锟街わ拷锟斤拷Servlet
	 * @author weiqiang
	 */
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		VerifyCode vc = new VerifyCode();
		response.setHeader("Cache-Control", "no-cache");
	    response.setContentType("image/jpeg");
	    BufferedImage bim = vc.getImage();
	    ImageIO.write(bim, "JPEG", response.getOutputStream());
	    String verifycode = vc.getText();
	    request.getSession().setAttribute("verifyCode", verifycode);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			doGet(request, response);
	}
	public void destroy(){
		super.destroy();
	}
	public void init() throws ServletException{	
	}

}

3.在需要使用验证码的地方使用如下代码:







                  看不清?换一张

4.实际效果如下

Java实现登录界面的验证码总结_第1张图片


你可能感兴趣的:(Java实现登录界面的验证码总结)