无法在 servlet 中获取参数
Can't getParameter in servlet?
我试图在servlet中获取参数,但我收到的所有内容都是空值。我的jsp代码:
<form id="loginForm" name="loginForm" class="loginForm" method="POST" >
<table cellpadding="10px" border="0">
<tr>
<td class="textLogin">Username :</td>
<td class="inputColumn">
<input id="inputUserName" class="inputText" type="text" name="username" value="Username"
onfocus="if(this.value=='Username'){this.value='';}" onblur="if(this.value==''){this.value='Username';}"/>
</td>
</tr>
<tr>
<td class="textLogin">Password :</td>
<td class="inputColumn">
<input id="inputPassword" class="inputText" type="password" name="password" value=""
onfocus="" onblur=""/>
</td>
</tr>
<tr>
<td class="textLogin" colspan="2">
<span id="noityText" ></span>
</td>
</tr>
<tr>
<td class="resetColumn"><button class="basicButton" id="resetLogin" type="reset" >Reset</button></td>
<td><button class="basicButton" id="submitLogin" type="submit" >Submit</button></td>
</tr>
</table>
</form>
JavaScrpit :
$(document).ready(function() {
$("#loginForm").submit(function(e){
e.preventDefault();
});
$("#submitLogin").click(function(){
var userName=$("#inputUserName").val();
userName=userName.trim();
var password=$("#inputPassword").val();
password=password.trim();
//get the form data and then serialize that
dataString = $("#loginForm").serialize();
dataString ="username"+userName;
console.log(dataString);
if((userName=='')||(userName=='Username')){
//$("#noityText").html("<span id='noityText' >Vui lòng điền tên đăng nhập</span>");
$("#noityText").text("Vui lòng điền tên đăng nhập");
}
else{
$("#noityText").text("");
}
$.ajax({
type:"POST",
url:"/MavenWebApp/login",
data:dataString,
dataType:"json",
success:function(data,textStatus, jqXHR){
if(data.success){
$("#noityText").text("Đăng nhập thành công :D");
console.log(data);
}
else{
$("#noityText").text("Đăng nhập thất bại :D");
console.log(data);
}
},
error:function(jqXHR,textStatus, errorThrow){
$("#noityText").text("Errors");
},
beforeSend:function(jqXHR,settings){
$("#noityText").text("Start send");
},
complete:function(jqXHR,textStauts){}
});
});
});
和仆人:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("In servlet :D ");
String userName=request.getParameter("username");
//userName=userName.trim();
String password=request.getParameter("password");
//password=password.trim();
System.out.println(password);
PrintWriter out = response.getWriter();
response.setContentType("text/html");
response.setHeader("Cache-control", "no-cache, no-store");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST");
response.setHeader("Access-Control-Allow-Headers", "Content-Type");
response.setHeader("Access-Control-Max-Age", "86400");
Gson gson = new Gson();
JsonObject myObj = new JsonObject();
if (this.getUser(userName, password)){
myObj.addProperty("success", true);
}else{
myObj.addProperty("success", false);
}
out.println(myObj.toString());
out.close();
}
这是日食中的文本显示:
In servlet :D - service
null
null
Servlet 中的字符串用户名和密码为空!我该如何解决此错误?:D对不起,如果我的问题让你不舒服,因为我是初学者,我的英语不好:D
//get the form data and then serialize that
dataString = $("#loginForm").serialize();
这看起来没问题(但请检查这个字符串是什么),但随后你用
dataString ="username"+userName;
为什么要覆盖它?如果这样做,则至少需要保持其形式编码(例如,需要在参数名称和值之间=
)。
尝试使用 serializeArray() -
dataString = $("#loginForm").serializeArray();
并删除这一行 -
dataString ="username"+userName;
相关文章:
- ROR:如何在不重新加载浏览器的情况下从控制器获取参数
- 如何在reactrouterv2.+中从URL获取参数
- 如何获取参数的值
- 从从字符串创建的函数中获取参数列表
- jquery从url中获取参数也会在控制台日志中留下url
- 从Javascript中的URL获取参数
- IFrame 从不同域上的父 url 获取参数
- 如何使用React Router在Route Handler上获取参数
- Angularjs-如何从URL获取参数
- 从外部函数获取参数名称
- PHP从带有url的变量中获取参数
- 是否可以在 JavaScript 中按函数名称获取参数
- JS .replace(str, str):如何获取参数 1 中的变量并全局工作
- 从页面网址获取参数
- 如何在 router.use 中定义参数时获取参数
- 如何从 JavaScript 中的 JSON 对象获取参数的名称
- 我将一个函数(本身有一个参数)作为参数传递给另一个函数以及如何获取参数
- 如何获取参数对象的子集?(关于具有可变大小的参数)
- Javascript对象通信并从其他对象获取参数
- Websocket 从查询中获取参数