java代码:图片流的生成
BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
String vCode = drawGraphic(image);vCode = encrypt(vCode);
Cookie cookie = new Cookie(randomCodeKey, vCode);
cookie.setMaxAge(-1);
cookie.setPath("/");
response.addCookie(cookie);
response.setHeader("Pragma","no-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/jpeg"); //这句话是必须的,不能缺少
ServletOutputStream sos = null;
try {
sos = response.getOutputStream();
ImageIO.write(image, "jpeg",sos);
} catch (Exception e) {
throw new RuntimeException(e);
}
finally {
try {sos.close();} catch (IOException e) {e.printStackTrace();}
}
js的里面写的action的路劲,随即数不能缺少,因为不同的浏览器对action的请求次数不一样:
function changeImg(){
$("#image").attr("src",'/img?s='+Math.random());
}
html代码:
<img alt="" id="image" name="image" src="img" onclick="changeImg();" style="cursor: pointer; position: relative;" border="0" />
<a href="#" onclick="changeImg();">换一个</a>