Springboot集成Spring MVC项目,访问直接得到jsp源码

Springboot集成Spring MVC项目,访问直接得到jsp源码今天在做一个功能时,需要重新搭建环境,从开始的springmvc改为使用springboot搭建,基本配置都搭建好了,直接用main方法启动,然后报错了~但是就是controller返回时候,总是只返回jsp源码。网上方法基本都是说我web.xml配置不正确,但是我没有web.xml啊~~而后,在WebMvcConfig配置文件下也排查了好久,以为是viewResolver的问题,最

今天在做一个功能时,需要重新搭建环境,从开始的spring mvc改为使用spring boot搭建,基本配置都搭建好了,
直接用main方法启动,然后报错了~
但是就是controller返回时候,总是只返回jsp源码。

网上方法基本都是说我web.xml配置不正确,但是我没有web.xml啊~~

而后,在WebMvcConfig 配置文件下也排查了好久,以为是viewResolver 的问题,最终发现并不是。

找了好一会,只能去墙外了。。。

问了谷老师,在statckoverflow上找到了解决方法:
需要在pom中增加:

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

这样,spring内置的tomcat才能正常解析jsp。

但是在加入这一段时候,注意要把原有的这两个依赖给删除:

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>

否则会提示错误,重复启动子容器:

Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    ... 22 common frames omitted
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:948) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.23.jar:8.5.23]
    ... 24 common frames omitted

参考的Stack Overflow:
https://stackoverflow.com/questions/20602010/jsp-file-not-rendering-in-spring-boot-web-application

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37956.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注