Java tomcat中MysqlDatasource中的NullPointer异常?

Java tomcat中MysqlDatasource中的NullPointer异常?,java,mysql,eclipse,jdbc,Java,Mysql,Eclipse,Jdbc,我已经从和在tomcat中配置了mysqlDatasource。我遵循了其中规定的步骤。我使用了以下代码行 class DataConnection { private static DataSource dataSource; public DataConnection() { try { Context ctx = new InitialContext(); dataSource = (DataSource)c

我已经从和在tomcat中配置了mysqlDatasource。我遵循了其中规定的步骤。我使用了以下代码行

class DataConnection {
    private static DataSource dataSource;

    public DataConnection() {
        try {
            Context ctx = new InitialContext();
            dataSource = (DataSource)ctx.lookup("java:comp/env/jdbc/test");
        } catch (NamingException e) {
           e.printStackTrace(); 
        }
    }

    public static Connection getConnection() throws SQLException {
        new DataConnection();
          Connection con=dataSource.getConnection();
          return con;
    }
}
但在连接数据库时,我仍然会收到NullPointerException

  • 将jar文件复制到
    mysql/lib
    文件夹中
  • 创建
    context.xml
    文件并提及连接属性
  • 我在
    WEB-INF/WEB.xml
    中提到

    jdbc/db javax.sql.DataSource

  • 我做错了什么


    注意:我已经创建了context.xml并提到了connection属性。最后手动复制到META-INF/context.xml中

    试试
    InitialContex
    而不是
    Context
    的实例,然后打印某个内容

    public DataConnection() {
                try {
                    InitialContext ctx = new InitialContext();
                    dataSource = (DataSource)ctx.lookup(dataSource name);
                } catch (NamingException e) {
                        e.printStackTrace();
                }
            }
    

    通过放置断点来检查try块是否已创建。我认为“ava:comp/env/jdbc/test”中的问题是。我已检查数据源值是否为null。添加e.printStackTrace();在catch块中-我猜正在抛出一个异常,但是您没有看到它,因为您的catch块是空的。异常应该告诉您出了什么问题谢谢@geek。我已经更新了错误。我不知道您是否理解这个问题。Context ctx=new InitialContext();它工作正常。当控件进入下一行时,它只返回空值。数据源值为空。有什么异常?印后