我在運行於Tomcat服務器上的Eclipse中製作了一個簡單的servlet。Java Servlet中的數字格式異常
我正在運行一個簡單的java應用程序,它將字符串message=20
傳遞給servlet。該servlet獲取數據。我使用
String name= request.getParameter("message");
得到傳遞的字符串。當我將名稱值返回給應用程序時,我可以將其恢復。但是,當我嘗試處理字符串名稱:
int val=Integer.parseInt(name);
我得到NumberFormatException
。我無法弄清楚問題所在。我已經能夠從servlet中獲得名稱變量的值,但爲什麼我不能使用它?
我使用的代碼如下:
客戶端代碼
URL url = new URL("http://localhost:8080/DemoServer/demoservelet");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
out.write("message=20");
servlet代碼
String username = request.getParameter("message").toString();
int val=Integer.parseInt(username); //get error msg on this line
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Passed val :"+ username+username.length());
}
我對轉換得到的錯誤。還有一件事,我得到的長度值爲4,這也沒有任何意義?
請幫我解決這個問題。
可以調試,看看到底是什麼'name'的值是在該行? –
你又是怎樣通過的名稱和值? –
你看到了什麼,如果你打印的名字的價值,你嘗試分析它之前?你可以用引號括起來/括號中的印刷值,以確保它不包含空白。 System.out.println(「[」+ name +「]」); – jahroy