2017-03-11 25 views
1

的基礎上,通過使用HttpServlet的request.getServerName(),我得到我當前的服務器。有什麼方法可以更改該服務器/主機。我的春天視圖是一個jsp文件。 比方說我的域名是如何更改HttpServlet的服務器/主機的狀態

www.mydomain.com 

,我的春天的觀點是一些JSP文件。 現在,當我回使用ModeAndView這樣的視圖文件名:

return new ModelAndView("somefile.jsp",responseJSON); 

使用我somefile.jsp觀點即

www.mydomain.com/some_results 

,它打開同一個域/服務器所產生的看法,但我想改變服務器/主機根據一些條件。如果像某些條件滿足,我希望它在一些其他域/服務器使用相同的somefile.jsp視圖中打開即

www.someOtherDomain.com/some_results 

基本上我想要的是改變服務器不進行重新定向。有沒有什麼出路或更改服務器的方法。我對網絡新手很感興趣。

+1

你是什麼意思「改變服務器沒有重定向」?顯示的域由瀏覽器所要求的內容決定。如果瀏覽器要求某個域名,則您的響應可以在該域名中給它一個頁面,或者讓它看到另一個域名(重定向)。如果該響應不是重定向語句,則該響應不包含域名。 – RealSkeptic

回答

0

我想說,我認爲你正在努力實現通常是這樣做的方式開始:Tomcat and multiple domains/applications。該方法將在一臺應用程序服務器上運行兩個應用程序。應用程序服務器(例如Tomcat)會將請求路由到適當的應用程序。

不過話雖如此,我相信你正在試圖問的是如何與一個單一的應用程序的單個服務器響應兩個領域,具有一定的資源應對被動態調整。如果這確實是你想要做的事情,那你就是一個正確的開始;您現在只需添加一些邏輯即可使用您從請求中知道的內容切換髮送哪個響應。

public String whereAmI(ServletRequest request) { 

    String response; 
    String theServer = request.getServerName(); 

    if (theServer.equalsIgnoreCase("localhost")) { 
     response = "You are on your dev system"; 
    } else { 
     response = "You are not on the dev system."; 
    } 

    return response; 
} 

注意:在JDK 7+中,如果需要,還可以使用switch statement with String

相關問題