<%@page import="java.awt.i...">
美文网首页
jsp 生成验证码

jsp 生成验证码

作者: Albert_d37d | 来源:发表于2020-11-25 17:32 被阅读0次

<%@page import="java.awt.*" %>

<%@page import="java.awt.image.BufferedImage" %>

<%@page import="javax.imageio.ImageIO" %>

<%@page import="java.util.*" %>

<%@page contentType="image/jpeg;charset=utf-8" language="java" %>

<%

response.setHeader("pragma","no-cache");

response.setHeader("cache-control", "no-cache");

response.setHeader("expires", "0");

%>

<%!

public Color getColor()

{

Random rd = new Random();

int r = rd.nextInt(256);

int g = rd.nextInt(256);

int b = rd.nextInt(256);

return new Color(r,g,b);

}

public String getNum()

{

Random rd = new Random();

StringBuffer sb = new StringBuffer();

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

{

sb.append(rd.nextInt(9) + " ");

}

return sb.toString();

}

%>

<%

BufferedImage image = new BufferedImage(80,30,BufferedImage.TYPE_INT_RGB);

Graphics g = image.getGraphics();

g.fillRect(0, 0, 80, 30);

for(int i = 0;i < 10;i++)

{

Random rd = new Random();

int xBegin = rd.nextInt(80);

int yBegin = rd.nextInt(30);

int xEnd = rd.nextInt(xBegin + 10);

int yEnd = rd.nextInt(yBegin + 10);

g.setColor(getColor());

g.drawLine(xBegin, yBegin, xEnd, yEnd);

}

g.setColor(Color.black);

String code = getNum();

session.setAttribute("checkCode",code);

Font font = new Font("宋体",Font.BOLD,20);

g.setFont(font);

g.drawString(code, 2, 22);

ImageIO.write(image,"jpeg",response.getOutputStream());

out.clear();

out = pageContext.pushBody();

%>

相关文章

网友评论

      本文标题:jsp 生成验证码

      本文链接:https://www.haomeiwen.com/subject/psiniktx.html