java web 程序---登陆的验证码实现显示

本文介绍了一个使用Java编写的验证码生成器。该生成器通过Servlet生成包含数字和字母组合的图片验证码,并利用颜色、字体等元素增强验证码的安全性。文章详细展示了如何通过Java API创建图片、绘制验证码以及设置HTTP会话。
摘要由CSDN通过智能技术生成

是一个java文件

package com.sss;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.PrintWriter;
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;
import javax.servlet.http.HttpSession;

import com.sun.org.apache.commons.digester.rss.Image;

public class Love2 extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		response.setContentType("image/jpeg");//类型---->一个验证码的图片
		BufferedImage image=new BufferedImage(120, 30, BufferedImage.TYPE_INT_RGB);
		Graphics g=image.getGraphics();
		g.setColor(Color.yellow);
		g.setColor(new Color(0xFF7F00));
		g.setFont(new Font("",Font.BOLD,34));
		g.drawRect(1, 1, 100, 50);
		String str=run()+run()+run()+run()+run();
		g.drawString(str, 3, 30);
		HttpSession session=request.getSession();
		session.setAttribute("yan", str);
		ImageIO.write(image, "jpeg",response.getOutputStream() );
		
		
	}

	public String run(){
			Random r=new Random();
			int x=r.nextInt(3);
			char c='\u0000';
			switch(x){
			case 0:
				c=(char) (r.nextInt(10)+48);break;
			case 1:
				c=(char)(r.nextInt(10)+97);break;
			case 2:
				c=(char)(r.nextInt(10)+65);break;
			
			
			}
			return String.valueOf(c);
		
		
	}
}

  

转载于:https://www.cnblogs.com/langlove/p/3692963.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值