Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring MVC->;取决于URL显示欢迎页面_Spring_Spring Mvc_Viewcontroller - Fatal编程技术网

Spring MVC->;取决于URL显示欢迎页面

Spring MVC->;取决于URL显示欢迎页面,spring,spring-mvc,viewcontroller,Spring,Spring Mvc,Viewcontroller,我有一个SpringMVC应用程序(版本3.0.5.RELEASE),我的MVC config.xml: <mvc:view-controller path="/" view-name="welcome"/> 因此对“/”的请求被转发到欢迎视图welcome.jsp 这意味着在我的例子中,调用URLhttp://myproject-test.mydomain.com/将转发到welcome.jsp。没关系,但我得延长时间。除了URLhttp://myproject-test.m

我有一个SpringMVC应用程序(版本3.0.5.RELEASE),我的
MVC config.xml

<mvc:view-controller path="/" view-name="welcome"/>

因此对“/”的请求被转发到欢迎视图
welcome.jsp

这意味着在我的例子中,调用URL
http://myproject-test.mydomain.com/
将转发到
welcome.jsp
。没关系,但我得延长时间。除了URL
http://myproject-test.mydomain.com/
,我有URL
http://myproject-anothertest.mydomain.com/
。有了这个URL,整个应用程序应该是相同的,除了欢迎页面

呼叫
http://myproject-anothertest.mydomain.com/
,我希望使用
欢迎测试.jsp
页面,而不是
欢迎.jsp

那么,我该怎么做呢?我必须知道用户从哪个subomain(myproject test或myproject anothertest)调用站点,然后向他显示welcome.jsp或welcome-test.jsp

有人知道如何做到这一点吗

提前感谢您并向您致意,蒂姆。

标签
映射到

您可以从其父级继承自己的控制器类,并使用方法
handleRequestInternal
中的
request
参数推断用于访问页面的主机名,然后使用适当的视图

HTTP请求头
Host
包含(如果使用HTTP/1.1)用于访问页面的“虚拟”服务器名称。较旧的HTTP/1.0协议没有主机头,一些代理将流量映射到HTTP/1.0,在这种情况下,您将无法区分使用不同名称的流量


在JSP中,可以使用
访问主机头值。请参阅文档。

是否有默认方法来执行此操作?或者我可以在welcome.jsp页面中切换这个,这样我就不会更改整个页面,只更改jsp中值的差异了吗?在您的jsp中,您可以使用