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

版权声明:本博客所有的原创文章,转载请注明出处,作者皆保留版权。 https://blog.csdn.net/anLA_/article/details/79667313

今天在做一个功能时,需要重新搭建环境,从开始的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

猜你喜欢

转载自blog.csdn.net/anLA_/article/details/79667313