网上很多资料都说配置JNDI需要更改context.xml或者server.xml,而且要配置项目里的web.xml文件,看起来都觉得麻烦!!!
但是我试了一下,发现其实并不需要那么麻烦。我是SSH项目在Spring层配置JNDI数据源,其实很简单,只不过是把数据源的配置放到了其他地方,而Spring则通过JNDI找出数据源,从而Hibernate能引用。我觉得配置JNDI有两种方式是比较易配置和易管理的:
1、 在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\conf\context.xml中新增
<Resource name="SSI" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
loginTimeout="10"
maxWait="5000"
username="root"
password="123456"
testOnBorrow="true"
url="jdbc:mysql://localhost:3306/pm&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8"
/>
2、在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\SSI\META-INF 即项目的META-INF 目录下新建一个context.xml文件,内容如下:
<Context path="/SSI" docBase="SSI" debug="0" privileged="true" verbosity="0">
<Resource name="SSI" auth="Container" type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/pm"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
removeAbandoned="true"
logAbandoned="true"
/>
</Context>
注意:在项目里新建了这个文件,但是有时候在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\SSI\META-INF 目录里还没有这个文件也是不行的,必须保证其有这个文件存在。
之后还需要做的就是配置Spring,加入如下内容:
<!-- JNDI方式配置数据源 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" >
<property name="jndiName">
<value>java:comp/env/SSI</value>
</property>
</bean>
这样就配置完成了,并不需要更改web.xml这个文件,网上说的应该是在低版本的tomcat上才需要配吧,6.0以上都是可以的。
如果有什么说得不对的,请大侠们指点指点。
但是我试了一下,发现其实并不需要那么麻烦。我是SSH项目在Spring层配置JNDI数据源,其实很简单,只不过是把数据源的配置放到了其他地方,而Spring则通过JNDI找出数据源,从而Hibernate能引用。我觉得配置JNDI有两种方式是比较易配置和易管理的:
1、 在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\conf\context.xml中新增
<Resource name="SSI" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
loginTimeout="10"
maxWait="5000"
username="root"
password="123456"
testOnBorrow="true"
url="jdbc:mysql://localhost:3306/pm&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8"
/>
2、在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\SSI\META-INF 即项目的META-INF 目录下新建一个context.xml文件,内容如下:
<Context path="/SSI" docBase="SSI" debug="0" privileged="true" verbosity="0">
<Resource name="SSI" auth="Container" type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/pm"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
removeAbandoned="true"
logAbandoned="true"
/>
</Context>
注意:在项目里新建了这个文件,但是有时候在D:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\SSI\META-INF 目录里还没有这个文件也是不行的,必须保证其有这个文件存在。
之后还需要做的就是配置Spring,加入如下内容:
<!-- JNDI方式配置数据源 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" >
<property name="jndiName">
<value>java:comp/env/SSI</value>
</property>
</bean>
这样就配置完成了,并不需要更改web.xml这个文件,网上说的应该是在低版本的tomcat上才需要配吧,6.0以上都是可以的。
如果有什么说得不对的,请大侠们指点指点。