问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux下怎么配置jndi数据源配置

发布网友 发布时间:2022-04-08 06:32

我来回答

2个回答

懂视网 时间:2022-04-08 10:53

<?xml version=‘1.0‘ encoding=‘utf-8‘?> 
 <Context> 
 <WatchedResource>WEB-INF/web.xml</WatchedResource> 
 <Resource name="jdbc/mysqldb" 
 auth="Container" 
 type="javax.sql.DataSource" 
 driverClassName="com.mysql.jdbc.Driver" 
 url="jdbc:mysql://localhost:3306/test" 
 username="root" 
 password="123456" 
 maxActive="4" 
 maxIdle="2" 
 maxWait="-1" /> 
 <ResourceLink global="mysqldb" name="mysqldb" type="javax.sql.DataSource"/> 
 </Context> 
特别注意,把context.xml复制一份到eclipse项目工程中的WebRoot中的META-INF中。
修改server.xml中的内容
<GlobalNamingResources>

<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
username="root" password="123456"
maxActive="20" maxIdle="10" maxWait="-1" />


第二步,打开应用程序目录 webappsSample里面的WEB-INFweb.xml,在最后</web-app>前添加:
        <resource-ref>
            <description>MS SQL Server</description>
            <res-ref-name>jdbc/mssql</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
      如果没有添加这一步,就会报这样的错误:Name jdbc is not bound in this Context 。
第三步,打开Tomcat安装目录下的confCatalinalocalhost,找到和你的应用程序同名的xml,例如Sample.xml。如果没有,就建一个。Sample.xml里面的内容是:
        <?xml version=‘1.0‘ encoding=‘utf-8‘?>
         <Context displayName="This is a Sample" docBase="Sample" path="/Sample"       workDir="workCatalinalocalhostSample">
         <ResourceLink name="jdbc/mssql" global="jdbc/mssql" type="javax.sql.DataSource"/>
         </Context>
      要注意的是,文件名、docBase、path、workDir都不能错,要和你应用程序名称相对应。
      如果第二步正确了,但是还没有添加这一步,就会报这样的错误:Cannot create JDBC driver of class "for connect URL ‘null‘" 。

jndi连接数据库配置过程总结

标签:

热心网友 时间:2022-04-08 08:01

一 首先要配置Tomcat的server.xml文件,在对应的web应用的<Context>中加入<Resource>元素,比如:
<Context path="/Manager" reloadable="true">
<Resource
name="hello"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
maxIdle="4"
maxActive="4"
maxWait="5000"
url="jdbc:mysql://127.0.0.1/jspdev"
/>
</Context>
其中:
name:指定Resource的JNDI名字
type:指定Resource所属的Java类名
driverClassName:指定连接数据库的JDBC驱动程序
username:指定连接数据库的用户名
password:指定连接数据库的口令
maxIdle:指定数据库连接池中的最大空闲连接数目,0表示不受*
maxActive:指定数据库连接池中的最大活动连接数目,0表示不受*
maxWait:指定连接池中连接处于空闲状态的最长时间,超过会抛出异常,-1表示无限
url:指定连接数据库的URL

二 在Web应用中使用数据源:
javax.naming.Context提供了查找JNDI Resource的接口,可以通过三个步骤来使用数据源对象:
A.获得对数据源的引用:
Context ctx = new InitalContext();
DataSource ds =
(DataSource)ctx.lookup("java:comp/env/hello");
B.获得数据库连接对象:
Connection con = ds.getConnection();

C.返回数据库连接到连接池:
con.close();
在连接池中使用close()方法和在非连接池中使用close()方法的区别是:前者仅仅是把数据库连接对象返回到数据库连接池中,是连接对象又恢复到空闲状态,而非关闭数据库连接,而后者将直接关闭和数据库的连接。

三 如果通过数据源访问数据库,由于数据源由Servlet容器创建并维护,所以必须把JDBC驱动程序拷贝到Tomcat安装目录下的common/lib目录下,确保Servlet容器能够访问驱动程序。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
不想让老婆看到我电脑里的一些东西怎么办? 桥好路由器停电后在来电老是获取lp 勒索病毒加密的文件如何恢复? TPU贴合膜多少钱 华为手机如何将输入法改为简体 肉丝炒金针菇做法 仓储冷链信息怎么申报 什么是药品冷链物流 浙江食品冷链运输多少钱 生物冷链具备什么资质 召 加偏旁组词 召 加偏旁组字再组词 保密协议要盖骑缝章吗 “召”字加偏旁并组词 “召”加上偏旁部首组成新字,再组词。 给“召”字加偏旁可以组成哪些字? 会计离职被签保密协议有法律效力吗? 签保密协议有什么法律效力?有请各位专家指教,谢谢 保密协议只签名不盖章,这样具有法律效力吗 梦见有一棵瓜结了很多小瓜 有两个小瓜长在一起 摘下来是坏了的 私人企业保密协议不签字不盖章有效吗 快递多久不拿会被退回 召带走字底怎么读 保密法的效力包括哪些 个人与个人之间的保密协议效力如何 违法用地主要包括哪些类型 中年女人深夜梦见自家地里的滕上长出好多小瓜什么意思? 什么是违法?它的构成条件有哪些种类? 总股本和流通股本的关系?外国有没有总股本和流通股本? 违反法律的类别 q币怎么给别人用 A股是怎么啦 税务ukey有年费吗 地产股再遇重大利空政策 今日A股如何走 小规模税控盘可以换UK吗?要交服务费吗 在我国,首次公开发行A股股票企业应该具备哪些基本条件? 税务ukey咨询客服需要付费嘛 税务ukey能随便交给他人吗? 税务ukey服务费抵扣如何进行账务处理 增值税发票开票软件税务ukey版怎么进不去- 问一问 爱剪辑如何制电影下方那种黑底白字? 单位让做一个关于十八大的宣传视频,想找几首适合做视频背景音乐的歌曲,知道的帮忙推荐一下 公司新来的女公关,她的黑丝能引诱到客户吗 为什么很多大公司、大机构都规定必须穿肉色丝袜,却不允许穿黑丝呢??不穿又不行 如何配置为weblogic的数据库jndi 香草拿铁需要搅拌吗? 星巴克香草拿铁香草糖浆放多少 星巴克热豆奶香草拿铁的热量是多少? 香草拿铁的做法,香草拿铁怎么做好吃,香草拿铁 iphone7对方打来电话听不到