首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

tomcat配置JNDI数据源及有关问题解决

2012-07-30 
tomcat配置JNDI数据源及问题解决????? 网上其实这种例子很多,但是往往有好多人配置时会出现问题,现在就以t

tomcat配置JNDI数据源及问题解决

????? 网上其实这种例子很多,但是往往有好多人配置时会出现问题,现在就以tomcat6为例,演示一下配置步骤,以及在配置过程中出现的问题的解决方法.

???? 配置步骤如下:

步骤1: 在你的web应用的web.xml文件中增加如下配置? 注意需要在节点<web-app>内部

<resource-ref>?????
??<res-ref-name>jdbc/mysql</res-ref-name>?????
??<res-type>javax.sql.DataSource</res-type>?????
??<res-auth>Container</res-auth>?
?</resource-ref>

步骤2:在conf\Catalina\localhost路径下找到你的web应用对应的xml文件? 在文件配置虚拟路径下增加下面代码.

<Resource
??????? name="jdbc/mysql"
??????? auth="Container"
??????? type="javax.sql.DataSource"
??????? maxActive="100"
??????? maxIdle="30"
??????? maxWait="10000"
??????? username="root"
??????? password="admin"
??????? driverClassName="com.mysql.jdbc.Driver"
??????? url="jdbc:mysql://localhost:3306/test1?characterEncoding=utf-8"/>

步骤3: java类中获取数据库连接对象的代码

?public Connection getConnection() throws SQLException {
??????? Connection con = null;
??????? try {
??????????? Context ctx=new InitialContext();
??????????? DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
??????????? con = ds.getConnection();
??????? } catch (Exception e) {
??????????? throw new SQLException();
??????? }
??????? return con;
??? }

?

步骤4? 测试:

可以再jsp文件中加入如下代码进行测试.细节不多说了.

?

?

完成上述几个步骤以后就可以测试了,测试时有时会碰到异常问题如下:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:? java.naming.factory.initial

出现这个问题的可能是因为配置好了JNDI数据源,我们需要在tomcat容器内进行数据库连接的获取.如果仅仅独立于此应用则会报这个异常.

热点排行