InitialContext   ctx=new   InitialContext();
      ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/students","username","password");这两种链接方法有什么区别?and  我这个被链接的students数据库放在哪???我用tomcat,在我jsp网页同一目录下吗??
普通java application的数据库链接和jsp中使用的数据库链接是否有区别?

解决方案 »

  1.   

    第一种用的是服务器的数据源,在服务器上配置你的数据库连接。
    第二种是直接用jdbc,最好在j2ee中用这种方法。
    students是数据库名,当然不会跟jsp page在一起啦, 也不会在war里。 你在mysql里配置数据存在什么路径。 
      

  2.   

    你在mysql里配置数据存在什么路径。 
      
    此话怎讲?因为我现在用的dns所以没有摆放数据库就直接用了,我要是链接mySQL,那url是什么呢,jdbc:mysql://localhost:3306/students,这句话的students在哪呢?不会放在哪,都能使用吧???
      

  3.   

    我前面讲错了一句,少打了个“不”
    第二种是直接用jdbc,最好在j2ee中 * 不 * 用这种方法。你用STUDENTS的时候,是在与MYSQL打交道,不是在与哪个文件路径打交道。你为什么一
    定认为STUDENTS对应了一个路径呢?很有可能数据库全部在内存里,根本没有任何文件或
    路径。
      

  4.   

    0h。高。实在是高。概念上的错误。我马上学习mysql,连一下,如果有问题再来请教。j2ee中哪种方法好呢? 在学mysql前先问下,与mysql打交道,是否要先启动mysql,才能与其打交道呢?还是他的库建好了就放在哪里。
      

  5.   

    不是在与哪个文件路径打交道。你为什么一
    定认为STUDENTS对应了一个路径呢?很有可能数据库全部在内存里,根本没有任何文件或
    路径。
    就冲老大这句话,20分值。
      

  6.   

    多谢夸奖,共同提高。
    一般来说要先启动DATABASE,但有些DATABASE 提供 EMBEDDED 方式,DATABASE就和
    应用共用一个JVM,你一去需要启动,用它就是了。 比如 derby/javadb, pointbase,
    等,都有这种方式。 我记得JBoss 的hypersonic database 也是全在内存的。有JavaEE里,当然优先用查询datasource, 如果实在一行,再用JDBC。