解决SpringBoot启动过后不能访问jsp页面的问题(超详细)

解决SpringBoot启动过后不能访问jsp页面的问题(超详细)

解决SpringBoot启动过后不能访问jsp页面的问题(超详细)

问题描述

SpringBoot是一个高度集成化的框架,它不需要xml和配置文件即可构建Spring应用程序。然而,当我们在使用SpringBoot构建web应用程序的过程中,有时会遇到不能访问jsp页面的问题。这是因为SpringBoot默认使用thymeleaf作为模板引擎,而不是jsp。

解决方案

以下是解决SpringBoot启动后不能访问jsp页面的问题的超详细攻略:

步骤1:在pom.xml文件中添加以下依赖:

<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>

这些依赖项将启用jsp支持。

步骤2:在application.properties中添加以下配置:

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

这将告诉SpringBoot在哪里找到jsp视图。

步骤3:添加jsp页面。

在/src/main/webapp/WEB-INF/jsp/目录下创建jsp文件。

另外还需要添加/index.jsp文件,否则可能会出现404错误。

<html>
<body>
    <h1>Hello World!</h1>
</body>
</html>

步骤4:创建Controller

创建一个简单的控制器来返回jsp视图:

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

@Controller
public class JspController {

    @GetMapping("/jsp")
    public String jsp() {
        return "index";
    }
}

这将在访问“/jsp”时返回index.jsp视图。

步骤5:运行应用程序

现在你可以运行应用程序并在浏览器中访问“http://localhost:8080/jsp”页面。

如果你看到“Hello World!”,就说明已经成功显示jsp视图了!

示例说明

示例1: 查看SpringBoot默认模板引擎

SpringBoot默认使用thymeleaf作为模板引擎,我们可以在pom.xml中看到以下依赖项:

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

示例2: 修改SpringBoot默认模板引擎为jsp

在之前的步骤中,我们通过在pom.xml中添加依赖、在application.properties中添加配置并创建jsp页面以及添加Controller来修改了SpringBoot默认的模板引擎为jsp。

本文标题为:解决SpringBoot启动过后不能访问jsp页面的问题(超详细)

基础教程推荐