【发布时间】:2021-10-12 17:21:15
【问题描述】:
我的应用程序首先下载 jsp 文件,而不是在页面上呈现它。我在控制台中收到 200 状态代码,但在页面上收到 404。我环顾四周,发现我应该为 tomcat-jasper 和 tomcat-embed 添加依赖项,但现在收到一个类转换异常,说 jspservlet 不能转换为 javax servlet。任何帮助表示赞赏。谢谢!
获取ApplicationContextException:
Caused by: javax.servlet.ServletException: Class [org.apache.jasper.servlet.JspServlet] is not a Servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1054) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
at org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedContext.load(TomcatEmbeddedContext.java:82) ~[spring-boot-2.5.2.jar:2.5.2]
... 32 common frames omitted
Caused by: java.lang.ClassCastException: org.apache.jasper.servlet.JspServlet cannot be cast to javax.servlet.Servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1049) ~[tomcat-embed-core-9.0.48.jar:9.0.48]
... 34 common frames omitted
当我的 pom 中有这个时会发生这种情况:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jasper</artifactId>
<version>10.1.0-M2</version>
<scope>runtime</scope>
</dependency>
当它从我的 pom 中取出时,一切正常,点击控制器并返回 ModelAndView 但下载 jsp 而不是实际显示页面。
【问题讨论】:
-
如果您为手头的问题添加更多解释会很好。也许一些代码?您收到的错误的更多详细信息?
-
我们还需要查看Network选项卡的输出(尤其是响应的
Content-Type)。 -
这只是一个 WhiteLabel 错误页面,类型为 none,状态为 404
标签: java spring-boot spring-mvc jsp tomcat