Java 如何根据条件更改HttpServlet的服务器/主机
通过使用HttpServlet request.getServerName(),我获得了当前服务器。是否有任何方法可以更改该服务器/主机。我的spring视图是一个jsp文件。 假设我的域名是Java 如何根据条件更改HttpServlet的服务器/主机,java,spring,http,Java,Spring,Http,通过使用HttpServlet request.getServerName(),我获得了当前服务器。是否有任何方法可以更改该服务器/主机。我的spring视图是一个jsp文件。 假设我的域名是 www.mydomain.com 我的spring视图是一些jsp文件。 现在,当我使用ModeAndView返回视图文件名时,如下所示: return new ModelAndView("somefile.jsp",responseJSON); 它使用我的somefile.jsp视图(即 www.m
www.mydomain.com
我的spring视图是一些jsp文件。
现在,当我使用ModeAndView返回视图文件名时,如下所示:
return new ModelAndView("somefile.jsp",responseJSON);
它使用我的somefile.jsp视图(即
www.mydomain.com/some_results
但是我想根据某些条件更改服务器/主机。就像某些条件满足一样,我希望它在其他域/服务器中使用相同的somefile.jsp视图打开,即
www.someOtherDomain.com/some_results
基本上我想要的是在不重定向的情况下更改服务器。是否有办法或某种方法来更改服务器。我对网络方面的东西很陌生。我想首先说,我认为你想要达到的目标通常是这样做的:。这种方法将在一台应用服务器上运行两个应用程序。应用服务器(例如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+中,如果需要的话,您也可以使用。首先,我想说,我认为您试图实现的目标通常是这样做的:。这种方法将在一台应用服务器上运行两个应用程序。应用服务器(例如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+中,如果需要,您也可以使用。什么是“更改服务器而不重定向”?显示的域由浏览器要求的内容决定。如果浏览器请求某个域,您的响应可以在该域中给它一个页面,或者告诉它在另一个域中查找(重定向)。如果不是重定向语句,则响应不包含域名。您说的“不重定向更改服务器”是什么意思?显示的域由浏览器要求的内容决定。如果浏览器请求某个域,您的响应可以在该域中给它一个页面,或者告诉它在另一个域中查找(重定向)。如果不是重定向语句,则响应不包含域名。