SpringBoot入门之集成JSP的示例代码

下面我就来详细讲解“SpringBoot入门之集成JSP的示例代码”的完整攻略。

1. 引言

Spring Boot 是一款基于 Spring 快速构建 Web 应用程序的框架,它内置了很多开箱即用的插件和工具,提供了一些默认的配置和约定,使得新手可以非常容易的上手和使用 Spring Boot。本文将会介绍如何使用 Spring Boot 集成 JSP,示例代码已经封装在 Github 上,共两个分支,分别是 part1part2

2. Spring Boot 集成 JSP

在 Spring Boot 中,集成 JSP 需要两步:

2.1 配置 JSP 视图解析器

application.properties 文件中配置 JSP 视图解析器:

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

2.2 创建 JSP 视图

src/main/webapp/WEB-INF/views/ 目录下创建 JSP 视图。

示例代码参考:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello Spring Boot!</title>
</head>
<body>
    <h1>Hello Spring Boot!</h1>
    <p>欢迎来到 <a href="http://www.baidu.com">百度一下</a>。</p>
</body>
</html>

3. 示例代码

3.1 示例一

示例一分支为 part1

spring-boot-starter-web 的基础上添加 tomcat-embed-jasper 包,即可添加 JSP 的支持。

<dependencies>
    <!-- Spring Boot Web 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Tomcat JSP 依赖 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
</dependencies>

示例代码参考:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

3.2 示例二

示例二分支为 part2

pom.xml 中添加 spring-boot-starter-tomcat 包,即可替代掉 tomcat-embed-jasper,达到同样的 JSP 支持效果。

<dependencies>
    <!-- Spring Boot Web 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Spring Boot Tomcat 依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
</dependencies>

示例代码参考:

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory() {
        return new TomcatServletWebServerFactory() {{
            addAdditionalTomcatConnectors(createAjpConnector());
        }};
    }

    private Connector createAjpConnector() {
        Connector connector = new Connector("AJP/1.3");
        connector.setScheme("http");
        connector.setPort(8009);
        connector.setSecure(false);
        connector.setAllowTrace(false);
        return connector;
    }

}

4. 总结

在 Spring Boot 中集成 JSP 非常简单,只需要配置 JSP 视图解析器和创建 JSP 视图即可。在示例中,演示了两种方式添加 JSP 的支持,其中方式二更为灵活,可以添加更多的定制化设置。

完整示例代码请参考 Github

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot入门之集成JSP的示例代码 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • SpringBoot属性注入的两种方法

    SpringBoot提供了两种属性注入的方式:基于映射文件和基于注解。 基于映射文件 基于映射文件的方式,一般是将属性配置在application.properties或application.yml文件中,然后在程序中通过@Value注解进行注入。 1. application.properties方式 在application.properties文件中…

    Java 2023年5月15日
    00
  • java并发编程中ReentrantLock可重入读写锁

    ReentrantLock是Java并发编程中一种可重入的读写锁,它比Synchronized更加灵活,能够满足不同的场景需求。下面我们来详细讲解如何使用ReentrantLock读写锁。 1. ReentrantLock的基本使用 1.1 创建ReentrantLock对象 import java.util.concurrent.locks.Reentra…

    Java 2023年5月26日
    00
  • CAS操作的作用是什么?

    CAS (Compare-and-Swap) 操作是计算机系统中的一种并发原语,可以用来实现多线程同步,防止多线程同时修改同一个共享变量而导致数据不一致的问题。 CAS 操作主要使用于多线程环境下对共享变量的原子操作,可以保证多线程并发读写时的安全性。 该操作一般由三个参数组成:共享内存变量 V、预期值 A 和新值 B。操作的目的是:如果当前 V 的值等于 …

    Java 2023年5月10日
    00
  • Java获取UTC时间的方法详解

    Java获取UTC时间的方法详解 什么是UTC时间 UTC(Coordinated Universal Time,协调世界时)是一种全球使用的时间标准,与格林威治标准时间(GMT,Greenwich Mean Time)等价。UTC时间是按照原子钟计时的,且与地球自转无关,因此是一种非常精确的时间标准。 Java中获取UTC时间的方法 要在Java中获取UT…

    Java 2023年5月20日
    00
  • Java中生成随机数的实现方法总结

    Java中生成随机数的实现方法总结 在Java中,生成随机数是一种广泛使用的功能,常见的应用场景包括加密、生成验证码、游戏中的随机事件等。本文将介绍Java中生成随机数的几种实现方法。 方法一:使用Math类生成随机数 最简单的生成随机数的方法是使用java.util.Math类中的静态方法random()。每次调用它都会生成一个0到1之间的随机数。 pub…

    Java 2023年5月26日
    00
  • Sprint Boot @PositiveOrZero使用方法详解

    @PositiveOrZero是Spring Boot中的一个注解,用于标记一个字段或方法参数必须为非负数。在本文中,我们将详细介绍@PositiveOrZero注解的作用和使用方法,并提供两个示例。 @PositiveOrZero注解的作用 @PositiveOrZero注解用于标记一个字段或方法参数必须为非负数。当使用@PositiveOrZero注解标…

    Java 2023年5月5日
    00
  • boot-admin整合flowable官方editor-app进行BPMN2.0建模

    正所谓百家争鸣、见仁见智、众说纷纭、各有千秋!在工作流bpmn2.0可视化建模工具实现的细分领域,网上扑面而来的是 bpmn.js 这个渲染工具包和web建模器,而笔者却认为使用flowable官方开源 editor-app 才是王道。 Flowable 开源版本中的 web 版流程设计器editor-app,展示风格和功能基本跟 activiti-mode…

    Java 2023年4月22日
    00
  • java 汉诺塔Hanoi递归、非递归(仿系统递归)和非递归规律 实现代码

    Java实现汉诺塔问题的递归解法 汉诺塔问题:有三根相邻的柱子,标号为a、b、c,其中a柱子上有n个直径大小各不相同的圆盘,按从小到大的顺序依次从上到下叠放。要把所有盘子一个一个移动到另一个柱子上,条件是每次只能移动一个盘子,且不能出现大盘压小盘的情况。 看到这个问题,我们第一时间可以想到递归。为了更好的理解递归,我们可以先从最简单的情况开始理解。 当只有1…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部