【发布时间】:2018-02-24 13:00:54
【问题描述】:
我一直在尝试使用 Maven 在 IntelliJ Idea 中从头开始设置 Spring MVC 应用程序。我知道可能有一些不错的 Archetypes 可以为你做到这一点,但我真的很想了解发生了什么。这是我想做的:
使用嵌入式 Tomcat(使用 Maven 插件)创建一个简单的 Web 应用程序,在 https://localhost:8080/ 下显示“Hello World”。因此,一个控制器、一个请求映射和一个模板。我已经能够启动 spring 应用程序(Spring 徽标出现在控制台中)并且 Tomcat 似乎也可以运行(站点响应)。问题是,我无法将请求映射到我的 Controller 中的 RequestMap 方法。我很确定控制器不是问题,但这是一些配置/设置问题。
事情是这样的:我已经看了好几个小时的教程、*、Spring 文档等,但我还没有找到真正解释如何配置 Spring MVC Maven 项目的资源。每个人似乎对您需要哪些 XML 文件、它们应该命名什么以及它们应该放在哪里都有不同的看法。共识似乎是您需要一个名为 WEB-INF 的文件夹中的 web.xml 文件,但即使在那里,每个人对该文件夹应该放在哪里都有不同的看法。我很欣赏有多种不同的方法可以做到这一点,并且没有“正确”的方法,但根据我的经验,肯定有很多“错误”的方法 =)。
我现在的问题不一定是如何让我当前的项目运行(我不介意重新开始),而是那里有哪些类型的配置文件(web、spring、app-config、servlet……) ,他们做什么,你需要哪些,他们需要去哪里,他们应该被命名,他们如何连接等等。有些人还使用 Maven 编译器插件,而其他人则没有,没有人说为什么:D。本质上:我如何让 Spring 知道在哪里可以找到控制器、模板等,以及如何在嵌入式 Tomcat 上运行和部署所有这些。我想找到一个以统一的方式解释 Spring MVC 的整个核心生态系统的来源。我找到了许多提供“操作方法”教程的资源,但几乎没有解释(例如“将以下 servlet.xml 文件添加到您的 WEB-INF 文件夹”)。因此,如果您的设置与本教程略有不同(例如,因为您使用 IntelliJ 而不是 Eclipse,使用 Tomcat 而不是 Jetty,嵌入式 Tomcat,文件夹结构略有不同),则没有任何效果,最重要的是,您不知道为什么。
有没有人通过比复制/粘贴或反复试验更好的方法来学习这些设置基础知识? :D
【问题讨论】:
标签: spring maven tomcat configuration theory