⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authimg.java

📁 前期开发时开发的新闻发布系统
💻 JAVA
字号:
package com.xh369.actions;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import com.sun.image.codec.jpeg.*;
import java.awt.*;
import java.awt.image.*;

/**
 * 处理生成验证码的类
 * @author dc
 */
public class AuthImg extends HttpServlet 
{
  
  private static final long serialVersionUID = 1L;
  private Font mFont = new Font("Times New Roman", Font.PLAIN, 12);

  public void init() throws ServletException 
  {
  
  }
  
  /**
   * 生成验证码的方法 
   * @param length 验证码长度
   * @return
   */
  public static String genNumPassword(int length) 
  {
      if(length < 1) 
      {
          return null;
      }
      String strChars[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9"};
      StringBuffer strPassword = new StringBuffer();
      for(int i = 0; i < length; i ++) 
      {
    	  int nRand = (int) Math.round(Math.random() * 100D);
          strPassword.append(strChars[nRand % (strChars.length - 1)]);
      }
      return strPassword.toString();
  }
  
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
  {    	  
    String s = AuthImg.genNumPassword(4);
    response.setContentType("image/jpeg");
    ServletOutputStream out = response.getOutputStream();
    BufferedImage image = new BufferedImage(35, 14, BufferedImage.TYPE_INT_RGB);
    Graphics gra = image.getGraphics();
    gra.setColor(Color.yellow);
    gra.fillRect(1, 1, 33, 12);
    gra.setColor(Color.black);
    gra.setFont(mFont);
    char c;
    for(int i = 0; i < 4; i ++) 
    {
      c = s.charAt(i);
      gra.drawString(String.valueOf(c), i * 7 + 4, 11);
    }
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    encoder.encode(image);
    out.close();
  }

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
  {
    doGet(request, response);
  }

  public void destroy() 
  {
  
  }
}

⌨️ 快捷键说明

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