|
|
|
@ -36,37 +36,6 @@ public class CheckCodeServlet extends HttpServlet {
|
|
|
|
|
*/
|
|
|
|
|
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
|
|
|
|
|
|
|
<<<<<<< HEAD
|
|
|
|
|
//将内存中的图片输出到浏览器
|
|
|
|
|
//参数一:图片对象
|
|
|
|
|
//参数二:图片的格式,如PNG,JPG,GIF
|
|
|
|
|
//参数三:图片输出到哪里去
|
|
|
|
|
ImageIO.write(image,"PNG",response.getOutputStream());
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 产生4位随机字符串
|
|
|
|
|
*/
|
|
|
|
|
private String getCheckCode() {
|
|
|
|
|
String base = "23456789ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz";
|
|
|
|
|
int size = base.length();
|
|
|
|
|
Random r = new Random();
|
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
|
|
for(int i=1;i<=4;i++){
|
|
|
|
|
//产生0到size-1的随机值
|
|
|
|
|
int index = r.nextInt(size);
|
|
|
|
|
//在base字符串中获取下标为index的字符
|
|
|
|
|
char c = base.charAt(index);
|
|
|
|
|
//将c放入到StringBuffer中去
|
|
|
|
|
sb.append(c);
|
|
|
|
|
}
|
|
|
|
|
return sb.toString();
|
|
|
|
|
}
|
|
|
|
|
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
|
|
this.doGet(request,response);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//.......
|
|
|
|
|
=======
|
|
|
|
|
// 服务器通知浏览器不要缓存验证码图片相关逻辑
|
|
|
|
|
// 设置响应头 "pragma" 为 "no-cache",这是一种 HTTP 1.0 的缓存控制方式,告诉浏览器不要缓存页面
|
|
|
|
|
response.setHeader("pragma", "no-cache");
|
|
|
|
@ -89,7 +58,6 @@ public class CheckCodeServlet extends HttpServlet {
|
|
|
|
|
g.setColor(Color.GRAY);
|
|
|
|
|
// 使用设置好颜色的画笔填充整个图片区域,坐标 (0, 0) 表示从图片左上角开始,填充的宽度和高度分别为前面定义的图片宽度和高度
|
|
|
|
|
g.fillRect(0, 0, width, height);
|
|
|
|
|
>>>>>>> develop1
|
|
|
|
|
|
|
|
|
|
// 产生 4 个随机验证码的逻辑
|
|
|
|
|
// 调用 getCheckCode 方法生成一个由随机字符组成的 4 位验证码字符串,例如 "12Ey" 这种形式
|
|
|
|
|