2016-11-05 61 views
0

我們創建了2個應用程序:1個應用程序用於爲PC大小的屏幕用戶提供服務,另一個用於移動用戶。這兩個項目將託管在ROOT文件夾內的不同Tomcat實例上。根據與Tomcat具有相同URL的平臺更改WAR文件

如果我們有兩個應用程序不同的網址(例如,用於桌面我們www.xyz.com移動m.xyz.com),那麼它的作品對我們非常好。

但我們不希望兩個域都有不同的域。相反,我們希望相同的網址適用於這兩個網站。所以根據平臺,具體的應用程序改變但url是一樣的。

與Tomcat 1上的ROOT.war和Tomcat 2上的一樣,它們在相同的url abc.com上運行。因此,對移動和桌面應用程序使用相同的URL,但實際應用程序是根據用戶是否是移動設備來選擇的。

我該如何做到這一點?

+1

符合[響應式設計](https://en.wikipedia.org/wiki/Responsive_web_design)。 –

+0

我嘗試編輯你的任務,但很難,請自行編輯你的問題! –

+0

我們有兩個不同的戰爭檔案,它不是關於響應能力。 – Vartika

回答

0

要做到這一點,您需要在兩個應用程序前面有一個反向代理。使用httpd和Tomcat很容易。這裏是你可以做的一種方式:

  1. 配置httpd使用mod_jk代理到Tomcat的(一般)。
  2. 爲每個應用程序(desktopmobile)配置mod_jk與工作人員。
  3. 配置httpdmod_setenvif根據一些標準(例如用戶代理)選擇工人。如果你想要更復雜的配置,你可以使用mod_rewrite

    JkWorkerIndicator JK_WORKER_NAME ## Note this is the default

    SetEnv JK_WORKER_NAME=desktop-worker ## Your default site

    BrowserMatch "mobile" JK_WORKER_NAME=mobile-worker

    SetHandler jakarta-servlet ## replaces JkMount

這將取決於你的標準來選擇工人的名字(在客戶端在這個User-Agent頭尋找 「移動」例如,

如果這是我的產品,我會嘗試在具有響應式設計的單個應用程序中一起構建它,隱藏不適合空間受限設備的工作流程。