jsp 调用 DataSource 的 getConnection 方法时会有 HTTP Status 500 错误

今天第一次尝试Java web的连接池


实在实在实在实在抱歉,还是学生,所以没有C币悬赏

目前的状况是:

  1. 在一个Servlet(名称为 : createConnection )中, 利用 JNDI 已经可以获取 DataSource 对象(假设DataSource的对象名为 ds)的引用

  2. createConnection 的代码如下:

    public class createConnection {
    
        public static Connection getConnection(){
    
            Connection con=null;
            try {
    
                Context ctx=new InitialContext();
                DataSource ds=(DataSource) ctx.lookup("java:comp/env/jdbc/nice");
    
                try {
    
                    con=ds.getConnection();   //我只要删除这个,JSP就可以正常运行
    
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            } catch (NamingException e) {
                e.printStackTrace();
            }
            return  con;
        }
    }
    

  3. 但是只要当我在这个 Servlet 中尝试使用 ds.getConnection() 时,调用此Servlet的JSP网页(JSP名为 connectDB.jsp )就会有 **HTTP Status 500 – Internal Server Error** 的错误

  4. connectDB.jsp 的代码如下:

    
        try {
            createConnection.getConnection();
    
        }catch (Exception e)
        {
            out.print("失败");
        }
    
    
    
    

出错页面:

图片说明
图片说明
图片说明

问题解决了


换了一个版本高点的 MySQL 驱动,结果就好了