07.十分钟学会tomcat数据源
一、數(shù)據(jù)源的作用及操作原理
1,? 首先先看下傳統(tǒng)JDBC的操作
在tomcat中使用數(shù)據(jù)庫連接池操作數(shù)據(jù)庫
2,JNDI屬于命名及目錄查找接口,在javaee的javax.naming包中
這套API的主要作用在于:它可以把Java對象放在一個(gè)容器中(JNDI容器),并為容器中的java對象取一個(gè)名稱,以后程序想獲得Java對象,只需通過名稱檢索即可。其核心API為Context,它代表JNDI容器,其lookup方法為檢索容器中對應(yīng)名稱的對象。
Tomcat服務(wù)器創(chuàng)建的數(shù)據(jù)源會自動綁定到JNDI資源中,應(yīng)用程序想要使用數(shù)據(jù)源時(shí),直接通過JNDI的lookup方法檢索數(shù)據(jù)源名稱即可得到。
3,配置tomcat數(shù)據(jù)源
在項(xiàng)目META-INF/server.xml中配置服務(wù)器數(shù)據(jù)源
這樣,服務(wù)器在啟動時(shí),會自動幫我們創(chuàng)建一個(gè)數(shù)據(jù)庫連接池
?
如果想在項(xiàng)目中使用數(shù)據(jù)源,還需要配置項(xiàng)目的WEB-INFO/web.xml文件
?
java:comp/env/ ? 前面是固定的 ??
java:comp/env是標(biāo)準(zhǔn)的J2EE環(huán)境查找規(guī)則 ??
comp是company的縮寫
env是environment的縮寫
使用這種方式必須做一次環(huán)境名到JNDI名的映射?(<res-ref-name>)
這種隔離使得在寫程序時(shí)不必關(guān)注真正的JNDI名字?
其實(shí)說白了跟把JNDI名放到配置文件里是一樣的?
?
查找數(shù)據(jù)源
?
查找到數(shù)據(jù)源并從連接池中取得連接
?
conn.close()表示將當(dāng)前連接放回連接池中,等待重復(fù)使用或空間超時(shí)后被釋放
結(jié)果
?
?
拓展
服務(wù)器會為我們的應(yīng)用程序創(chuàng)建很多資源,比如request對象,response對象,服務(wù)器創(chuàng)建的這些資源有兩種方式提供給我們的應(yīng)用程序使用:第一 種是通過方法參數(shù)的形式傳遞進(jìn)來,比如我們在Servlet中寫的doPost和doGet方法中使用到的request對象和response對象就是 服務(wù)器以參數(shù)的形式傳遞給我們的。第二種就是JNDI的方式,服務(wù)器把創(chuàng)建好的資源綁定到JNDI容器中去,應(yīng)用程序想要使用資源時(shí),就直接從JNDI容器中獲取相應(yīng)的資源即可。
轉(zhuǎn)載于:https://www.cnblogs.com/chenxd/p/7816049.html
總結(jié)
以上是生活随笔為你收集整理的07.十分钟学会tomcat数据源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS中UITextField的字数限制
- 下一篇: j2ee之页面无刷新上传附件