0

我不知道如何用更好的方式来描述它,就像标题一样,因为我真的不知道我真正在寻找什么。

我有我的 spring 应用程序,主 Servlet 与根目录匹配。这是使用的 servlet 映射:

<servlet-mapping>
    <servlet-name>shop</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

并且它自己的应用程序被部署为根应用程序。

所以现在的问题是,当我尝试通过 example.com 访问域时,它不起作用,并且出现 404 not found 错误。只有当我使用以下网址时:example.com/ ... tara ... 它才能按预期工作。

我知道这是一个非常基本的问题,但因为我不知道我必须搜索什么。我找不到任何东西来解决这个问题。

感谢您提供任何解决此问题的解决方案。:)

4

3 回答 3

0

不要将应用程序上下文根与 URL 根混淆。请记住,Java Web 容器与 HTTP 服务器不同。

如果您使用诸如 Tomcat 之类的容器来部署应用程序并希望应用程序绑定到根 URL,那么您将不得不使用诸如 Apache HTTP 之类的 http 服务器来设置虚拟主机。

将开始阅读此文档:

http://httpd.apache.org/docs/2.2/mod/core.html

如果您想为您的 Web 应用程序设置虚拟主机。

于 2012-10-11T19:06:31.023 回答
0

谢谢你的回答。我知道这个问题有点老了,但对于所有遇到同样问题的人来说。

在这里您可以找到 xml 和 java 配置的解决方案:http: //static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-default-servlet-handler

如果您添加此 xml 标记或覆盖它工作的 java config 方法,您的 Web 应用程序可以响应 '/' url :)

于 2013-01-29T11:57:37.533 回答
0

/ 是一个特殊的 url 匹配模式,意思是“默认”servlet。如果您希望您的 servlet 服务于所有请求,请使用 /*. 当没有找到其他匹配项来提供静态内容和列表文件夹时,将调用默认 servlet,这可能不是您想要的。不确定,但默认 servlet 可能需要前导斜杠。

于 2012-10-11T20:43:38.647 回答