第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Tomcat 定義默認上下文元素?

如何使用 Tomcat 定義默認上下文元素?

素胚勾勒不出你 2023-03-31 17:18:46
我們在 tomcat 9 (apache-tomcat-9.0.22) 上部署了一個應(yīng)用程序。官方文檔 ( https://tomcat.apache.org/tomcat-9.0-doc/config/context.html ) 說可以定義默認上下文元素,但它對我們不起作用。我們需要定義一個數(shù)據(jù)源和一個郵件服務(wù)器。conf/server.xml如果我們在文件中定義此資源,GlobalNamingResources它就可以工作。<GlobalNamingResources>    <Resource name="mail" type="javax.mail.Session"... />    <Resource name="jdbc/mydb" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"... /></GlobalNamingResources>但是在生產(chǎn)中,我們不能修改server.xml文件。所以我們需要在另一個文件中定義這個資源。如果我們$CATALINA_BASE/conf/[enginename]/[hostname]/ROOT.xml使用名為 ROOT.war 的 war 在文件中定義資源,它會起作用:<?xml version="1.0" encoding="UTF-8"?><!-- Context configuration file for my web application --><Context>    <Resource name="mail" type="javax.mail.Session"... />    <Resource name="jdbc/mydb" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"... /></Context>這個解決方案可能令人滿意,但我們的 war 文件必須具有與 ROOT.war 不同的名稱(如 MyApp_v42.war),并且它會隨著每次更新而改變。我們不能每次更新都重命名xml文件。如果我們在$CATALINA_BASE/conf/context.xml文件中或$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default文件中定義資源,如文檔所述,我們將獲得一個javax.naming.NameNotFoundException.提前致謝!
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

一種解決方案是:

定義資源conf/context.xml:

<?xml version="1.0" encoding="UTF-8"?>

<Context>

    <Resource name="mail" type="javax.mail.Session"... />

    <Resource name="jdbc/mydb" type="javax.sql.DataSource"... />

                               -->

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>

    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>


    <Manager pathname="" />

</Context>

  • 使用 webapps 目錄之外的部署,例如wars/

  • ROOT.xml在 下創(chuàng)建一個 XML 文件,該文件使用相對于 webapps 目錄的路徑conf/Catalina/localhost/定義屬性:docBase

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="../wars/MyApp.war"></Context>

這樣 :

  • 文件conf/server.xml未修改

  • war 文件的名稱不是必需的ROOT.xml

  • 資源定義在conf/context.xml

但 :

  • conf/Catalina/localhost/每個 .war 中必須有一個文件

  • 戰(zhàn)爭不會自動部署

  • 如果更改根 war 文件的名稱,則必須修改文件docBase中的屬性conf/Catalina/localhost/ROOT.xml


查看完整回答
反對 回復(fù) 2023-03-31
  • 1 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號