📄 authimg.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 + -