Spring引导找不到jsp视图

Ing*_*Tom 4 java xml hibernate jetty spring-boot

大家好!我完成了基于Spring的 Web应用程序,然后开始将其重建为Spring启动,因为它使我能够使用嵌入式jetty.目前我遇到了一些问题 - Spring启动无法找到(解析)jsp视图.因此,当我运行我的应用程序时 - 我在浏览器中收到错误:

错误

这是我在github上的web应用程序 - 所以你可以查看文件并找到原因.

请帮帮我!

PS是的我使用了@ResourceImport,因为我不知道如何将现有的spring配置xml文件重写为基于java的配置文件,但是你可以告诉我如何在你的答案中做到这一点.

PPS由于某种原因,目标目录在编译后不包含WEB-INF及其内容文件夹.可能这是原因,但我不知道如何解决它!

目标

Rav*_*iah 8

我从您的代码中检出github并设法部署到嵌入式Tomcat 8.0.3和独立式Tomcat 8.0.x.

我将完成嵌入式步骤Tomcat而不是Jetty(因为我Jetty尚未完全了解配置).

你可以做两件事

  1. 将您的webapps复制到以下位置,而不是s,例如/dvdexchange-spring-boot/src/main/webapp

在此输入图像描述

  1. 稍微修改你的pom.xml,例如下面 在此输入图像描述

  2. 最终结果如下 在此输入图像描述

-

更新:

IngeniousTom,

我无法在嵌入式设备上工作Jetty,这是我努力添加大量Maven Jettyjar库后可以达到的最远点,如下所示

在此输入图像描述

这实际上是一个已知问题,我不知道如何在没有任何hackish方式的情况下解决这个问题.

如果您在github链接中阅读,Spring-Boot和Jetty阵营之间会有很多讨论.

讨论的底线是,嵌入式作为标准Spring-Boot 尚不支持Jsp,Jetty但未来有计划.

我的建议是不要使用Jsp或使用除Jetty嵌入式容器之外的其他容器.


Bri*_*zel 7

Spring Boot不支持可执行JAR中的JSP,这是已知的JSP限制之一.此外,从1.4.0.RC1开始,Spring Boot支持嵌入式Jetty中的JSP,而不是之前.

现在,您可以使用Spring Boot 1.4+并将应用程序打包为可执行WAR来解决此问题.您将能够将您的应用程序部署为常规WAR,运行它java -jar app.war并具有良好的开发经验 - 所有这些都使用标准JSP.

也许您会找到解决这些限制的技巧,但请记住,那些通常依赖于servlet规范不支持的特定于容器的行为.所以充其量,这种行为在容器之间是不一致的 - 容器当然可能随时改变它们的行为.

如果您真的想将应用程序打包为可执行JAR,那么最好的方法是不使用JSP并选择合适的模板引擎.