求助,在学习jsp中遇到这个问题,望大神帮助。
这是我的代码:
报错:
严重: Servlet.service() for servlet [jsp] in context with path [/hello5] threw exception [java.lang.NumberFormatException: null] with root cause
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:454)
at java.lang.Integer.parseInt(Integer.java:527)
at org.apache.jsp.do_005fupdate_jsp._jspService(do_005fupdate_jsp.java:98)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
改成这样说不定就对了int id = Integer.parseInt((String)request.getParameter("id"));
null 不能转为 Integer 类型,你应该在开头加个判断request.getParameter("id")是否等于0
判断是否为空,不为空再转换类型
String id = request.getParameter("id");
然后在String sql="select * from admin where id="+id;这个前边
判断
if(!id.equals("") && id != null){
Integer id = Integer.parseInt("id");
}
这样应该可以解决,还有看看你页面表单在接值得时候 name值是不是id 可能你页面表单要接值的那块没写name! 祝早日解决
在int id = Integer.parseInt(request.getParameter("id"))中id为null,可能是你根本就没有把id放进request域中,如果你用post请求,
可以在表单内加一个name为id的属性,如果你用get请求,可以直接在url后加?id=整数,你还可以直接把id放在request中。
request.getParameter("id"
在这里没有获取到 id
id是空的,你往前检查一步,看看是什么错误,是上一步都是空值,
还是代码写错,变量值不对导致接收不到为空
java.lang.NumberFormatException: null
一定是 request.getParameter("id") 为空了
request.getParameter("id") 打出来看看是不是null
一定是 request.getParameter("id") 为空了