Spring Boot 整合 JSP 的详细教程
Spring Boot 是一个用于简化 Spring 应用程序开发的框架,它通过自动配置和约定优于配置的原则,极大地简化了 Spring 应用的搭建过程。而 JSP(JavaServer Pages)则是一种动态网页开发技术,它可以与 Java 代码混合使用,用于生成动态内容。本文旨在详细介绍如何在 Spring Boot 项目中整合 JSP。
1. 创建 Spring Boot 项目
首先,我们可以使用 Spring Initializr 来创建一个新的 Spring Boot 项目。在这个项目中,我们选择以下依赖:
- Spring Web
- Spring Boot DevTools
创建完项目后,下载并解压缩该项目。
2. 更新 pom.xml
在项目的根目录找到 pom.xml
文件,添加 JSP 的依赖和配置。我们需要添加 javax.servlet.jsp
和 javax.servlet.jsp.api
的依赖,此外,由于 Spring Boot 在某些情况下可能无法找到 JSP,因此需要额外配置一些内容。
<dependencies>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- JSP Library -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
接着,我们还需要在插件部分添加 Tomcat 的配置,以支持 JSP:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>9.0.37</version>
<scope>provided</scope>
</plugin>
</plugins>
</build>
3. 配置 JSP 视图解析器
在 src/main/resources/application.properties
文件中进行以下配置,以确保 Spring Boot 能够找到 JSP 文件。
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
4. 创建 JSP 文件
接下来,我们创建 JSP 文件。首先,在 src/main/webapp/WEB-INF/jsp
目录下创建一个 index.jsp
文件,并添加以下内容:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Spring Boot JSP Example</title>
</head>
<body>
<h1>欢迎来到 Spring Boot 与 JSP 的整合示例</h1>
</body>
</html>
5. 创建 Controller
在 src/main/java/com/example/demo
目录下创建一个控制器类 HomeController.java
,代码如下:
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/")
public String index() {
return "index"; // 返回的是 index.jsp
}
}
6. 启动应用
现在我们可以启动 Spring Boot 应用。在项目根目录中执行以下命令:
mvn spring-boot:run
然后在浏览器中访问 http://localhost:8080/
,你应该能够看到 JSP 页面渲染的内容。
7. 总结
通过上述步骤,我们成功地将 Spring Boot 与 JSP 整合。尽管 Spring Boot 官方推荐使用 Thymeleaf 作为默认模板引擎,但 JSP 仍然是一个强大的选项,尤其是在老旧项目或企业应用中。希望这篇文章能对你在 Spring Boot 项目中使用 JSP 提供一定的帮助!