JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。从开始学习Java Web应用,第一个学习的就是JSP和Servlet,我们就不过多介绍。直接进入Spring Boot对其集成使用的部分。

在使用之前,首先明确一下,SpringBoot使用内嵌的servlet容器,对jsp的支持不是很好,而且官方也不建议使用jsp。就本人而言当使用SpringBoot之后,基本上也放弃了jsp的使用。

但大家可能由于项目或历史原因,还在使用jsp的话,这篇文章给大家讲解一下如何集成于SpringBoot当中。

创建项目

像通常一样创建SpringBoot项目,勾选web和Lombok。由于要存放jsp的文件,因此需要在main目录下新建webapp/WEB-INFjsp。目录结构如下:

├── pom.xml
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── secbro2
│   │   │           ├── SpringbootJspApplication.java
│   │   │           └── controller
│   │   │               └── HelloWorldController.java
│   │   ├── resources
│   │   │   ├── application.properties
│   │   │   ├── static
│   │   │   └── templates
│   │   └── webapp
│   │       └── WEB-INF
│   │           └── jsp
│   │               └── hello.jsp

添加依赖

还需添加支持jstl和内置tomcat容器的jsp依赖模块。

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

<!--引入jstl-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
<!--内嵌的tomcat支持模块-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

配置文件配置

application.properties中指定视图文件的前缀和后缀。

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

编写Controller

通过简单示例,将请求参数返回页面。

@Controller
public class HelloWorldController {

    @RequestMapping("/hello")
    public String hello(String name, Model model) {
        model.addAttribute("name", name);
        return "hello";
    }

}

JSP页面

JSP页面简单展示效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello ${name}!</title>
</head>
<body>
<h2 class="hello-title">Hello ${name}!</h2>
</body>
</html>

浏览器访问

通过浏览器访问:http://localhost:8080/hello?name=Tom

页面显示:

Hello Tom!

至此完成最简单的集成。

SpringBoot技术视频

CSDN学院:《Spring Boot 视频教程全家桶》



SpringBoot集成Jsp插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2020/01/09/springboot%e9%9b%86%e6%88%90jsp/