/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Action;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import java.awt.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.*;
import java.awt.geom.*;
import javax.swing.*;
import java.math.*;
import javax.imageio.ImageIO;
/**
* @author zhangjing
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import java.awt.*;
import java.awt.image.*;
import java.util.*;
import javax.imageio.*;
import javax.servlet.http.*;
import java.io.*;
public class NewServlet2 extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response) throws
//更多资源请访问飞飞Asp技术乐园
www.ffasp.com//本例来源:
http://ffasp.com/content.asp?newsid=1106飞飞Asp技术,乐园 ServletException, IOException
{
int I_WIDTH=60,I_HEIGHT=18;
Font VALIDATECODE_FONT = new Font( "Times New Roman ",Font.PLAIN,18);
response.setContentType("image/jpeg");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
//在内存中创建图象
BufferedImage image = new BufferedImage(I_WIDTH,I_HEIGHT,BufferedImage.TYPE_INT_RGB);
//获取图形上下文
Graphics g = image.getGraphics();
//设定背景色
g.setColor(Color.white);
g.fillRect(0,0,I_WIDTH,I_HEIGHT);
//画边框
g.setColor(Color.blue);
g.drawRect(0,0,I_WIDTH-1,I_HEIGHT-1);
Long validate = new Long(10000 + Math.round((Math.random() * 90000)));
String validateCode=validate.toString();
request.getSession().setAttribute( "validateCode ",validateCode);
//将认证码显示到图象中
g.setColor(Color.black);
g.setFont(VALIDATECODE_FONT);
// g.drawString(rand,10,15);
g.drawString(validateCode.toString(),7,15);
//随机产生88个干扰点,使图象中的认证码不易被其它程序探测到
Random random = new Random();
for (int iIndex = 0;iIndex <128;iIndex++) {
int x = random.nextInt(I_WIDTH);
int y = random.nextInt(I_HEIGHT);
g.drawLine(x,y,x,y);
}
//图象生效
g.dispose();
//输出图象到页面
ImageIO.write(image,"JPEG",response.getOutputStream());
}
}
//更多资源请访问飞飞Asp技术乐园
www.ffasp.com//本例来源:
http://ffasp.com/content.asp?newsid=1106飞飞Asp技术乐园