您的位置:首页 > 数据库

JDBC与JNDI获取数据库连接对象注意事项

2014-10-10 20:38 232 查看
首先给大家分别看看,用JDBC和JNDI获取数据库连接对象的方法:





现在就来分别说明一下,JBDC获取JNDI的方法由什么地方需要注意的。具体的做法写法我这就不累述了,看上面的截图模仿一下。我写这篇文章的意思,就是让那些初学JDBC的人更清楚这两者之间有什么异同、其工作原理是怎样的。

JDBC的原理:.JDBC是通过反射技术,将JDBC的驱动包,加载进JAVA虚拟机里。在程序运行的过程中,就可以调用驱动程序中的方法。像DriverManager类的getConnection()方法,底层就调用了这些驱动程序来与数据库连接获取Connection对象的。

JNDI的原理:JNDI是通过容器,也就是Web服务器来运行JDBC驱动程序来获取数据库连接对象的,像数据库连接地址、用户名、密码这些信息都是通过配置文件的形式保存的。单单这一点就可以很明显的看出,这些配置文件里面的信息,是Web服务器来调用的。

JDBC与JNDI的异同:JDBC获取数据库连接对象(Connection)对象,可以自己随便建个JAVA类文件,写好方法,运行一下就可以获取了。这一点是与JNDI最大的不同。如果JNDI直接在JAVA文件里面写个main方法直接调用的话,马上就会报错。因为这样子就是程序员自己在用JNDI技术来获取数据库连接对象。但这样一来,前面JDBC驱动和配置信息(数据库地址、账户、密码等)都没有被正确的调用。注意一点,别以为开启了Tomcat服务器,然后在main方法里调用就没事。一样报错。同样的道理,底层一些运作没有被正确的调用。这些底层的运作,是Web容器来调用并运行的。

正确操作JNDI的方式,应该是从JSP页面出发,再跳转到像Servlet这样的JAVA文件中来进行获取数据库连接。这样才是让Web容器来创建数据源对象,通过数据源对象来获取数据库连接对象。当然,也可以在JSP页面中直接编写JSP脚本的形式来直接使用JNDI。但是大量JSP代码与HTML代码混合在一起并不是一个好的做法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdbc jsp jndi