日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于Jboss/Tomcat/Jetty的JNDI定义123

發布時間:2025/3/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Jboss/Tomcat/Jetty的JNDI定义123 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????? 貌似有段時間沒來這里忽悠了,今天抽空接著忽悠下這三個服務器配置JNDI時的一些異同點并提點自己的建議。

  • Jboss 4

????? Jboss中配置JNDI最常見的就是在配置數據源的時候,在server/default/deploy目錄下方一個xxx-ds.xml文件,內容如下:

<?xml version="1.0" encoding="UTF-8"?> <datasources>   <local-tx-datasource>       <jndi-name>jdbc/DataSource</jndi-name>       <connection-url>jdbc:jtds:sqlserver://localhost:1433/fnx</connection-url>       <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>       <user-name>sa</user-name>       <password>1234</password>      <metadata>      <type-mapping>MS SQLSERVER2000</type-mapping>      </metadata>      </local-tx-datasource> </datasources> ?

這樣我們啟動服務器后,在web應用中就可以通過如下代碼就可以直接訪問到數據源:

Context ctx = new InitialContext(); Object o=ctx.lookup("java:jdbc/DataSource");

然而這里的java:jdbc/DataSource是一個全局資源名稱,Jboss自動將資源加入全局資源,我們經常在應用中看到的java:comp/env/jdbc/DataSource 又是怎么回事?這其實是應用

的私有環境引用名,如果要使用這個引用名稱,需要做兩件事情(必須做),1、在應用的WEB-INF目錄下創建jboss-web.xml,并設置全局到局部引用名得映射

<jboss-web> <resource-ref> <res-ref-name>jdbc/DataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/jdbc/DataSource</jndi-name> </resource-ref> <context-root>/</context-root> </jboss-web>

2、在web.xml中設置

<web-app> <display-name>Archetype Created Web Application</display-name> <resource-ref> <description>dataSource</description> <res-ref-name>jdbc/DataSource</res-ref-name> <res-type>javax.sql.DataSource </res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>

這樣就可以在web應用中使用 java:comp/env/jdbc/DataSource 私有名了。

  • Tomcat 6

?tomcat中配置JNDI有三個地方:

?1、在服務器的Server元素下配置全局的JNDI<GlobalNamingResources>

?2、在host元素的<DefaultContext>中配置,配置后對該host下所有的context應用都有效

?3、在context元素下配置,這里配置的只對該應用有效。

?

需要注意的是,第一種方式配置的全局JNDI,需要在context中使用<ResourceLink>元素轉換成局部名才可以使用,功能跟jboss-web.xml中的轉換類似。另外,tomcat 中配置的資源不需要在web.xml中進行聲明,也可以通過java:comp/env形式進行訪問,這一點跟Jboss/jetty有區別。

? 上面三個地方可以配置的資源元素是Resource/Environment,ResourceParams是配合Resource使用,而ResourceLink是為了連接轉換全局資源。

舉個簡單例子,在context元素下的配置:(其他的各位自己去看元素如何使用)

<Resource name="mybase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />

這樣就可以直接在web中使用 java:comp/env/mybase 來查詢到資源了。不過還是建議在web.xml中聲明一下。

  • Jetty 7

Jetty的JNDI配置也分3個范圍

?1、基于JVM全局的,也就是同一個JVM下不同的Server都可以訪問

?2、基于Server的,只能在該server下可以訪問

?3、基于應用context上下文的,只能在該context下能夠訪問

配置方式見我上面一篇《JNDI和在JETTY中的運用》

不過這里要注意的是,采用java:comp/env方式訪問時,一定要在web.xml中聲明資源(除了配置的EnvEntry元素除外,他自動會加入到私有資源),否則你是拿不到資源的。

?

?

  • 總結

可以看到,每個服務器都有他自己的JNDI配置方式和全局訪問方式,如果我們直接采用全局訪問方式,第一對于一些只對某些應用有關的資源配置可能訪問不到,例如JETTY,第二每個

應用服務器的全局訪問方式可能不太一致。因此一般建議在應用程序中采用私有方式(java:comp/env)訪問資源,并且無論如何都在web.xml中進行申明。這是一個良好的習慣。

?

?

? 另外:說到私有環境ENC(java:comp/env),他是如何變成私有的?其實私有是對每個應用上下文來說的,一般每個應用上下文都會用自己的classloader來加載應用,因此利用classloader便可以完成。具體方式是: 用每個應用自己的上下文 cloassloader 來初始化一個 JNDI context . 并以 classoader key 保存起來,以后應用檢索時需要使用的應用自己上下文的 classloader來查找這個JNDI 資源即可 ,由于其他應用使用不同的classloader實例,也就不能相互共享了,這就是每個應用私有了。另外如果資源命名時采用: java:resourceName, 或者 prefix:resourceName 的方式,雖然我們可以通過 java:resourceName, 或者 prefix:resourceName 的方式直接訪問,但也注定了這不是私有資源,所有應用都可以訪問,需要放到 ENC 下才是私有資源。綁定在 ENC 下訪問: java:comp/env/prefix:resourceName

?

?






轉載于:https://www.cnblogs.com/lovingprince/archive/2011/06/30/2166237.html

總結

以上是生活随笔為你收集整理的关于Jboss/Tomcat/Jetty的JNDI定义123的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品久久久久中文字幕二区 | 护士人妻hd中文字幕 | 亚洲午夜在线视频 | 精品97人妻无码中文永久在线 | 尤物网址在线观看 | 人妻av无码一区二区三区 | 最近免费中文字幕中文高清百度 | 亚洲а∨天堂久久精品2021 | 色多多视频污 | 五月婷婷亚洲综合 | 看毛片的网址 | 香蕉国产在线观看 | 亚洲成色在线 | 一级女性全黄久久生活片免费 | 国产乱淫精品一区二区三区毛片 | 国产欧美日韩综合精品一区二区 | 手机在线观看免费av | 人人艹视频 | 恶虐女帝安卓汉化版最新版本 | 草草在线影院 | 国产精品传媒在线观看 | 91亚洲一区 | 天堂在线观看免费视频 | 国产字幕侵犯亲女 | 黄色美女一级片 | 肥婆大荫蒂欧美另类 | 精品人体无码一区二区三区 | 久久久久久伦理 | 成人久久18免费网站图片 | 日韩人妻精品中文字幕 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人免费一区二区三区在线观看 | 亚洲欧美在线观看 | 三年大片在线观看 | 亚洲无套| 操女人的逼逼 | 欧美精品乱人伦久久久久久 | 91香蕉视频官网 | 妖精视频一区二区三区 | 色8久久| 手机看片欧美日韩 | 狠狠精品干练久久久无码中文字幕 | 精品视频一区二区在线观看 | 男女网站在线观看 | 久久久久国产一区二区 | 超级变态重口av番号 | 欧美日韩成人一区二区在线观看 | 韩国精品av | 免费精品在线 | 黄色综合 | 在线观看成人一区 | av电影在线观看 | 深夜小视频在线观看 | 欧美久久影院 | 黄色大片av | 亚洲男女在线 | 国产精品第六页 | 欧美午夜一区二区三区 | h成人在线 | 被各种性器调教到哭vk | 翔田千里一区二区 | 精品国产一区二区三区久久久蜜臀 | 99视频网站 | 亚洲91av| 动漫av一区二区 | 欧美日韩日本国产 | 日本亲与子乱人妻hd | 毛片内射久久久一区 | 婷婷激情视频 | 噼里啪啦国语版在线观看 | 欧美资源网 | 日日爱夜夜操 | 无码精品人妻一区二区三区湄公河 | 国产青草 | 成人亚洲欧美 | 青青草狠狠干 | 亚洲国产精品尤物yw在线观看 | 紧身裙女教师三上悠亚红杏 | 污污的视频网站在线观看 | 亚洲社区一区二区 | 女人免费视频 | 免费在线观看www | 国产91啪| 欧州一区二区三区 | 国产高清久久 | 日韩久久久久久 | 狂野少女电影在线观看国语版免费 | 精品一区二区在线观看 | 青青草原综合久久大伊人精品 | sm在线观看| 美女被揉胸视频 | 在线a | 国产又黄又猛的视频 | 欧美一二区 | 亚洲毛片大全 | 欧美成人综合视频 | 五月婷婷七月丁香 | 欧美性插动态图 | 色妞色视频一区二区三区四区 |