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

时间:2021-05-20

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章