📄 yanzhengmaservlet.java
字号:
package beans;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
public class YanZhengMaServlet extends HttpServlet {
//图片的宽和高
private int width=60;
private int height=20;
protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{
//在内存中创建图像
BufferedImage buffImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics g=buffImg.createGraphics();
//生成随机类
Random random=new Random();
//设置图片背景色
g.setColor(new Color(236,236,236));
g.fillRect(0,0,width,height);
//设定字体
Font font=new Font("Times New Roman",Font.PLAIN,18);
g.setFont(font);
//画边框
g.setColor(Color.BLACK);
g.drawRect(0,0,width-1,height-1);
//随机产生160条干扰线
/*g.setColor(Color.GRAY);
for(int i=0;i<160;i++){
int x=random.nextInt(width);
int y=random.nextInt(height);
int x1=random.nextInt(12);
int y1=random.nextInt(12);
g.drawLine(x,y,x+x1,y+y1);
}*/
String randomCode="";
int red=0;
int green=0;
int blue=0;
//随机产生的四位数
for(int i=0;i<4;i++){
String strRand=String.valueOf(random.nextInt(10));
red=random.nextInt(140);
green=random.nextInt(60);
blue=random.nextInt(70);
//
randomCode+=strRand;
g.setColor(new Color(red,green,blue));
g.drawString(strRand,13*i+6,16);
}
HttpSession session=req.getSession();
session.setAttribute("randomCode",randomCode.toString());
resp.setHeader("Pragma","no-cache");
resp.setHeader("Cache-Control","no-cache");
resp.setDateHeader("Expires",0);
resp.setContentType("image/jpeg");
//ServletOutputStream sos=resp.getOutputStream();
ImageIO.write(buffImg,"jpeg",resp.getOutputStream());
// sos.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -