SpringBoot配置外部Tomcat並打war包
參考博文:SpringBoot整合外部Tomcat時啟動流程原始碼分析
SpringBoot應用預設以Jar包方式並且使用內建Servlet容器(預設Tomcat),該種方式雖然簡單但是預設不支援JSP並且優化容器比較複雜。故而我們可以使用習慣的外接Tomcat方式並將專案打War包。
【1】建立專案並打War包
① 同樣使用Spring Initializer方式建立專案
② 打包方式選擇"war"
③ 選擇新增的模組
④ 建立的專案圖示
有三個地方需要注意:
- pom中打包方式已經為war;
- 對比預設為jar的專案多了ServletInitializer類;
- 專案結構沒有src/main/webapp,且沒有WEB/INF web.xml。
ServletInitializer類如下:
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringbootwebprojectApplication.class);
}
}
pom檔案如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.web</groupId>
<artifactId>springbootwebproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springbootwebproject</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--這裡修改了內建Tomcat的作用域-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
⑤ 補全專案結構
第一種方式,手動建立src/main/webapp, WEB/INF以及web.xml。
第二種方式,使用idea建立,步驟如下:
1.如下圖所示,點選專案結構圖示
2.建立src/main/webapp
3.建立web.xml
此時專案結構圖如下:
【2】使用外部配置的Tomcat啟動專案
① 點選"Edit Configurations…"新增Tomcat。
② 設定Tomcat、JDK和埠
③ 部署專案
④ 啟動專案
此時如果webapp 下有index.html,index.jsp,則會預設訪問index.html。
如果只有index.jsp,則會訪問index.jsp;如果webapp下無index.html或index.jsp,則從靜態資原始檔夾尋找index.html;如果靜態資原始檔夾下找不到index.html且專案沒有對"/"進行額外攔截處理,則將會返回預設錯誤頁面。
index.html顯示如下圖:
相關文章
- springboot 整合外部tomcat war包部署方式Spring BootTomcat
- SpringBoot配置外部Tomcat並支援JSPSpring BootTomcatJS
- Springboot2專案配置(熱部署+war+外部tomcat+外部配置檔案)Spring Boot熱部署Tomcat
- 芋道Springboot打war包Spring Boot
- Springboot整合外部Tomcat配置Spring BootTomcat
- SpringBoot中配置外部TomcatSpring BootTomcat
- SpringBoot 之配置外部TomcatSpring BootTomcat
- springboot專案打war包流程Spring Boot
- 配置springboot專案使用外部tomcatSpring BootTomcat
- 使用springboot建立web專案,並使用外部TomcatSpring BootWebTomcat
- window系統下安裝openjdk,tomcat部署springboot war包JDKTomcatSpring Boot
- SpringBoot使用外部tomcatSpring BootTomcat
- spring boot 打war包後沒有配置檔案Spring Boot
- SpringBoot打jar包或war包獲取不到資原始檔解決辦法Spring BootJAR
- springboot 專案部署到外部tomcatSpring BootTomcat
- 使用Dockerfile建立一個tomcat映象,並執行一個簡單war包DockerTomcat
- SpringBoot外部化配置Spring Boot
- springboot 執行 jar 包讀取外部配置檔案Spring BootJAR
- SpringBoot配置外部Tomcat專案啟動流程原始碼分析(長文)Spring BootTomcat原始碼
- IDEA社群版如何用tomcat執行war包IdeaTomcat
- SpringBoot 使用外部Tomcat方法及啟動原理Spring BootTomcat
- 使用docker搭建環境:安裝tomcat、部署war包DockerTomcat
- 用Maven部署war包到遠端Tomcat伺服器MavenTomcat伺服器
- Tomcat部署時war和war exploded區別Tomcat
- Tomcat 部署時 war 和 war exploded 區別Tomcat
- SpringBoot外部化配置使用Plus版Spring Boot
- SpringBoot的外部化配置最全解析!Spring Boot
- Maven部署war至TomcatMavenTomcat
- 06、使用Gradle構建的專案如何打jar包和war包GradleJAR
- Linux伺服器上搭建測試環境(war包+tomcat)Linux伺服器Tomcat
- springboot2.0使用外部tomcat進行啟動方法Spring BootTomcat
- Springboot 打jar包分離lib,配置檔案正確方式Spring BootJAR
- 三分鐘把spring boot打成war包部署到tomcat中Spring BootTomcat
- 從零手寫實現 tomcat-07-war 如何解析處理三方的 war 包?Tomcat
- 【IDEA小技巧】Tomcat部署 war和war exploded的區別IdeaTomcat
- springboot使用外部tomcat啟動,整合jsp,另有整合dubbo樣例Spring BootTomcatJS
- Springboot內建tomcat配置HTTPS證書Spring BootTomcatHTTP
- SpringBoot部署到外部Tomcat無法註冊到Nacos服務端Spring BootTomcat服務端