我想用servlet和ajax/javascript添加2個數字。我得到java.lang.NumberFormatException:和值爲空。我可以知道如何將參數從ajax傳遞給servlet。如何將參數從ajax發送到servlet
SumWithAjaxServlet.java
public class SumWithAjaxServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
PrintWriter out = response.getWriter();
System.out.println("n1 : "+request.getParameter("n1"));
System.out.println("n2 : "+request.getParameter("n2"));
int num1 = Integer.parseInt(request.getParameter("n1"));
int num2 = Integer.parseInt(request.getParameter("n2"));
out.println(num1+num2+"");
}
}
的index.jsp
<script type="text/javascript">
function calc()
{
var xmlHttp = new XMLHttpRequest();
var value1 = document.getElementById("n1").value;
var value2 = document.getElementById("n2").value;
xmlHttp.open("POST", "SumWithAjaxServlet", true);
xmlHttp.send(value1 + "," + value2);
var result = document.getElementById("result");
result.innerHTML = xmlHttp.responseText;
}
</script>
<body>
<form id='calcForm'>
<table border="3">
<tr>
<td>Enter 1st number :</td>
<td><input type="text" name="n1" id="n1"></td>
</tr>
<tr>
<td>Enter 2nd number :</td>
<td><input type="text" name="n2" id="n2"></td>
</tr>
<tr>
<td>Result :</td>
<td><input type="text" value="" id="result"></td>
</tr>
<tr>
<td> </td>
<td><input type="button" id="calculate" value="calculate"
onclick="calc()" /></td>
</tr>
</table>
</form>
</body>
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>SumWithAjaxServlet</servlet-name>
<servlet-class>SumWithAjaxServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SumWithAjaxServlet</servlet-name>
<url-pattern>/SumWithAjaxServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
我試過像xmlHttp.send(「n1 =」+ value1 +「&n2 =」+ value2);仍然相同 – user4058411 2014-09-19 17:34:02