国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

詳解tomcat設置默認路徑致使項目url沖突解決方法

2024-09-01 13:56:28
字體:
來源:轉載
供稿:網友

前言

tomcat作為java容器非常出色,但是依然會有一些避之不及的小坑,在此記錄一筆.

START

問題

  • 部署多個項目后url路徑沖突

情景描述

1.webapps下有兩個項目 projectA,projectB.兩個項目除開管理信息接口,其余都有安全驗證機制.

2.projectA由于未做前后端分離,因此靜態資源也存在java項目中.在做靜態資源中的接口請求時未寫包名,比如登錄,js代碼會拼接服務器ip+端口+當前設置的url(/login),而未在/login前加上/projectA,所以在本機上測試沒有問題,只有當部署的時候才會存在這樣的問題.這也是個問題,下面解決.

3.projectB是運行正常的項目

對于情景2解決辦法

打開tomcat中的配置文件,在<Host>標簽里添加上<Context>設置為服務器的默認訪問路勁,如此便避開了包名,但此方法極不正規,不推薦使用.

<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 "%r" %s %b" />    <Context path="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/>  </Host>

代碼解釋

<Context path="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/>
  • path和doBase一起表示指定包路徑,為了簡便可以直接卸載docBase中.
  • 重啟tomcat,測試直接ip+port能訪問到該包中的資源,然而當訪問其它包中資源時,會出現url歧義.本來是想訪問projectB,然而映射到projectA項目下.只是部分url會出現這樣的問題.

然后我們的解決方法是再裝一個tomcat,只部署需要直接路徑映射的項目

如此便回到tomcat所在目錄,cp命令拷貝

$> cp -r tomcat8.5/ tomcat8.6/

然后移動tomcat8.5中的projectA到tomcat8.6中.

刪除tomcat8.5中的

<Context path="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/>

在tomcat8.6中需要對service.xml做如下改動.

改動 shutdown對應的port為8006,只要與tomcat8.5不同且端口不沖突就行.

<Server port="8006" shutdown="SHUTDOWN">

改動 請求對應的端口,原則同上

<Connector port="8081" protocol="HTTP/1.1"        connectionTimeout="20000"        redirectPort="8443" />

<Host>標簽中的內容復制過來的,需要修改成對應的映射路徑.

如此兩個tomcat才能同時運行,啟動與關閉互不影響.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 城固县| 怀安县| 方山县| 宁陵县| 犍为县| 德保县| 鹤庆县| 昭平县| 乌恰县| 富宁县| 嘉兴市| 泽库县| 徐汇区| 星子县| 合作市| 民和| 时尚| 阿勒泰市| 乌恰县| 恩平市| 临沧市| 黄陵县| 旬邑县| 永州市| 分宜县| 诸暨市| 神农架林区| 彭州市| 宽城| 潞城市| 宣化县| 长白| 松滋市| 织金县| 陇川县| 梅河口市| 政和县| 迭部县| 泽普县| 山丹县| 宣恩县|