检查验证码失败
使用了Kaptcha
可以正确的换一张,但是验证验证码不行
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
<link rel="stylesheet" href="${basePath}/css/login.css">
<script type="text/javascript">
function changeImg() {
var img = document.getElementById("img");
img.src = "kaptcha.jpg?" + new Date();
}
function checkVerificationCode() {
alert(99);
$.post("http://localhost:8080/messageboard_war_exploded/checkCode",parmams,function (data){
if(data){
return true
}else {
alert('验证码输入错误');
return false
}
});
}
function getCookie(cookie_name) {
var allCookies = document.cookie;
var cookie_pos = allCookies.indexOf(cookie_name); //如果找到了索引,就代表cookie存在
if (cookie_pos != -1) {
cookie_pos += cookie_name.length + 1;
var cookie_end = allCookies.indexOf(";", cookie_pos);
if (cookie_end == -1) {
cookie_end = allCookies.length;
}
return unescape(allCookies.substring(cookie_pos, cookie_end));
}
return null;
}
</script>
</head>
<body>
<div class="login">
<div class="header">
<h1>
<a href="/login.do">登录</a>
<a href="/regPrompt.do">注册</a>
</h1>
<button></button>
</div>
<form action="${basePath}/main.do" method="post">
<div class="name">
<input type="text" id="name" name="username" placeholder="请输入登录用户名">
<p></p>
</div>
<div class="pwd">
<input type="password" id="pwd" name="password" placeholder="6-16位密码,区分大小写,不能用空格">
<p></p>
</div>
<div class="idcode">
<input type="text" id="verificationCode" name="TCode" placeholder="请输入验证码">
<a href='#' onclick="javascript:changeImg()"> 换一张</a>
<span><img id="img" width="100" src="kaptcha.jpg"/></span>
<div class="clear"></div>
</div>
<div class="autoLogin">
<label for="">
<input type="checkbox" checked="checked">
下次自动登录
</label>
<a href="">忘记密码</a>
</div>
<div class="btn-red">
<input onclick="return checkVerificationCode();" type="submit" value="登录" id="login-btn">
</div>
</form>
</div>
</body>
</html>
xml中
<servlet>
<servlet-name>checkCodeServlet</servlet-name>
<servlet-class>messageboraddemo.servlet.checkCodeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>checkCodeServlet</servlet-name>
<url-pattern>/checkCode</url-pattern>
</servlet-mapping>
Servlet
package messageboraddemo.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
public class checkCodeServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String code = request.getParameter("TCcode");
String kcode = (String) request.getSession().getAttribute("Kcode");
System.out.println("code"+code+"kcode"+kcode);
PrintWriter out = response.getWriter();
if(null !=code && null != kcode && code.equalsIgnoreCase(kcode)){
out.print(true);
}else {
out.print(false);
}
out.flush();
out.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
我觉得是$.post("http://localhost:8080/messageboard_war_exploded/checkCode",parmams,function (data){}中出错,因为alert(99)可以显示,但是没有跳转到checkCode.
现在无论输入的验证码是对是错,都可以登陆
正在回答
请同学在浏览器端按F12,看看浏览器的控制台是否有报错信息呢?
如果有,报错信息是什么呢,请同学截图一下
或者建议同学可以参考一下老师的源码。
祝学习愉快。
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星