0
点赞
收藏
分享

微信扫一扫

SpringBoot 跳转jsp的一些问题汇总

进击的包籽 2022-03-11 阅读 59

前言

在我们开发中大多数还是已前后端分离为主了,但是有一些公司或者毕业生课设还是以SpringBoot一起部署前后端,比如jsp、html页面直接放到Springboot项目中一起部署。所以今天就将我以前碰到过的一些问题记录下,分享给大家有类似的可以参考。

问题

访问jsp页面直接下载

  • 解决方案
    需要我们在pom中配置jsp解析jar 以及配置合理的jar 作用域。
<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-jsp-api</artifactId>
		</dependency>

访问jsp页面404

  • 第一种情况那就是你的地址确实有写错,这个需要认真看下请求路径
  • 第二种情况路径对的,但是任然提示404(主要发生在main 启动方式),这个很有可能你么有将webapp 下的jsp 加载到部署的包中,这个时候需要配置pom 如下:
<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
					<include>**/*.yml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
					<include>**/*.yml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
			<--  下面配置加载webapp 下文件 打包到META-INF/resources jsp 寻找页面的时候可以通过META-INF/resources 找到-->
				<resource>
					<directory>src/main/webapp</directory>
					<targetPath>META-INF/resources</targetPath>
					<includes>
						<include>**/**</include>
					</includes>
					<filtering>false</filtering>
				</resource>
		</resources>
		<finalName>项目名称</finalName>
	</build>

总结

后续有看源码我会及时更新一下具体的原理。大家还有疑问的可以随时私信留言,及时帮助大家一起解决问题。可能有些版本不一致的,需要具体分析。

举报

相关推荐

0 条评论