SpringBoot应用默认支持的动态网页技术是Thymeleaf,不支持JSP;
在SpringBoot应用中使用JSP需要通过手动整合
配置
添加依赖
在Spring Boot 项目基础上添加依赖
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
修改打包方式
pom文件中修改打包方式
<packaging>war</packaging>
创建webapp
创建目录
src/main/webapp
src/main/webapp/WEB-INF
配置
项目配置->Facet -> 添加Web -> 添加Web资源目录(src/main/webapp)
创建demo页面
index.jsp
<%--
Created by IntelliJ IDEA.
User: vince
Date: 2022/1/14
Time: 11:17
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>测试</title>
</head>
<body>
Hello World
</body>
</html>
测试
http://ip:port/index.jsp
Hello World
创建控制类
IndexController 实现访问根路径打卡index.jsp
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* <h1>index</h1>
*
* @version 1.0
* @author: Vincent Vic
* @since: 2022/01/14
*/
@Controller
public class IndexController {
@GetMapping("/")
public String index(){
return "index.jsp";
}
}
此时访问效果和访问index.jsp效果一样
访问> http://ip:port/
Hello World
修改配置
修改application.yml,省略后缀名称
spring:
mvc:
view:
prefix: /
suffix: .jsp
此时IndexController 中index方法返回页面无需添加.jsp后缀
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
/**
* <h1>index</h1>
*
* @version 1.0
* @author: Vincent Vic
* @since: 2022/01/14
*/
@Controller
public class IndexController {
@GetMapping("/")
public String index(){
return "index";
}
}