📄 randomcodeservlet.java
字号:
package web;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.*;
import java.io.*;
import javax.servlet.http.*;
public class RandomCodeServlet extends HttpServlet {
//\u00D1é\u00D6¤\u00C2\u00EB\u00CD\u00BC\u00C6\u00AC\u00B5\u00C4\u00BFí\u00B6\u00C8\u00A1\u00A3
private int width = 60;
//\u00D1é\u00D6¤\u00C2\u00EB\u00CD\u00BC\u00C6\u00AC\u00B5\u00C4\u00B8\u00DF\u00B6\u00C8\u00A1\u00A3
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);
Graphics2D g = buffImg.createGraphics();
//\u00B4\u00B4\u00BD¨\u00D2\u00BB\u00B8\u00F6\u00CB\u00E6\u00BBú\u00CA\u00FD\u00C9ú\u00B3\u00C9\u00C6÷\u00C0à\u00A1\u00A3
Random random = new Random();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
//\u00B4\u00B4\u00BD¨×\u00D6\u00CC\u00E5\u00A3\u00AC×\u00D6\u00CC\u00E5\u00B5\u00C4\u00B4ó\u00D0\u00A1\u00D3\u00A6\u00B8\u00C3\u00B8ù\u00BE\u00DD\u00CD\u00BC\u00C6\u00AC\u00B5\u00C4\u00B8\u00DF\u00B6\u00C8\u00C0\u00B4\u00B6¨\u00A1\u00A3
Font font = new Font("Times New Roman", Font.PLAIN, 18);
//\u00C9è\u00D6\u00C3×\u00D6\u00CC\u00E5\u00A1\u00A3
g.setFont(font);
//\u00BB\u00AD±\u00DF\u00BFò\u00A1\u00A3
g.setColor(Color.BLACK);
g.drawRect(0, 0, width - 1, height - 1);
//\u00CB\u00E6\u00BBú\u00B2ú\u00C9ú160\u00CC\u00F5\u00B8\u00C9\u00C8\u00C5\u00CF\u00DF\u00A3\u00AC\u00CA\u00B9\u00CD\u00BC\u00CFó\u00D6\u00D0\u00B5\u00C4\u00C8\u00CF\u00D6¤\u00C2\u00EB\u00B2\u00BB\u00D2×±\u00BB\u00C6\u00E4\u00CBü\u00B3\u00CC\u00D0ò\u00CC\u00BD\u00B2\u00E2\u00B5\u00BD\u00A1\u00A3
g.setColor(Color.GRAY);
for (int i = 0; i < 160; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x, y, x + xl, y + yl);
}
//randomCode\u00D3\u00C3\u00D3\u00DA±\u00A3\u00B4\u00E6\u00CB\u00E6\u00BBú\u00B2ú\u00C9ú\u00B5\u00C4\u00D1é\u00D6¤\u00C2\u00EB\u00A3\u00AC\u00D2\u00D4±\u00E3\u00D3\u00C3\u00BB§\u00B5\u00C7\u00C2\u00BC\u00BAó\u00BD\u00F8\u00D0\u00D0\u00D1é\u00D6¤\u00A1\u00A3
StringBuffer randomCode = new StringBuffer();
int red = 0, green = 0, blue = 0;
//\u00CB\u00E6\u00BBú\u00B2ú\u00C9ú4\u00CE\u00BB\u00CA\u00FD×\u00D6\u00B5\u00C4\u00D1é\u00D6¤\u00C2\u00EB\u00A1\u00A3
for (int i = 0; i < 4; i++) {
String strRand = String.valueOf(random.nextInt(10));
//\u00B2ú\u00C9ú\u00CB\u00E6\u00BBú\u00B5\u00C4\u00D1\u00D5\u00C9\u00AB·\u00D6\u00C1\u00BF\u00C0\u00B4\u00B9\u00B9\u00D4ì\u00D1\u00D5\u00C9\u00AB\u00D6\u00B5\u00A3\u00AC\u00D5\u00E2\u00D1ù\u00CA\u00E4\u00B3\u00F6\u00B5\u00C4\u00C3\u00BF\u00CE\u00BB\u00CA\u00FD×\u00D6\u00B5\u00C4\u00D1\u00D5\u00C9\u00AB\u00D6\u00B5\u00B6\u00BC\u00BD\u00AB\u00B2\u00BB\u00CD\u00AC\u00A1\u00A3
// red = random.nextInt(110);
// green = random.nextInt(50);
// blue = random.nextInt(50);
//\u00BD\u00AB\u00D1é\u00D6¤\u00C2\u00EB\u00BB\u00E6\u00D6\u00C6\u00B5\u00BD\u00CD\u00BC\u00CF\u00F1\u00D6\u00D0\u00A1\u00A3
// g.setColor(new Color(red, green, blue));
g.setColor(Color.BLUE);
g.drawString(strRand, 13 * i + 6, 16);
//\u00BD\u00AB\u00B2ú\u00C9ú\u00B5\u00C4\u00CB\u00C4\u00B8\u00F6\u00CB\u00E6\u00BBú\u00CA\u00FD×é\u00BA\u00CF\u00D4\u00DA\u00D2\u00BB\u00C6\u00F0\u00A1\u00A3
randomCode.append(strRand);
}
//\u00BD\u00AB\u00CB\u00C4\u00CE\u00BB\u00CA\u00FD×\u00D6\u00B5\u00C4\u00D1é\u00D6¤\u00C2\u00EB±\u00A3\u00B4\u00E6\u00B5\u00BDSession\u00D6\u00D0\u00A1\u00A3
HttpSession session = req.getSession();
session.setAttribute("randomCode", randomCode.toString());
//\u00BD\u00FB\u00D6\u00B9\u00CD\u00BC\u00CF\u00F1\u00BB\u00BA\u00B4\u00E6\u00A1\u00A3
resp.setHeader("Pragma", "no-cache");
resp.setHeader("Cache-Control", "no-cache");
resp.setDateHeader("Expires", 0);
resp.setContentType("image/jpeg");
//\u00BD\u00AB\u00CD\u00BC\u00CF\u00F1\u00CA\u00E4\u00B3\u00F6\u00B5\u00BDServlet\u00CA\u00E4\u00B3\u00F6\u00C1÷\u00D6\u00D0\u00A1\u00A3
ServletOutputStream sos = resp.getOutputStream();
ImageIO.write(buffImg, "jpeg", sos);
sos.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -