首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NumberFormatException:空

NumberFormatException:空
EN

Stack Overflow用户
提问于 2012-07-19 16:30:43
回答 4查看 1.1K关注 0票数 1

现在,我遇到了一个错误,它显示了Eclipse browser.The错误中的以下错误,如下所示:

代码语言:javascript
复制
13:53:12,294 INFO  [STDOUT] 30
13:53:12,294 ERROR [[Expthsmon]] Servlet.service() for servlet Expthsmon threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Expthsmon.doGet(Expthsmon.java:44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

我相信这部分代码

代码语言:javascript
复制
int amountofnoon=0;
    int amountofafternoon=0;
    int noofnoon=0;
    int noofafternoon=0;
    String amountnoon=null;
    String amountafternoon=null;
    amountnoon=request.getParameter("amountnoon");
    amountafternoon=request.getParameter("amountafternoon");
    //if((amountnoon !=null )&&(amountafternoon !=null))

     amountofnoon=Integer.parseInt(amountnoon);
     System.out.println(""+amountofnoon);
     amountofafternoon=Integer.parseInt(amountafternoon);
     System.out.println(""+amountofafternoon);

是不是在制造问题,中午的数量和下午的数量应该是整数value.What,我该怎么办?

我还添加了代码的jsp部分,它是从其中获取值的:

代码语言:javascript
复制
<form name="expenditurefthsmon" action="Expthsmon">
<div align="center">Enter The Amount of Days Expenditure</div>
 <div align="center"><input type="text"  name="amountnoon"></input></div>
 <div align="center">Enter The Amount of Nights Expenditure</div>
<div align="center"><input type="text" name=amountafternoon"></input></div>
 <div align="center"><input type="submit" value="Calculate"></input></div>"
</form>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-19 17:01:25

html中的上述代码省略了name属性的引号。

代码语言:javascript
复制
<div align="center"><input type="text" name=amountafternoon"></input></div>

它应该是

代码语言:javascript
复制
<div align="center"><input type="text" name="amountafternoon"></input></div>

除此之外,在进入核心逻辑之前,您永远不能信任用户的输入,并始终对照无效或空值对其进行验证。

票数 2
EN

Stack Overflow用户

发布于 2012-07-19 16:32:57

amountnoon和/或amountafternoon的值为null,需要验证请求参数是否为空

票数 2
EN

Stack Overflow用户

发布于 2012-07-19 16:34:12

您应该检查是否有空值。例如:

代码语言:javascript
复制
if(amountnoon != null){
    amountofnoon=Integer.parseInt(amountnoon);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11556854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档