11-SpringBoot整合JSP

1、前言

SpringBoot不推荐使用jsp,因为jsp在编译的时候先翻译成.java文件,然后再编译成.class文件,运行的时候就是一个servlet的.class文件,比较重量级


2、添加依赖

jsp依赖


        <!--JSP核心引擎依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <!--JSTL依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

pom文件所有依赖

    <dependencies>

        <!--JSP核心引擎依赖-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <!--JSTL依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <!--web项目相关依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--测试相关依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

3、创建webapp目录和其下子目录WEB-INF存放jsp页面

注意:webapp目录与java目录同级

WEB-INF目录下编写jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>${jsp}</h1>
</body>
</html>


 

4、编写Controller和配置视图前缀后缀

1、编写Controller跳转jsp页面

@Controller
public class IndexController {

    @GetMapping("/toJsp")
    public String toIndexJsp(Model model){
        model.addAttribute("jsp","Hello,JSP李四");
        System.out.println("==============进来了============");
        return "index";

    }
}

2、在application.yml文件中配置视图的前缀和后缀

spring:
  mvc:
    view:
      # 前缀
      prefix: /WEB-INF/
      # 后缀
      suffix: .jsp

3、启动项目测试


5、会遇到的问题

前端报404

后台:Path with “WEB-INF“ or “META-INF“: [WEB-INF/Index.jsp]

 

解决办法:

1、重新加载maven,再重新启动项目访问

2、如果1步骤没有解决,关闭IDEA再重新打开,再启动项目访问

猜你喜欢

转载自blog.csdn.net/zhuzbYR/article/details/113065992
今日推荐