Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. package com.roseindiaCaptcha.servlet;
  2.  
  3. import java.awt.image.BufferedImage;
  4. import javax.imageio.ImageIO;
  5. import javax.servlet.http.*;
  6. import javax.servlet.*;
  7. import java.io.*;
  8. import java.awt.*;
  9. import java.util.*;
  10. import java.awt.font.TextAttribute;
  11.  
  12. public class RoseIndiaCaptcha extends HttpServlet {
  13.  
  14. /**
  15. *
  16. */
  17. private static final long serialVersionUID = 4683976762020108309L;
  18. private int height=0;
  19. private int width=0;
  20.  
  21. public static final String CAPTCHA_KEY = "captcha_key_name";
  22.  
  23. public void init(ServletConfig config) throws ServletException {
  24. super.init(config);
  25. height=Integer.parseInt(getServletConfig().getInitParameter("height"));
  26. width=Integer.parseInt(getServletConfig().getInitParameter("width"));
  27. }
  28.  
  29.  
  30. protected void doGet(HttpServletRequest req, HttpServletResponse response) throws IOException, ServletException {
  31. //Expire response
  32. response.setHeader("Cache-Control", "no-cache");
  33. response.setDateHeader("Expires", 0);
  34. response.setHeader("Pragma", "no-cache");
  35. response.setDateHeader("Max-Age", 0);
  36.  
  37. BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
  38. Graphics2D graphics2D = image.createGraphics();
  39. Hashtable<TextAttribute, Object> map = new Hashtable<TextAttribute, Object>();
  40. Random r = new Random();
  41. String token = Long.toString(Math.abs(r.nextLong()), 36);
  42. String ch = token.substring(0,6);
  43. Color c = new Color(0.6662f, 0.4569f, 0.3232f);
  44. GradientPaint gp = new GradientPaint(30, 30, c, 15, 25, Color.white, true);
  45. graphics2D.setPaint(gp);
  46. Font font=new Font("Verdana", Font.CENTER_BASELINE , 26);
  47. graphics2D.setFont(font);
  48. graphics2D.drawString(ch,2,20);
  49. graphics2D.dispose();
  50.  
  51. HttpSession session = req.getSession(true);
  52. session.setAttribute(CAPTCHA_KEY,ch);
  53.  
  54. OutputStream outputStream = response.getOutputStream();
  55. ImageIO.write(image, "jpeg", outputStream);
  56. outputStream.close();
  57.  
  58.  
  59.  
  60. }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement