首先,这不是重复的,因为我见过我发现的所有类似问题
所以我在做的是在 Maven 项目中连接数据库
i have 2 concerns -
构建给出以下错误
SEVERE: Servlet.service() for servlet [webapp.login.loginServlet] in context with path [] threw exception
java.lang.NullPointerException: Cannot invoke "java.sql.Connection.createStatement()" because "con" is null
at webapp.login.loginServlet.doGet(loginServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)
我使我的连接为空,然后将其初始化...尝试捕获
request.getRequestDispatcher("/WEB-INF/veiws/login.jsp").forward(request, response);
// connect
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/to_be_done","root","");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if i remove null compile error here
try {
st = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
}
<块引用>
“con”未初始化
如果我把它留空并忽略我得到的错误
<块引用>HTTP 状态 500 - 无法调用“java.sql.Connection.createStatement()”,因为“con”为空