好吧,这越来越荒谬了。
几天前我基本上问了这个问题,但无济于事。我已经尝试了来自各种网页的各种建议,但没有一个能让我到达我想去的地方。我一直在阅读令人讨厌的 Spring 文档,它让复杂的事情变得简单,让简单的事情变得复杂。
现在我学到了更多,也许我可以再一次表达自己的机会,希望更清楚。
我想要以下内容:一个使用 DispatcherServlet 的 Spring MVC 4.0 Web(不是 SpringBoot)应用程序,只要在浏览器中输入 基本 URL http://myserver.mycompany.com:8080/myapp ,它也会显示默认的 index.html 页面。
要求不必键入http://myserver.mycompany.com:8080/myapp/index.html即可访问此页面。
DispatcherServlet 会将诸如http://myserver.mycompany.com:8080/myapp/dothis和 http://myserver.mycompany.com:8080/myapp/do/that之类的 URL 映射 到适当配置的控制器。
我知道这个问题已经在网上被问了一遍又一遍,答案都在 Spring 的细节中丢失了,而且在我的情况下似乎都没有。
换句话说,我想要非 Spring webapp 中的欢迎页面功能和同一个应用程序中的 Spring-MVC 调度程序功能。它不必在 web.xml 中配置。只要它像上面那样工作。
哦,最好我想要使用 Spring Annotations 的解决方案。
简单的问题。我希望有人能给我一个简单的答案。
更新:对以下问题的回答: @JB_Nizet:您的建议,只需使用 spring 文档中推荐的代码并在 web.xml 中定义欢迎页面是我一直在尝试的,但它不起作用。这是有道理的。Spring 文档方法允许从 / 提供静态 html 文档。但它仍然会阻止从根 url 显示欢迎页面。您可以通过在 url 中提供 index.html 来访问它,但不会发生从 / 到 /index.html 的映射。
@Aeseir:是的,我也更喜欢 Java Config 方法,我在上面将其称为“Spring Annotations”。
@rhinds:我会用我自己的一个回答你的“愚蠢的问题”:我尝试了不同的方法来添加一个“只映射到“/”的控制器,但我不明白这个控制器必须做什么。如何编写一个只为 index.html 提供服务的控制器?