我创建了一个从.jsp文件获取凭据的servlet(有效)。 Servlet连接到DB,获取数据并将其转发到另一个.jsp文件(有效)。 在一个函数getLaneInfo()中获取并显示数据。
现在,我已经实现了一个DBListener,它每次在数据库中的数据发生更改时都执行getLaneInfo()(不起作用)。建立连接并且可以正常工作后,首先调用getLaneInfo()。但是当DBListener想要执行它时,我得到了NullPointerException。当我要访问变量请求(HttpServletRequest)时抛出异常。
我正在像这样转发数据:
request.setAttribute("Info", infoList);
request.getRequestDispatcher("WEB-INF/show.jsp").forward(request, response);
这是我得到的例外:
java.lang.NullPointerException
at org.apache.catalina.connector.Request.setAttribute(Request.java:1509)
at org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503)
at banner.Index.getLaneInfo(Index.java:237)
at banner.Index$1.onDatabaseChangeNotification(Index.java:122)
at oracle.jdbc.driver.NTFRegistration.notify(NTFRegistration.java:208)
at oracle.jdbc.driver.NTFConnection.unmarshalNSDataPacket(NTFConnection.java:582)
at oracle.jdbc.driver.NTFConnection.unmarshalOneNSPacket(NTFConnection.java:405)
at oracle.jdbc.driver.NTFConnection.run(NTFConnection.java:182)
有什么想法吗?