Springboot集成jsp 以及部署服务器问题

绿豆饼 2020-08-17

1.在application配置文件里面加入配置:
spring:
  mvc:
    view:
      prefix: /jsp/
      suffix: .jsp

2.手动在src->main->下面创建webapp文件夹
3.在Springboot 启动类加入如下代码:

@Bean
    public InternalResourceViewResolver setupViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/jsp/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

4.在webapp->下面创建jsp文件夹放入你的jsp文件
这个时候目录层级大概应该是这样的
Springboot集成jsp 以及部署服务器问题
5.在pom文件里面加入jsp依赖

<!--            jsp -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <!--        jsp-->

这个时候jsp是可以正常访问的。
但是部署到服务器之后就会出现404错误(我出现了这个错误。)
解决办法:
在pom文件中加入代码:

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                                <!-- 这一部分是加入的内容  <version>1.4.2.RELEASE</version> -->
                <!-- 解决部署之后jsp访问404 问题 只能springboot 启动类main其他main都要注释或者删除 -->
                <version>1.4.2.RELEASE</version>
                <configuration>
                    <fork>true</fork>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>

                         <!--    解决访问打包时忽略webapp问题 使用命令 打包  mvn clean install -Dmaven.test.skip=true  -->
        <!-- resources插件,在打jar包时可以将webapp目录下的文件进行打包 -->
        <resources>
            <resource>
                <!-- 指定resources插件处理哪个目录下的资源文件 -->
                <directory>src/main/webapp</directory>
                <!--注意此次必须要放在此目录下才能被访问到 -->
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
            <!-- 将项目中的配置文件,打包至classes下面 -->
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

因为据网上的资料说超过这个版本之后就不行了,具体原因未深究。
至此从新打包部署之后jsp应该就可以正常访问了
然后我这边做法是把资源文件都放到服务器了 js css img等等这些资源

相关推荐