RegisterServlet.doPost上的java.lang.NullPointerException

RegisterServlet.doPost上的java.lang.NullPointerException,java,git,jsp,servlets,jdbc,Java,Git,Jsp,Servlets,Jdbc,我一直在做一个简单的银行项目,我正处于初级阶段。我想要的是通过register.html将客户信息保存在数据库中 和RegisterServlet.java页面。但不幸的是,它停止使用NullPointerException。从过去3天开始,我一直试图解决这个问题,但没有解决方案。我也包括我的GitHub链接,在jar文件中我只包括了ojdbc6。我的代码在try块行(ps=con.prepareStatement(“插入到客户(姓名、电子邮件、手机、城市、dob)值(?,,,,,,,?)中”)

我一直在做一个简单的银行项目,我正处于初级阶段。我想要的是通过register.html将客户信息保存在数据库中 和RegisterServlet.java页面。但不幸的是,它停止使用NullPointerException。从过去3天开始,我一直试图解决这个问题,但没有解决方案。我也包括我的GitHub链接,在jar文件中我只包括了ojdbc6。我的代码在try块行(ps=con.prepareStatement(“插入到客户(姓名、电子邮件、手机、城市、dob)值(?,,,,,,,?)中”)中出现了中断;我需要一些重要的帮助

My pages
1. login.html
2. register.html
3. RegisterServlet.java
4. DBConnectionManager.java
5. web.xml
register.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<h3 align="center">Customer Registration Page</h3>
<form action="RegisterServletPath" method="post">
<table align="center">
    <tr>
        <td>Customer Name</td>
        <td><input type="text" name="name"></td>
    </tr>
    
    <tr>
        <td>Email</td>
        <td><input type="text" name="email"></td>
    </tr>
    
    <tr>
        <td>Mobile</td>
        <td><input type="text" name="mobile"></td>
    </tr>
    
    <tr>
        <td>City</td>
        <td><input type="text" name="city"></td>
    </tr>
        
    <tr>
        <td>DOB</td>
        <td><input type="date" name="dob"></td>
    </tr>
    
    <tr>
        <td></td>
        <td><input type="submit" value="Register"></td>
    </tr>
    
</table>
</form>

</body>
</html>
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>JDBC Banking Project</display-name>
      <welcome-file-list>
        <welcome-file>register.html</welcome-file>
      </welcome-file-list>
      
      <context-param>
        <param-name>username</param-name>
        <param-value>system</param-value>
      </context-param>
      <context-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
      </context-param>
      <context-param>
        <param-name>dbURL</param-name>
        <param-value>jdbc:oracle:thin:@localhost:1521:xe</param-value>
      </context-param>
    </web-app>
web.xml

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<h3 align="center">Customer Registration Page</h3>
<form action="RegisterServletPath" method="post">
<table align="center">
    <tr>
        <td>Customer Name</td>
        <td><input type="text" name="name"></td>
    </tr>
    
    <tr>
        <td>Email</td>
        <td><input type="text" name="email"></td>
    </tr>
    
    <tr>
        <td>Mobile</td>
        <td><input type="text" name="mobile"></td>
    </tr>
    
    <tr>
        <td>City</td>
        <td><input type="text" name="city"></td>
    </tr>
        
    <tr>
        <td>DOB</td>
        <td><input type="date" name="dob"></td>
    </tr>
    
    <tr>
        <td></td>
        <td><input type="submit" value="Register"></td>
    </tr>
    
</table>
</form>

</body>
</html>
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
      <display-name>JDBC Banking Project</display-name>
      <welcome-file-list>
        <welcome-file>register.html</welcome-file>
      </welcome-file-list>
      
      <context-param>
        <param-name>username</param-name>
        <param-value>system</param-value>
      </context-param>
      <context-param>
        <param-name>password</param-name>
        <param-value>123456</param-value>
      </context-param>
      <context-param>
        <param-name>dbURL</param-name>
        <param-value>jdbc:oracle:thin:@localhost:1521:xe</param-value>
      </context-param>
    </web-app>

在您的项目中,我看不到您在Servlet上下文中设置连接的任何地方,我不确定您是否发布了完整的源代码

Connection con = (Connection)getServletContext().getAttribute("DBConnection");
行下抛出NullPointerException

ps = con.prepareStatement("insert into customers(name,email,mobile,city,dob) values (?,?,?,?,?)");
无法在SQLException的catch子句中捕获。
当它试图关闭连接时,在finally块中。NullPointerException被抛出。

嘿,我指的是这篇博客文章[但不是创建所有文件。我只是想做第一个基本步骤。请查看上面的链接并帮助我解决我缺少的问题。我已经提供了所有的源代码,将login.html保留为空。如果我在git上看到代码,那么您的代码中缺少AppContextListener。您好,所以我在我的项目中添加了AppContextListener.java,但仍然是提供相同的输出。请再次查看我的GitHub链接。这将对我非常有帮助。
ps = con.prepareStatement("insert into customers(name,email,mobile,city,dob) values (?,?,?,?,?)");