spring boot实战之内嵌容器tomcat配置

这里是“spring boot实战之内嵌容器tomcat配置”的完整攻略。

简介

Spring Boot作为现今最火的Java开发框架,可以很方便地搭建Web应用程序。其中内嵌容器Tomcat作为Spring Boot的默认Web容器,在使用中需要进行相应的配置来满足不同的需求。

配置内嵌Tomcat端口号

内嵌Tomcat默认的端口号为8080,但是在实际开发中,可能需要更改端口号。有两种方式来进行端口号的配置。

方式一:application.properties

在Spring Boot的工程目录下,我们可以找到application.properties文件,如下所示:

server.port=8080

在这个文件中,我们可以改变Tomcat服务器监听的默认端口(默认为8080)。

方式二:application.yml

同样在Spring Boot的工程目录下,我们可以找到application.yml文件,如下所示:

server:
  port: 8080

通过这个文件,我们也可以更改内嵌Tomcat默认的端口。

高级配置

内嵌Tomcat默认会从jar包中寻找静态资源文件,但是在一些特殊情况下,我们需要从文件系统中获取这些资源文件(如jsp文件)。这时候我们需要进行高级配置。

配置处理jsp文件

在Spring Boot工程目录下,找到pom.xml文件,在其中加入如下依赖:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <version>9.0.12</version>
</dependency>

这里需要按照实际的Tomcat版本进行选择,此处以Tomcat9为例。加入该依赖后,我们需要在application.yml文件中添加如下代码:

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

代码示例

以Spring Boot官方提供的Hello World程序为例,这个程序只会返回一个字符串“Hello World”,我们需要对其进行jsp渲染。首先在工程目录下,建立一个jsp文件:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Hello Spring Boot</title>
  </head>
  <body>
    <h1>Hello World</h1>
    <p>${content}</p>
  </body>
</html>

其中<p>${content}</p>是一个占位符,我们将在Controller类中进行填充。代码如下:

@RestController
public class HelloWorldController {
    @RequestMapping("/")
    public ModelAndView index() {
        String content = "I am a jsp rendered by Spring Boot.";
        ModelAndView modelAndView = new ModelAndView("hello");//指定要渲染的jsp文件的路径和文件名,去掉.jsp后缀
        modelAndView.addObject("content", content);
        return modelAndView;
    }
}

通过ModelAndView指定将要渲染的jsp及其相应的占位符表达式。需要注意的是,这里的jsp路径是在prefix下的,整体路径需要加上后缀(这里是'.jsp'),然后去掉前缀(prefix)。

在最后,启动这个Spring Boot应用程序,然后在浏览器中输入地址:http://localhost:8080,即可看到Hello World字符串以及从jsp文件中填充过来的消息。

以上是“spring boot实战之内嵌容器tomcat配置”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot实战之内嵌容器tomcat配置 - Python技术站

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

相关文章

  • Java8 Instant 时间戳实例讲解

    Java8 Instant 时间戳实例讲解 在 Java8 中,引入了 java.time 包,包含了一系列新的日期时间 API,其中 Instant 类可以用来表示时间戳。本文将详细讲解 Instant 类的使用。 Instant 类概述 Instant 类是不可变且线程安全的,它以 Unix 时间戳的形式存储时间,精确到纳秒。Unix 时间戳是指从 19…

    Java 2023年5月20日
    00
  • SpringBoot整合Tomcat连接池的使用

    下面是完整攻略: 什么是Tomcat连接池 Tomcat连接池是Tomcat中的一个JDBC连接池。它可以帮助我们在Java应用程序中管理数据库连接,优化数据库性能,提高系统的稳定性。 SpringBoot整合Tomcat连接池的基本步骤 修改pom文件,引入Tomcat连接池的依赖 xml <dependency> <groupId&gt…

    Java 2023年5月19日
    00
  • SpringBoot在项目中访问静态资源步骤分析

    Spring Boot在项目中访问静态资源步骤分析 在Spring Boot应用程序中,我们经常需要访问静态资源,如图片、CSS、JavaScript等。为了实现这些功能,我们需要在Spring Boot应用程序中配置静态资源的访问路径。在本文中,我们将详细介绍如何在Spring Boot应用程序中访问静态资源,并提供两个示例说明。 步骤分析 在Spring…

    Java 2023年5月18日
    00
  • Java分支结构程序设计实例详解

    Java分支结构程序设计实例详解 本文将介绍Java分支结构程序设计的实例与应用。主要包括if语句、switch语句和三元运算符的使用方法、注意事项、实例分析等。 if语句 if语句是最常用的分支结构,用于根据不同情况执行不同的代码块。它的语法结构如下: if (布尔表达式) { // 如果布尔表达式为true,则执行该代码块 } 其中布尔表达式可以是任何返…

    Java 2023年5月23日
    00
  • java.util.concurrent.ExecutionException 问题解决方法

    当使用Java并发编程时,可能会遇到java.util.concurrent.ExecutionException异常。这种异常通常由调用一个返回Future类型的方法所引起,该方法启动一个异步任务,等待任务返回结果。在调用Future的get()方法获取结果时,如果任务执行过程中发生异常,那么get()方法会将异常包装在ExecutionException…

    Java 2023年5月19日
    00
  • Java零基础精通方法篇

    Java零基础精通方法篇攻略 Java作为一门在现代编程界十分流行的语言,其学习曲线也是比较陡峭的。学习方法很重要,下面是一些针对Java零基础学习的方法。 1. 确定学习路线 Java语言许多知识点非常广泛,在学习Java之前,了解和确定自己所要学习的路线非常重要。建议先学习Java基本语法,然后跟随Java的应用功能,例如网络编程、GUI编程、并发等。同…

    Java 2023年5月23日
    00
  • 深入jetty的使用详解

    深入jetty的使用详解 Jetty是一个Java Web服务器和Servlet容器,可以用于开发、测试和部署Java Web应用程序。它提供了高性能、异步IO和低内存占用等优点。下面是深入Jetty的使用详解: 安装Jetty Jetty的官方网站提供了下载链接,下载对应版本的zip文件,解压后即可得到Jetty的安装包。然后在命令行中进入Jetty的bi…

    Java 2023年5月20日
    00
  • Java数组的定义、初始化、及二维数组用法分析

    下面我来详细讲解一下Java数组的定义、初始化、及二维数组用法分析的完整攻略。 Java数组的定义 Java数组是由相同类型元素构成的集合,它是一个固定长度的容器,一旦创建后就不能改变其长度,因此Java数组也称为静态数组。在Java中,数组可以存储数值、字符、对象等信息。 Java数组的定义语法如下: 数据类型[] 数组名 = new 数据类型[数组长度]…

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