初学者Spring:如何处理URL

初学者Spring:如何处理URL,spring,Spring,因此,基本上我制作了一个具有以下url的Web应用程序www.foo.com/foo(在本地部署时,我的应用程序具有以下urllocalhost:8080/foo/)。但是,我想用www.foo.com来代替。我该怎么做呢?谢谢我有一个apache2 web服务器和tomcat 7。这与Spring、Apache或tomcat无关。这一切都是关于操作系统中较低级别的东西。通过修改主机文件中的localhost行,可以强制www.foo.com解析到本地计算机,使其看起来像: 127.0.0.1

因此,基本上我制作了一个具有以下url的Web应用程序
www.foo.com/foo
(在本地部署时,我的应用程序具有以下url
localhost:8080/foo/
)。但是,我想用
www.foo.com
来代替。我该怎么做呢?谢谢我有一个apache2 web服务器和tomcat 7。

这与Spring、Apache或tomcat无关。这一切都是关于操作系统中较低级别的东西。通过修改主机文件中的localhost行,可以强制www.foo.com解析到本地计算机,使其看起来像:

127.0.0.1 localhost www.foo.com
在Linux上,这在
/etc/hosts
中。在Windows上,您可以在
C:\Windows\System32\drivers\etc\hosts
中找到它(感谢@JBNizet提供此功能)。请注意,如果您这样做,您将无法再访问真正的www.foo.com,因为它将始终解析到您的本地计算机

如果您尝试这样做是因为您的应用程序内部引用了“www.foo.com”,并且需要正确解析才能正常工作,那么您尝试以错误的方式解决该问题。您应该将这些值提取到某种外部配置中,以便可以根据应用程序运行的环境对其进行适当设置

更新:如果这只是关于部署到tomcat的根上下文,那么这已经被回答了好几次,如中所示

或与

<VirtualHost X.X.X.X:80>
   ServerName tomcatpage.yourdomain.com
   ServerAlias tomcatpage.yourdomain.com
   Redirect permanent / http://tomcatpage.yourdomain.com:8080/
</VirtualHost>

ServerName tomcatpage.yourdomain.com
ServerAlias tomcatpage.yourdomain.com
重定向永久/http://tomcatpage.yourdomain.com:8080/

了解更多信息。

为什么?如果您将www.foo.com分配给localhost,您将无法再访问真正的www.foo.com。如果你的应用程序代码依赖于此URL,则说明你做错了。我确实尝试过。但是,如果我登录到我的webapp,它将转到,而不是。谢谢ryan。我想我要做的是部署我的应用程序,但我想使用www.foo.com访问它。现在,我必须使用www.foo.com/myapp来访问它。我看了一下mod_proxy,这很有效,但是当我的应用重定向到profile页面时,它会再次将foo附加到url。e、 例如,www.foo.com/foo/profile,而不是www.foo.com/profileUpdated。这就是你要找的吗?
<VirtualHost X.X.X.X:80>
   ServerName tomcatpage.yourdomain.com
   ServerAlias tomcatpage.yourdomain.com
   Redirect permanent / http://tomcatpage.yourdomain.com:8080/
</VirtualHost>