这个问题很简单的。我想你动态产生的
验证码一定是一个单独的
页面然后再把这个页面导入到
你的输入信息的页面的。你打开你的动态生成验证码的页面。在里面你一定可以找到一个session.setAttribute("")这个方法是把你验证码的值保存在session里面。根据你的意思在用js弹出来验证. 首先你在页面中加一小脚本<% Stirng vcode= (String)session.getAttribute("验证码Key") %>然后在你的提交按钮中加一个onClick事件... 请输入验证码:<input type="text" id="txtvcode" name="txtvcode" /><input type="button" name="text" id="text" value="提交" onClick="checkVcode('<%= vcode%>')" />这样就可以把你动态生成的验证码值传入到js的函数中去了。 <script> function checkVcode(vcode){ var txtvcode= document.getElementById("txtvcode").value if(vcode==txtvcode){ alert("输入验证码正确") }else{alert("输入验证码错误") } } </script>人在网吧。没工具调试。我想这些代码不会出问题的。jsp中要做到验证码同步,最好别用session,有延时问题。
以下是实现思路:
1.在jsp页面用js生成验证码并保存在变量中,验证码作为参数传到java(继承了HttpServlet)类
2.根据jsp页面中传过来的验证码画出一个有干扰线或干扰点的图片
3.在WEB-INF/web.xml中配置 servlet
4.在jsp页面调用配置好的servlet,一般是通过<img src="servlet名" id="code"/>调用
5.提交数据之前验证
<form onsubmit="return validate()"……/>
局部刷新验证码:<a href="#" onclick="javascript:show()return false">看不清,换一张!</a>-
太奇怪,我测试了一下你的代码,很好用阿,采用两种方式都没有问题
直接访问img.jsp或者访问html文件的img标签,都没有问题。
补充:
我是在本地访问的,如果你访问其它计算机,那么看看是否是防火墙的问题。代码应该没有问题。