java - JSP代码中的java.lang.NullPointerException

标签 java jsp exception error-handling

机智结束后,我在这里发布问题。
开发小型JSP Web应用程序时出现“java.lang.NullPointerException”错误。
请帮我修复它。

在下面,我提到我的代码:

<body>
    <%!
        public class Actor{
        String URL = "jdbc:mysql://localhost:3306/henry_books";
        String USERNAME = "root";
        String PASSWORD = "adminroot";

        Connection connection = null;
        PreparedStatement selectActors = null;
        ResultSet resultSet = null;
        public Actor(){
        try{
            connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            selectActors = connection.prepareStatement("SELECT * FROM author");

            }catch(SQLException e){
                e.printStackTrace();
            }
        }
        public ResultSet getActors(){
            try{
                resultSet = selectActors.executeQuery();
            }catch(SQLException e){
                e.printStackTrace();
            }
            return resultSet;
         }
        }
    %>
    <%
        Actor actor = new Actor();
        ResultSet actors = actor.getActors();
        while(actors.next()){
            %>
            <span><%= actors.getInt("authorNum")%></span>  
        <% }
    %>
</body>

在ResultSet actors上获取错误= actor.getActors();线
错误:
  org.apache.jasper.JasperException: 

在第48行处理JSP页面/book_app/web/index.jsp时发生异常
45:         %>
46:         <%
47:             Actor actor = new Actor();
48:             ResultSet actors = actor.getActors();
49:             while(actors.next()){
50:                 %>
51:                 <span><%= actors.getInt("authorNum")%></span>  


Stacktrace:    
root cause

java.lang.NullPointerException
org.apache.jsp.book_005fapp.web.index_jsp$Actor.getActors(index_jsp.java:39)
org.apache.jsp.book_005fapp.web.index_jsp._jspService(index_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

最佳答案

在建立连接之前添加驱动程序类,并确保已在lib文件夹中添加了mysql-connector.jar文件。

public Actor(){
    try{
        Class.forName("com.mysql.jdbc.Driver");  //Add this line
        connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        selectActors = connection.prepareStatement("SELECT * FROM author");

        }catch(SQLException e){
            e.printStackTrace();
        }
    }

Refer this for details

关于java - JSP代码中的java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43452916/

相关文章:

java - Tomcat:如何将不同的目录指向同一个 WEB-INF

php - 为 DateTime 准备 PHP 代码

javascript - 在 Safari 中评估表达式 const 变量范围

c# - 如果未处理异常则发出警告

java - 使用生成类通过 2 个映射器通过 MapStruct 传输对象

java - 什么是 Java 堆栈与 native 内存的映射。

java - 与 do while 循环和变量混淆

java - 返回子类

java - Spring Formatting SPI 是否需要使用 JSP 标签或什么?

javascript - 水平滚动时如何修复表格的某些列