项目搭建

第一步:创建SpringBoot项目

这里省略

第二步:添加依赖pom

不需要单独定义版本号,避免冲突。

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>

第三步:创建jsp存放路径

在main目录下与resources目录同级创建webapp/WEB-INF/jsp目录。不要直接放到resources目录下,会报404。

SpringBoot集成jsp项目搭建详细步骤及避坑指南_jsp

webapp目录没有小蓝点时,项目右键选择Open Module Settings

SpringBoot集成jsp项目搭建详细步骤及避坑指南_java_02

选中modules,在web模块右键添加Web

SpringBoot集成jsp项目搭建详细步骤及避坑指南_tomcat_03

将webapp目录添加到Web Resource Directories,最后点确定即可。

SpringBoot集成jsp项目搭建详细步骤及避坑指南_java_04

第四步:创建jsp文件

在jsp目录下创建index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
  This is JSP!
</body>
</html>

如果jsp目录下右键没有创建jsp选项,检查步骤三中,webapp是否设置为Web Resource Directories

第五步:配置文件application.yml

添加配置项

spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp

第六步:编写Controller

注意不要使用@RestController,不要加@ResponseBody会直接将返回序列化为字符串。

package com.dangdang.pintuanadmin.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HomeController {

	@RequestMapping(value = {"/", "/index"})
	public String home() {
		return "/index";
	}

}

第七步:搭建完成,验收

启动项目,访问http://localhost:8080/

SpringBoot集成jsp项目搭建详细步骤及避坑指南_jsp_05

避坑指南

访问jsp打开方式为下载,而不是浏览器打开

检查是否添加pom依赖,参考项目搭建第二步。

访问jsp报错404

  1. 检查target目录下是否有创建的jsp文件。如果没有,执行mvn clean package,重新编译打包。
  2. 检查jsp文件路径,直接放到resources目录或者resources/static目录访问不到,参考项目搭建步骤三。
  3. 如果为多模块,需要运行设置工作目录$MODULE_WORKING_DIR$

SpringBoot集成jsp项目搭建详细步骤及避坑指南_tomcat_06