SpringBoot整合JSP


1 通过IDEA脚手架创建一个maven项目

1.1 添加运行jsp的maven依赖

 <!--添加jsp引擎,SpringBoot内置的Tomcat中没有此依赖-->
 <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
 </dependency>
 <!--jstl-->
 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
 </dependency>

2 编写jsp文件

2.1 添加web目录

新建的maven项目是没有web目录的,我们需要手动添加目录。

1.在main目录下新建/webapp/WEB-INF/jsp/的目录结构

2.由于在jsp目录上右键没有新建jsp的选项,需要把我们刚才新建的webapp目录设置为web目录

设置完成后可以看到有新建jsp的选项

2.2 编写jsp文件

在jsp目录下新建index.jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>index</title>
</head>
<body>
    <h2>Hello , JSP</h2>
</body>
</html>

3 设置视图解析器的前缀和后缀

在application.yml文件中添加如下内容

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

或者在application.properties文件中加如下内容

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

4 编写Controller

@Controller
public class PageController {

    /**
     * 页面跳转
     */
    @GetMapping("/{page}")
    public String showPage(@PathVariable String page){
        return page;
    }
}

5 运行项目

访问:http://localhost:8080/index

发现无法访问index.jsp页面,我们需要指定jsp路径。看视频解释为:

如果在IDEA中项目结构为聚合工程,那么在运行JSP是需要指定路径。如果项目结构为独立项目则不需要。

5.1 指定jsp路径

我设置的是%ModuleFileDir%,我看也有设置为%MODULE_WORKING_DIR%,应该是IDEA的版本不同,我用的是IDEA2020.2.1



设定完路径后再次重启项目发现可以访问jsp页面了。

--------------- 我每一次回头,都感觉自己不够努力,所以我不再回头。 ---------------
原文地址:https://www.cnblogs.com/zjw-blog/p/13584701.html