我有一个config.properties文件,其中存储了数据库的凭据,但是当我尝试从connection.jsp读取它时,它给了我“NullPointerException”。
我在eclipse中运行以下代码时遇到上述错误 -
config.properties: -
jdbc.url= jdbc:mysql://localhost:3306/mysqldb
jdbc.driver = com.mysql.jdbc.Driver
jdbc.username= root
jdbc.password= root
connection.jsp: -
<%@ page import="java.util.Properties" %>
<%@ page import= "java.sql.* " %>
<%
Properties properties=new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
//InputStream in = getClass().getResourceAsStream("config.properties");
String url=properties.getProperty("jdbc.url");
String driver=properties.getProperty("jdbc.driver");
String username=properties.getProperty("jdbc.username");
String password=properties.getProperty("jdbc.password");
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(url,username,password);
%>
emp_id.jsp(从数据库打印数据): -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Properties" %>
<%@page import="java.sql.*" %>
<%@page import="java.sql.Connection" %>
<%@ page import="java.io.*" %>
<%@ include file= "connection.jsp" %>
<%
String query15="select emp_id from employees";
Statement st15=con.createStatement();
ResultSet rs15=st15.executeQuery(query15);
while(rs15.next())
{
System.out.print(rs15.getString(1));
}
%>
我收到此错误消息: -
HTTP Status 500 - An exception occurred processing JSP page /connection.jsp at line 8
type Exception report
message An exception occurred processing JSP page /connection.jsp at line 8
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /connection.jsp at line 8
5: Properties properties=new Properties();
6: File file = new File("config.properties");
7: System.out.println(file.getAbsolutePath());
8: properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
9: //InputStream in = getClass().getResourceAsStream("config.properties");
10:
11:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:579)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NullPointerException
java.util.Properties$LineReader.readLine(Properties.java:434)
java.util.Properties.load0(Properties.java:353)
java.util.Properties.load(Properties.java:341)
org.apache.jsp.test_jsp._jspService(test_jsp.java:136)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.44 logs.