将弹簧控制器与域匹配

时间:2012-10-11 17:56:53

标签: spring servlets spring-mvc

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

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

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

并将自己的应用程序部署为root应用程序。

所以问题是现在,当我尝试通过example.com访问域时,它不起作用,我得到404未找到错误。只有当我使用以下网址时:example.com/ ... tara ...它按预期工作。

我知道这是一个非常基本的问题,但因为我不知道我要搜索什么。我找不到任何解决这个问题的方法。

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

3 个答案:

答案 0 :(得分:0)

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

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

将开始阅读此文档:

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

如果您要为您的网络应用设置虚拟主机。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

感谢您的回答。我知道这个问题有点陈旧,但对于那些遇到同样问题的人来说。

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

如果您添加此xml标记或覆盖其配置的java配置方法,您的网络应用可以响应'/'网址:)