java web 动态生成验证码
public class Img2Servlet extends HttpServlet{@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{resp.setContentType("image/jpeg&qu
public class Img2Servlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
resp.setContentType("image/jpeg");
BufferedImage img = new BufferedImage(100, 30, BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g = img.createGraphics();
g.setColor(Color.red);
g.setFont(new Font("宋体", Font.BOLD, 30));
String randNum = createRandNum();
g.drawString(randNum, 0, 25);
g.dispose();
ImageIO.write(img, "JPEG", resp.getOutputStream());
}
static String createRandNum()
{
char[] nums={'a','c','d','e','f','h','k','m','n','s','t','w','x','y','z','2','3','4','5','7','8'};
String randNum = "";
Random rand= new Random(System.currentTimeMillis());
for(int i=0;i<=4;i++)
{
randNum+=nums[rand.nextInt(nums.length)];
}
return randNum;
}
}
public class EncodeUtil {
/**
* 把iso-8859-1转换为utf-8
* @param req
* @param parameter
* @return
* @throws UnsupportedEncodingException
*/
public static String changeCode(HttpServletRequest req, String parameter) throws UnsupportedEncodingException
{
String value = req.getParameter(parameter);
byte [] change = value.getBytes("ISO-8859-1");
String changeCode = new String(change, "UTF-8");
return changeCode;
}
}
更多推荐
所有评论(0)