首先不建议整合JSP哈,spring boot 对jsp的支持力度不大。 内置tomcat不支持jsp。
注意:在创建项目时候一定是war类型的,而不是跟之前那个freemarker那种jar类型。
废话不多说,直接动手。
pom依赖如下:
<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> <groupId>com.toov5.jsp</groupId> <artifactId>springbootjsp</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencies> <!-- SpringBoot 核心组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> </project>
application.properties配置文件:
这种写法是写死的哈,不要改动!springboot默认读取的就是这个前缀名字和后缀名字!而且会默认读取application.properties这个文件 和 .yml文件
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
Java类代码:
package com.toov5.jsp; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class IndexController { @RequestMapping("/jsp") public String index(){ return "index"; } }
需要页面跳转而不是json字符串,所以@Controller注解
然后返回的index会被加上前缀后缀,去找资源。
注意不要把JSP放在resource下面!jsp可能被访问到!放在webapp下面就好。也就是在webapp目录下面递归创建
/WEB-INF/jsp/目录如上述配置所写
最后的目录结构如下图所示:
运行,访问:
是不是很简单呀~
<!-- 使用 jsp 必要依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
不从另外一种web开发