tomcat数据源

数据库

JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。


没有使用JNDI时我用要这样连接数据库:


03.  Class.forName("com.mysql.jdbc.Driver"); 
04.  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ssh"); 
05.  ...... 
Connection conn=null;
try {
  Class.forName("com.mysql.jdbc.Driver");
  conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/ssh");
  ......


传统做法的缺点:

  (1) 链接的数据库名称、用户名、密码、驱动字符串写在源码里,修改时要进行二次编译; 写在配置文件里容易暴露给他人。

  (2) 改用其它产品的数据库时,要在源码上更改驱动名及驱动连接数据库字符串及更换数据库驱动。

  (3) 随着实际使用终端的增加,原配置的连接池参数可能需要调整。


用了JNDI又是什么样子的呢.....

首先:把mysql的驱动包加到Tomcat的lib文件夹下


一、配置全局的JNDI

(1)在tomcat6.0的conf文件夹下的context.xml配置文件中的 "Context" 标签内加入如下代码
<Resource name="jndi/tomcatJNDI"  
            auth="Container"  
            type="javax.sql.DataSource"  
            driverClassName="oracle.jdbc.driver.OracleDriver"  
            url="jdbc:oracle:thin:@10.165.8.65:1521:UTF8"  
            username="spmsadmin"  
            password="spmsadmin"  
            maxActive="20"  
            maxIdle="10"  
            maxWait="10000"/>




分的。暂时不学;

还有spring的2种方式;第一使用properties文件,第二使用tomcat;



<!--配置数据源属性文件   1
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/sql.properties</value>
</property>
</bean>

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${jdbc.driver}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.user}</value>
</property>
<property name="password">
<value>${jdbc.pwd}</value>
</property>
</bean>
-->
<!--配置数据源  2-->
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jndi/tomcatJNDI"/> 
</bean>



你可能感兴趣的:(tomcat)