AuthImg.java
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:2k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.opensource.blog.web.servlet;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.Graphics;
  5. import java.awt.image.BufferedImage;
  6. import java.io.IOException;
  7. import javax.servlet.ServletException;
  8. import javax.servlet.ServletOutputStream;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12. import javax.servlet.http.HttpSession;
  13. import com.laoer.comm.util.Util;
  14. import com.sun.image.codec.jpeg.JPEGCodec;
  15. import com.sun.image.codec.jpeg.JPEGImageEncoder;
  16. public class AuthImg
  17.     extends HttpServlet {
  18.   private static final String CONTENT_TYPE = "text/html; charset=GBK";
  19.   private Font mFont = new Font("Times New Roman", Font.PLAIN, 12);
  20.   //Initialize global variables
  21.   public void init() throws ServletException {
  22.   }
  23.   //Process the HTTP Get request
  24.   public void doGet(HttpServletRequest request, HttpServletResponse response) throws
  25.       ServletException, IOException {
  26.     String s = Util.genNumPassword(4);
  27.     HttpSession session = request.getSession();
  28.     session.setAttribute("authcode", s);
  29.     response.setContentType("image/jpeg");
  30.     ServletOutputStream out = response.getOutputStream();
  31.     BufferedImage image = new BufferedImage(35, 14, BufferedImage.TYPE_INT_RGB);
  32.     Graphics gra = image.getGraphics();
  33.     gra.setColor(Color.yellow);
  34.     gra.fillRect(1, 1, 33, 12);
  35.     gra.setColor(Color.black);
  36.     gra.setFont(mFont);
  37.     char c;
  38.     for (int i = 0; i < 4; i++) {
  39.       c = s.charAt(i);
  40.       gra.drawString(String.valueOf(c), i * 7 + 4, 11);
  41.     }
  42.     JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
  43.     encoder.encode(image);
  44.     out.close();
  45.   }
  46.   //Process the HTTP Post request
  47.   public void doPost(HttpServletRequest request, HttpServletResponse response) throws
  48.       ServletException, IOException {
  49.     doGet(request, response);
  50.   }
  51.   //Clean up resources
  52.   public void destroy() {
  53.   }
  54. }