
正如摘要所述,本教程旨在帮助开发者在 Spring Boot 项目中正确配置和使用 JSP 视图技术。由于 Spring Boot 对 JSP 的支持存在一些限制,尤其是在使用嵌入式 Servlet 容器并打包为可执行 JAR 文件时,本文将详细介绍如何通过 WAR 打包方式来规避这些限制,并提供必要的配置步骤和注意事项,确保 JSP 能够正常工作。同时,也建议开发者在条件允许的情况下,考虑使用更现代化的模板引擎。
在开始之前,请确保你已经安装了以下软件:
Spring Boot 官方文档明确指出,在使用嵌入式 Servlet 容器(如 Tomcat 或 Jetty)并将应用程序打包为可执行 JAR 文件时,JSP 的支持存在一些限制。具体来说:
为了在 Spring Boot 中使用 JSP,你需要执行以下步骤:
修改 pom.xml 或 build.gradle 文件:
Maven (pom.xml):
<project>
...
<packaging>war</packaging>
...
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
...
</project>Gradle (build.gradle):
plugins {
...
id 'war'
...
}
dependencies {
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
implementation 'javax.servlet:jstl'
}将 packaging 设置为 war,并将 spring-boot-starter-tomcat 的 scope 设置为 provided,这意味着 Tomcat 容器将由外部提供,而不是打包到应用程序中。同时,添加 jstl 依赖,以便在 JSP 中使用 JSTL 标签库。
配置视图解析器:
在 application.properties 或 application.yml 文件中,配置视图解析器的前缀和后缀。这告诉 Spring Boot 在哪里查找 JSP 文件。
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
这表示 JSP 文件应该位于 src/main/webapp/WEB-INF/jsp/ 目录下,并且文件扩展名为 .jsp。
创建 JSP 目录:
在 src/main/webapp/ 目录下创建 WEB-INF/jsp/ 目录。这是存放 JSP 文件的默认位置。
创建 Controller:
创建一个 Spring MVC Controller 来处理请求并返回 JSP 视图的名称。
@Controller
public class FirstController {
@GetMapping("/")
public String sayHello() {
return "hello"; // 返回 JSP 视图的名称
}
}创建 JSP 文件:
在 src/main/webapp/WEB-INF/jsp/ 目录下创建一个名为 hello.jsp 的文件。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>以下是一个完整的 Spring Boot 项目结构示例:
MyLibrary/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── lib/ │ │ │ └── secondtry/ │ │ │ ├── MyLibraryApplication.java │ │ │ └── FirstController.java │ │ ├── resources/ │ │ │ └── application.properties │ │ └── webapp/ │ │ └── WEB-INF/ │ │ └── jsp/ │ │ └── hello.jsp │ └── test/ │ └── java/ │ └── com/ │ └── lib/ │ └── secondtry/ │ └── MyLibraryApplicationTests.java ├── pom.xml
虽然 Spring Boot 对 JSP 的支持存在一些限制,但通过使用 WAR 打包方式,你可以成功地在 Spring Boot 项目中使用 JSP。 然而,考虑到 JSP 的局限性,建议在条件允许的情况下,选择更现代化的模板引擎,以便获得更好的开发体验和更高的性能。
以上就是在 Spring Boot 中使用 JSP 的正确姿势的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号