http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html

解决方案 »

  1.   

    实际上这个只是load驱动到内存中。
    并没有做什么。我认为原因是JAVA的ClassLoader无法直接找到这个类,必须要显式load一下
      

  2.   

    我觉得不是这个原因,动态类加载具有灵活性,比如你的java程序跑在不同的环境里面,有可能有的java环境里面没有你需要用到的类,这个时候如果你是静态加载类的时候就会出现一个运行时错误,而如果是动态加载,你可捕捉到ClassFoundException从而进行下一步处理。举个例子,在装载数据库驱动的时候往往用到Class.forName(),就是考虑到相应驱动类可能不存在的情况。另外,有些时候你必须在运行时确定要加载的类,如同在struts里面,是靠配置文件指定运行时要加载的类,这个时候,你必须用到动态类加载。