springboot内部对jsp的支持并不是特别理想,而springboot推荐的视图是Thymeleaf,对于java开发人员来说还是大多数人员喜欢使用jsp,接下来我们来讲解下springboot是如何支持jsp的。
本章目标
整合springboot web项目支持jsp作为视图输出。
1、创建项目
2、配置pom依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.1.5.RELEASE</version> </parent> <groupId>org.xiaoguai</groupId> <artifactId>springboot-jsp</artifactId> <version>1.0-SNAPSHOT</version> <properties> <!--jdk版本--> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- servlet 依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <!-- <scope>provided</scope>--> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!--springboot tomcat jsp开启支持--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> </project>
3、创建启动器和application.yml配置文件,我这里使用的是插件
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
spring: mvc: view:
#这里没有创建WEB-INF文件夹,所有前缀就不加 prefix: /jsp/ suffix: .jsp server: port: 8089
4、创建webapp文件
5、创建index.jsp
我们在webapps/jsp目录下创建一个index.jsp用于测试我们的配置是否已经支持了jsp,新建jsp文件
6、创建IndexController
可以看到上图我们在IndexController配置文件内添加了index()方法配置了@RequestMapping注解来描述index()方法是一个可以被springmvc管理的请求视图。我们的index()方法返回值这里是"index"。
为什么我们返回"index",还记得上述步骤中配置的application.yml文件的springmvc请求前缀以及后缀,那么当我们访问/index时springmvc就会去找/webapp/jsp/index.jsp文件。
为什么我们返回"index",还记得上述步骤中配置的application.yml文件的springmvc请求前缀以及后缀,那么当我们访问/index时springmvc就会去找/webapp/jsp/index.jsp文件。
7、重启项目
重启项目我们尝试访问127.0.0.1:8089/index,可以看到效果,证明已经完成了springboot与jsp的整合: