步骤:
1、首先是要生成验证码
2、对验证码类进行调用:主要 实现的是 将验证码图片 输出到response.getOutputStream()这个输出流中
调用时,可以在页面调用,也可以在servlet中调用,我推荐是单独的一个servlet调用,在页面调用可能会出现异常,但是不影响使用。
3、在JSP页面中调用:在需要插入验证码的地方插入图像,地址就指向该servlet 或 该jsp页面 即可。
<img alt="" src="servlet/ImageServlet"> 或者 <img alt="" src="image.jsp">
4、输入验证码并提交后,在新的页面中进行验证码的判断
(这里的验证码的验证要特别注意:如果在验证码的生成页面(同一页面)中获取session中的验证码时,获取到的都是上一次存放在session中的验证码,而非这一次的,
只有转到另一个页面再获取,才是本次验证码的值。所以,验证验证码时是否输入正确时都要转到另一个页面来验证!)
当然,你也可以用ajax技术来进行判断!!
5、验证码“看不清,换一个”的功能的实现:加一个js函数,更改img标签中的src路径,再次对jsp或servlet进行请求就OK了。
如:
<script type="text/javascript">
function refresh(){
var temp = document.getElementById("checkcode");
now = new Date();
temp.src = "servlet/ImageServlet?code=" + +now.getTime();
}
</script>
【注意:再次请求时,src一定要加上一个不同的请求参数,这样才能避免因为浏览器缓存造成的验证码图片还是原来那张,没有改变!!】