异步请求时request.getParameter()不能获取参数
表单代码
js代码:
Servlet代码
打算在点击按钮判断验证码是否正确,不正确就不提交表单,并且显示 "验证码错误,请重新输入!!" 。但是无法吧验证码传去Servlet 。求解
<form method="post" action="LRServlet" onsubmit="return submitSuccessful()">
<div class="login-text" >
<span>验证码:</span><input type="text" name="checkCode" id="checkCode" onblur="isCheckCodenull()" oninput="inputOnblur(this)" />
<img id="vcode" src="codeServlet" border="0" align="absmiddle" onclick="this.src='codeServlet?rnd=' + Math.random();" style="position:relative; float:right; "/>
<span>点击图片刷新验证码</span><br /><span id="CodeResult"></span>
</div>
<input type="hidden" name="action" value="login" />
<input type="submit" class="login-button" onclick="isCodeTrue()" value="登录" />
</form>js代码:
//验证码是否正确
function isCodeTrue(){
var code=document.getElementById("checkCode").value.replace(/\s/gi,'');
if(code==null || code==""){
}else{
createXMLHttp();
xmlHttp.open("post","LRServlet?action=login",true);
xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState==4){
if(xmlHttp.status==200){
var text=xmlHttp.responseText;
if(text!=null){
document.getElementById("CodeResult").innerHTML=text;
}else{
document.getElementById("CodeResult").innerHTML=" ";
}
}
}
};
xmlHttp.send();
}
}Servlet代码
if(panDuan.equals("login")){
String code=request.getParameter("checkCode");
HttpSession codeSession=request.getSession();
String codeStr=(String)codeSession.getAttribute("validationCode");
System.out.println(codeStr);
System.out.println("hahah"+code);
if(codeStr.equals(code)){
codeSession.setAttribute("validationCode", "aaaa");
System.out.println("验证码验证成功!!!");
boolean lSuccessful=false;
try {
lSuccessful = DAOFactory.getILRDAOInstance().doLRSelect(userName, userPassword);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(lSuccessful){
session.setAttribute("userName",userName );
response.sendRedirect("index.jsp");
}else{
//转到登录页面!!!
String msg="用户名或密码错误,请重新输入!!";
request.setAttribute("msg", msg);
request.getRequestDispatcher("login.jsp").forward(request, response);
}
}else{
out.print("验证码错误,请重新输入!!");
}
}打算在点击按钮判断验证码是否正确,不正确就不提交表单,并且显示 "验证码错误,请重新输入!!" 。但是无法吧验证码传去Servlet 。求解
...全文
相关推荐
request.getParameter() 和request.getAttribute() 区别
### `request.getParameter()``request.getParameter()`是Servlet API提供的一个方法,主要用于从HTTP请求中获取参数。
request请求获取参数的实现方法(post和get两种方式)
-- 表单字段 --></form>```在Servlet中处理POST请求,需要重写`doPost()`方法,并调用`request.getParameter()`获取参数:```javaprotected
解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法 ?
在探讨“解决当FORM的ENCTYPE='multipart/form-data'时request.getParameter()获取不到值的方法”这一主题时,我们首先需要理解为什么在特定情况下,传统的`
request.getParameter()取值为null的解决方法
如果是在JSP页面中使用EL表达式或JSTL标签获取参数,也应当确认对应的属性是否已经通过request对象正确获取,确保EL表达式或JSTL标签所依赖的属性和请求参数保持一致。
java 获取request中的请求参数代码详解
获取所有请求参数在 Java 中,我们可以使用 `request.getParameterNames()` 方法来获取所有的请求参数名,然后遍历这些参数名,使用 `request.getParameter


Web 开发
