从零开始学springboot-整合jsp

前言

说起java web开发就不得不提jsp,作为一门老技术,虽然springboot官方也不推荐使用jsp了,但是博主为了知识的完备性,还是简单的使用下。

springboot默认对jsp的支持不是很友好,而对一些模板支持的很好,所以大家挑选技术时慎重,没有技术包袱的话还是使用模板吧。

创建项目

从零开始学springboot-整合jsp

从零开始学springboot-整合jsp

添加依赖

pom.xml:

 <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

从零开始学springboot-整合jsp

添加配置

application.yml:

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

完善

目录结构

从零开始学springboot-整合jsp

我们在src/main下新增目录webapp/WEB-INF/jsp,用来放jsp文件,至于为什么这么建目录,开发过java web的人对这个目录应该很熟悉,习惯使然。
index.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>jsp demo</title>
</head>
<body>
Hello World, jsp
</body>
</html>

controller/JspController:

package com.mrcoder.sbjsp.controller;

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

@Controller
public class JspController {
    @GetMapping("/")
    public String index() {
        return "index";
    }
}

运行

从零开始学springboot-整合jsp

项目地址

https://github.com/MrCoderStack/SpringBootDemo/tree/master/sb-jsp

https://gitee.com/MrCoderStack/SpringBootDemo/tree/master/sb-jsp

Tip

如果你是独立的一个springboot项目,以上的操作已经是能运行成功的,但是如果你是一个多模块的项目,也就是先创建了maven空项目,再
从零开始学springboot-整合jsp

那么上面的代码运行的话会报404错误(博主就是多模块的),
所以我们需要更改IDEA的一点设置
从零开始学springboot-整合jsp

从零开始学springboot-整合jsp

此时,运行就不会报错了。

请关注我的订阅号

从零开始学springboot-整合jsp