已解决!java一次性验证码地址问题

今天在学习一次性验证码的时候,发现刚开始打开网页的时候验证码能够加载出来,但是换一张的时候就加载不出来了。
最开始是这样的:
这是最开始加载的时候
点击换一张后:
换一张后
可以看到验证码区域的图片加载不出来了。对于我这个菜鸡来说,这个问题真的挺烦人。
后来怎么办呢?办法来了!
首先,我的MyEclipse控制台没有报错,好,那就在浏览器页面右键,点击检查,打开Console,可以看到400报错:在这里插入图片描述
说到这里,可以看到是服务器理解不了,好,那先来看看我的代码
这里是前台jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'form.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript">
	function _hyz(){
	var img = document.getElementById("imgVerifyCode");
	img.src = "/tools/VerifyCodeServlet" + new Date().getTime;
	}
</script>

</head>
<!--img的src指向CerifyCodeServlet,需要在web.xml中部署VerfiyCodeServlet  -->
<body>
	<form action="tools/LoginServlet" method="post">
		用户名:<input type="text" name="name" /><br />&nbsp&nbsp&nbsp码:<input type="password" name="pwd" /><br /> 
		验证码:<input type="text" name="verifyCode"><br />
		<img src="/tools/VerifyCodeServlet" id="imgVerifyCode"/>
		<a href="javascript:_hyz()">换一张</a>
		<br/> 
		<input type="submit" value="提交" />
	</form>
</body>
</html>

问题出现在jsp上。jsp哪有问题,看到jsp上的js代码,Date().getTime,这里是是一个函数,一个带上括号,所以应该改成Date().getTime()
在这里插入图片描述
到这里,我又启动tomcat看了看,发现还有问题报错404
在这里插入图片描述
继续找问题,发现还是js部分的问题,img的src我是直接字符串相加的,我原本的意思是想跟新时间,不然验证码图片就不刷新,但是我这样直接字符串相加以后就导致原来的地址变了,就会出现找不到的现象。就是这里
在这里插入图片描述
如果是想要改变参数的话,不应该直接字符串相加,后面的内容应该以参数的形式呈现,就应该写上?method=
在这里插入图片描述
修改完成后再次测试,发现问题已解决
在这里插入图片描述
上面的验证码代码在这里,仅供参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值