verifycode.jsp

来自「此资源是jsp应用开发 邓子云等编写的一书里的源代码」· JSP 代码 · 共 36 行

JSP
36
字号
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %><%@ page  import="java.io.OutputStream" %><%
response.setContentType("image/jpeg");
response.addHeader("Content-Disposition","attachment;filename=verifycode.jpg" );
//定义一个整型变量用于存放生成的随机数
int icode=0;
//在内存中生成一个图片以及宽、高、类型
BufferedImage image=new BufferedImage(50,16,BufferedImage.TYPE_INT_RGB);
//生成一个2D的图形
Graphics g =image.getGraphics();
//设置图形为白色
g.setColor(Color.white);
//填充图象
g.fillRect(0,0,50,16);
//新建一个随机对象
Random random=new Random();
//取出4位整数
while(icode<=1000)
{
  icode=random.nextInt(10000);
};
//把随机整数转换成字符串
String scode=icode+"";
//将生成随机校验码存入session中
session.setAttribute("verifycode",scode);
//设置图形的颜色为黑色
g.setColor(Color.BLACK);
//把生成的随机数做为字符串写到图形中
g.drawString(scode,12,12);
//从response.getOutputStream()得到一个输出流对象
ServletOutputStream os=response.getOutputStream();
//输出到页面(不知道我的理解是否正确)
ImageIO.write(image,"JPEG",os);
//关闭输出流对象
os.flush();
os.close();%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?