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

📄 randomimageservlet.java

📁 这是一个用java实现的简单验证码程序
💻 JAVA
字号:
package yy.common.random;

import org.apache.log4j.Logger;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class RandomImageServlet extends HttpServlet
{
    /**
     * Logger for this class
     */
    private static final Logger logger = Logger.getLogger(RandomImageServlet.class);

    private static final long serialVersionUID = -6173624716307715676L;

    public static final String RANDOM_LOGIN_KEY = "RANDOM_LOGIN_KEY";

    protected boolean fromChar = false;

    protected boolean fromNumber = false;

    protected boolean draw = false;

    protected boolean move = false;

    protected int fontSize = 14;

    public void init() throws ServletException
    {
	System.setProperty("java.awt.headless", "true");
    }

    public static String getRandomLoginKey(HttpServletRequest req)
    {
	return (String) req.getSession().getAttribute("RANDOM_LOGIN_KEY");
    }

    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,
	    IOException
    {
	res.setContentType("image/jpeg");
	String type = req.getParameter("type");
	String num = req.getParameter("num");
	HttpSession ssn = req.getSession();
	if (getServletConfig().getInitParameter("fromChar") != null
		&& getServletConfig().getInitParameter("fromChar").equals("true"))
	{
	    fromChar = true;
	}
	if (getServletConfig().getInitParameter("fromNumber") != null
		&& getServletConfig().getInitParameter("fromNumber").equals("true"))
	{
	    fromNumber = true;
	}
	if (getServletConfig().getInitParameter("draw") != null
		&& getServletConfig().getInitParameter("draw").equals("true"))
	{
	    draw = true;
	}
	if (getServletConfig().getInitParameter("move") != null
		&& getServletConfig().getInitParameter("move").equals("true"))
	{
	    move = true;
	}
	if (getServletConfig().getInitParameter("fontSize") != null)
	{
	    fontSize = Integer.parseInt(getServletConfig().getInitParameter("fontSize"));
	}

	if (!fromChar && !fromNumber)
	{
	    fromNumber = true;
	}
	if (ssn != null)
	{
	    String randomString = "";
	    if (num != null)
	    {
		randomString = RandomImageGenerator.random(Integer.parseInt(num), fromChar, fromNumber);
	    }
	    else
	    {
		randomString = RandomImageGenerator.random(4, fromChar, fromNumber);
	    }
	    RandomImageGenerator.render(randomString, res.getOutputStream(), randomString.getBytes().length,
		    move, draw, fontSize);
	    if (type == null)
	    {
		ssn.setAttribute("randomStr", randomString);
	    }
	    else
	    {
		ssn.setAttribute(type, randomString);
	    }
	    logger.info("fromChar=" + fromChar);
	    logger.info("fromNumber=" + fromNumber);
	    logger.info("randomString=" + randomString);
	}

    }

    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException,
	    IOException
    {
	doGet(req, res);
    }
}

⌨️ 快捷键说明

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