java - 我的网络应用程序中的 Null.Pointer.Exception

标签 java jsp jdbc nullpointerexception

我正在尝试创建一个 Web 应用程序来查询我的 Oracle 数据库并从表中返回菜单标题列表,但是当我导航到该页面时,它会抛出如下所示的区域。

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NullPointerException
oracle.DatabaseConnector.selectAllMenus(DatabaseConnector.java:63)
org.apache.jsp.menus_jsp._jspService(menus_jsp.java:113)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.

下面是我的 java 类中查询数据库的代码的有问题的部分。但我不确定为什么这会导致上述错误?有人可以看一下是否有问题吗?

public MenuList selectAllMenus(String ordering) {
    MenuList list = null;

    try {
        String strQuery = "SELECT title"
                + " FROM menus"
                + " ORDER BY " + ordering;
        PreparedStatement stmt = conn.prepareStatement(strQuery);

        results = stmt.executeQuery();

        list = new MenuList(results);
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return list;
}

这是日志文件中的内容:

28-Feb-2012 14:40:57 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at oracle.DatabaseConnector.selectAllMenus(DatabaseConnector.java:63)
at org.apache.jsp.menus_jsp._jspService(menus_jsp.java:113)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:662)

最佳答案

希望您使用 MySQL 数据库..

确保添加正确的 MySQL Java 连接器作为外部库,并将 Tomcat 添加为外部服务器(在 Eclipse 中项目的构建路径中)。

(您还可以将 $TOMCAT_HOME/$CATALINA_HOME 的 lib 文件夹中的所有库复制到构建路径。

这应该可以解决这个问题。

谢谢。

关于java - 我的网络应用程序中的 Null.Pointer.Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9483879/

相关文章:

java - 如何通过数学计算显示 future 的日期和时间?

java - ClassNotFoundException 当通过 java 的 Servlets 运行 JDBC 时

java - 如何在jsp中获取sysdate - 5天

jquery - 如何使用 jQuery 和 jsp 生成动态下拉列表?

Java:如何跟踪/监视 CMS 垃圾收集器的 GC 时间?

java - 在 JSP Servlet 中使用 div 作为提交按钮

java - 数据库查询问题

java - 使用与 WebSphere 附带的版本不同的 derby.jar 版本?

java - “public”函数公开其 'public/*package*/' 参数类型 SolarEdgeException

java - 网格中最大的产品