Springboot集成jsp及部署服务器实现原理

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文件

这个时候目录层级大概应该是这样的


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等等这些资源

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持鸟哥教程(niaoge.com)。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#niaoge.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。