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又是什么样子的呢.....

[color=red][b] 首先:把mysql的驱动包加到Tomcat的lib文件夹下[/b][/color]


一、配置全局的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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息安全与项目管理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值