<img title="点击图片切换验证码" id="vcodeImg" src="get_captcha?vl=4&w=150&h=40">
img标签通过请求后端,得到验证码。
@RequestMapping(value = "get_captcha" , method = RequestMethod.GET)
public String getCpatcha(HttpServletRequest request,
@RequestParam(value = "vl",defaultValue = "4",required = false) Integer vl,
@RequestParam(value = "w",defaultValue = "98",required = false) Integer w,
@RequestParam(value = "h",defaultValue = "33",required = false) Integer h
,HttpServletResponse response) {
CpachaUtil cpacha = new CpachaUtil(vl,w,h);
String generatorVCode = cpacha.generatorVCode();
request.getSession().setAttribute("generatorVCode", generatorVCode);
BufferedImage generatorRotateVCodeImage = cpacha.generatorRotateVCodeImage(generatorVCode, true);
try {
ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "system/login";
}
后端通过CpachaUtil,生成验证码和其图片。
图片通过ImageIO.write(generatorRotateVCodeImage, “gif”, response.getOutputStream()); 生成流数据,输入到response。
怪不得验证码刷不出来,原来把页面返回过去了。。。。。
//验证码处理
@RequestMapping(value = "get_captcha" , method = RequestMethod.GET)
public void getCpatcha(HttpServletRequest request,
@RequestParam(value = "vl",defaultValue = "4",required = false) Integer vl,
@RequestParam(value = "w",defaultValue = "98",required = false) Integer w,
@RequestParam(value = "h",defaultValue = "33",required = false) Integer h
,HttpServletResponse response) {
CpachaUtil cpacha = new CpachaUtil(vl,w,h);
String generatorVCode = cpacha.generatorVCode();
request.getSession().setAttribute("generatorVCode", generatorVCode);
BufferedImage generatorRotateVCodeImage = cpacha.generatorRotateVCodeImage(generatorVCode, true);
try {
ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return "system/login";
}
}