亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 關于tomcat 多個配置多個host加載多次,導致initSerlet加載多次

關于tomcat 多個配置多個host加載多次,導致initSerlet加載多次

發布時間:2020-06-23 07:22:51 來源:網絡 閱讀:2537 作者:仰望_星空_ 欄目:開發技術

之前公司申請了五個域名,因為前期只有一個項目,所以老板要求多個域名對應到一個項目上,于是,我就在tomcat的web.xml上配置了多個host如下:

<Host name="www.XXX.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/XXXWebsite" debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.XXX1.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/XXXWebsite" debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.XXXX.cn" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/XXXWebsite" debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="www.XXXX.net" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/XXXWebsite" debug="0" reloadable="true" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

這樣寫了。

然后大概過了幾個月,公司業務的增長,項目也多了,后來其中有個項目就是關于微信開發的,需要從微信端拿accessToken,項目的web.xml 配置了一個init的servlet,本來每次init一次,從微信端拿得accessToken,是正常的,但是部署到服務器之后,一直有問題,后來研究了很久,在 項目中也寫了很多log,到后面,才發現,是因為init這個servler 被執行了很多次導致的。沒執行一次拿到一個accessToken,然后之前訪問拿到的accessToken,跟最后一次項目的accessToken不匹配,導致了問題出現。

后來才知道,是因為前面配了5個host才導致這樣的問題的,因為當時對tomcat的web.xml配置不是很熟悉,后來網上搜了一堆,很巧合的發現了篇博客寫的,其實多個域名對應一個項目的話,可以使用web.xml 里面的一個標簽,<Alias>www.XXX.com</Alias>
標簽。

于是上面的配置就變成如下:

<Host
name="www.XXX.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

<Context path="" docBase="/XXXWebsite"
debug="0" reloadable="true" />

<Alias>www.XXX1.com</Alias>

<Alias>www.XXXX.cn</Alias>

<Alias>www.XXXX.net</Alias>

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="localhost_access_log."
suffix=".txt"

          pattern="%h

%l %u %t "%r" %s %b" />

  </Host>

并且將引擎的<Engine></Engine> defaultHost="www.XXX.com">, 因為一個Engine 必須有一個host 跟 它的名字一樣,

這樣配置完之后,我們再去看log,此時只init方法只執行了一次。成功解決了問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜南县| 义乌市| 新竹县| 温州市| 财经| 黄冈市| 汪清县| 师宗县| 金寨县| 防城港市| 井陉县| 蕉岭县| 碌曲县| 密云县| 永春县| 衡阳县| 乐至县| 灵台县| 吴堡县| 开阳县| 镇原县| 遂宁市| 耒阳市| 玉环县| 磴口县| 晋州市| 哈密市| 佛山市| 安顺市| 婺源县| 玛纳斯县| 廉江市| 太湖县| 阿瓦提县| 德庆县| 义马市| 巍山| 长岛县| 高阳县| 淅川县| 弥渡县|