Java Servlet中存在NullPointerException
*我已经创建了一个基本的servlet程序,若用户给出正确的USN号,它将从数据库中获取数据,否则它将重定向到error.html 每当我输入USN编号时,它都会显示NullPointerException。因为我使用的是Eclipse,所以没有任何错误迹象。 注意:我还创建了一个html文件来输入USN编号 代码: 输出:Java Servlet中存在NullPointerException,java,servlets,Java,Servlets,*我已经创建了一个基本的servlet程序,若用户给出正确的USN号,它将从数据库中获取数据,否则它将重定向到error.html 每当我输入USN编号时,它都会显示NullPointerException。因为我使用的是Eclipse,所以没有任何错误迹象。 注意:我还创建了一个html文件来输入USN编号 代码: 输出: java.lang.NullPointerException com.abc.error.GetResult.service(GetResult.java:36) java
java.lang.NullPointerException
com.abc.error.GetResult.service(GetResult.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
stacktrace表示,如果张贴代码的行号与您的实际代码匹配,则NPE位于此行:
pstmt.setString(1,key);
您可以通过在该行上设置断点来验证这一点
我看不到您的实际代码,因此您应该使用更多断点检查以下几点:
con
null吗?如果是这样,您的init()
方法可能不会被调用,或者它会在您的日志中抛出一个您没有看到的异常键
是否为非空如果
con
将为null
,它将在第29行抛出NPE。如果key
将为null,则调用堆栈将至少更深一层。错误表明pstmt
为null
@spork我已经按照您上面提到的那样做了,但我仍然得到了相同的结果error@Ivar同意…如果OP在生成stacktrace时发布代码。我已经学会了不要假设。@Bankimh您已经设置了断点并确认con
、stmt
和key
在运行时都是非空的?如果是这样的话,你就不能得到同样的错误。@Filburt不,这并不能解决我的问题…Filburt的链接应该会帮助你,不要错过
pstmt.setString(1,key);