如何根据条件更改HttpServlet的服务器/主机

时间:2017-03-11 11:51:43

标签: java spring http

通过使用HttpServlet request.getServerName(),我得到了我当前的服务器。有没有办法改变该服务器/主机。我的春天视图是一个jsp文件。 让我们说我的域名是

www.mydomain.com

我的spring视图是一些jsp文件。 现在,当我使用ModeAndView返回视图文件名时,如下所示:

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

它使用myfile.jsp视图在同一域/服务器中打开结果视图,即

www.mydomain.com/some_results

但我想根据某些条件更改服务器/主机。就像某些条件满足一样,我希望使用相同的somefile.jsp视图在其他域/服务器中打开它,即

www.someOtherDomain.com/some_results

基本上我想要的是在没有重定向的情况下更改服务器。是否有任何出路或某种方法来更改服务器。我非常喜欢网络的东西。

1 个答案:

答案 0 :(得分: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