3 回答
TA贡献2011条经验 获得超2个赞
您应该为 Web 应用程序创建 a.war
而不是 a .jar
,您将看到该WEB-INF
文件夹。
也变
spring.mvc.view.prefix=/WEB-INF/
到 spring.mvc.view.prefix=/WEB-INF/templates
和
ModelAndView("templates/test-block")
来ModelAndView("test-block")
解决 404 错误。
TA贡献1757条经验 获得超7个赞
值得注意的是:
默认情况下,Spring Boot 提供来自类路径或 ServletContext 根目录中名为 /static(或 /public 或 /resources 或 /META-INF/resources)的目录中的静态内容。它使用 Spring MVC 中的 ResourceHttpRequestHandler,因此您可以通过添加自己的 WebMvcConfigurer 并覆盖 addResourceHandlers 方法来修改该行为。
...
您还可以使用 spring.resources.static-locations 属性(用目录位置列表替换默认值)自定义静态资源位置。
...
如果您的应用程序打包为 jar,请不要使用 src/main/webapp 目录。虽然这个目录是一个通用的标准,但它只适用于war包,如果你生成一个jar,它会被大多数构建工具默默地忽略。
所以,你看到的是预期的行为。您可以将模板移动到预期位置之一、自定义默认位置或使用战争打包。
TA贡献1886条经验 获得超2个赞
Spring Boot 会查找网页的资源文件夹。Webapp 文件夹不在 spring boot 应用程序的类路径中。您需要使用 maven 插件将您的 webapp 文件夹复制到 jar/war 文件中。它在 IDE 中工作,因为它确切知道在哪里可以找到网页。
添加回答
举报