实现随机生成一个4位数的验证码,并写入session

import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;


/**
* Title: getImg.java
* Description: 这个class主要实现随机生成一个4位数的验证码,并写入session,
*/

public class GetImg extends HttpServlet {

private Font mFont=new Font("宋体", Font.PLAIN,12);//设置字体
//处理post
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {

doGet(request,response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
//取得一个1000-9999的随机数
String s="";

int intCount=0;

intCount=(new Random()).nextInt(9999);//

if(intCount <1000)intCount+=1000;

s=intCount+"";


//对session付值。

HttpSession session=request.getSession (true);

session.setAttribute("getImg",s);

response.setContentType("image/gif");

ServletOutputStream out=response.getOutputStream();

BufferedImage image=new BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);

Graphics gra=image.getGraphics();
//设置背景色
gra.setColor(Color.yellow);

gra.fillRect(1,1,33,12);
//设置字体色
gra.setColor(Color.black);

gra.setFont(mFont);
//输出数字
char c;

for(int i=0;i <4;i++) {

c=s.charAt(i);

gra.drawString(c+"",i*7+4,11); //7为宽度,11为上下高度位置

}

JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);

encoder.encode(image);

out.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值