【源码】SpringBoot整合JSP
- 一、前言
- 二、创建web项目,webapp 【创建视图层】
- (一)在 main 目录下相关目录
- 1. 点击 “FIle”-> “Project Structure”,选择 “Model”-> “Web”,将“Web Resource Directory”的路径修改为 刚建立的 webapp 的路径。
- 2.去 application.properties 文件里面配置 SpringMVC 解析文件的前后缀
- 3.新建 jsp 文件
- 三、配置pom.xml文件
- 四、创建控制层代码,用于测试
- 五、测试项目
- 六、源码下载
一、前言
我们先使用 IDEA 搭建了一个 SpringBoot 项目,编写一个简单的 UserController就能进行访问。不熟悉的可以查看这篇博客 SpringBoot启动正常
注意点:前言处创建的是maven工程
二、创建web项目,webapp 【创建视图层】
IDEA 创建的 SpringBoot 项目,默认是没有web目录的,我们整合将jsp,那么就需要自行创建web目录
(一)在 main 目录下相关目录
建立 webapp 文件夹,在 webapp 里面之后建立 WEB-INF,jsp 文件夹。注意,webapp 和 resource 在同级目录下。
创建步骤如下:
1. 点击 “FIle”-> “Project Structure”,选择 “Model”-> “Web”,将“Web Resource Directory”的路径修改为 刚建立的 webapp 的路径。
注意:如果 Web Resource Directory 下没有路径就新建一个。
2.去 application.properties 文件里面配置 SpringMVC 解析文件的前后缀
# 前端页面相对路径
spring.mvc.view.prefix=/WEB-INF/jsp/
# 前端页面后缀名称spring.mvc.view.suffix=.jsp
spring.mvc.view.suffix=.jsp
注意:路径、后缀名称,缺一不可
3.新建 jsp 文件
页面名称为index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>主页</title>
</head>
<body>
整合jsp,初学者入门。请指教
</body>
</html>
三、配置pom.xml文件
在 SpringBoot 项目的 pom.xml (创建Maven时候,自动生成了大部门代码,请看前言)文件中导入 jsp 的依赖,添加到里面。
在上图红色箭头处添加下列代码,详细看注释
<!-- 添加 tomcat 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- 添加 jsp 解析依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- servlet依赖 单独增加的-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!--添加 jstl 标签依赖-->
<!-- jstl-api-->
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>2.0.0</version>
</dependency>
四、创建控制层代码,用于测试
在对应位置(位置要注意,涉及到springboot自动扫描问题)新建 UserController类,在里面设置接口访问 index.jsp文件【和上文jsp页面名称一致】。
注意 这里使用的是 @Controller 注解。
package com.example.mytestip;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class UserController {
@GetMapping("/index")
public String index( ) {
return "index";//视图重定向index.jsp
}
}
五、测试项目
在浏览器,输入地址 “localhost:8080/index” ,
(这里的index和 @GetMapping(“/index”) 对应就行)就能访问到 index.jsp (这里和 return “index”;对应的)页面啦。
六、源码下载
源码