溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot 創(chuàng)建web項目并部署到外部Tomcat

發(fā)布時間:2020-10-08 19:37:28 來源:腳本之家 閱讀:170 作者:字伯約 欄目:編程語言

前言

使用SpringBoot來開發(fā)項目相對于傳統(tǒng)模式,要快速優(yōu)雅許多,相信目前國內(nèi)絕大部分web項目的開發(fā)還沒有使用SpringBoot來做,如果你正需要開發(fā)一個web項目,不妨嘗試使用SpringBoot來做。

本身SpringBoot是內(nèi)嵌了web服務(wù)器,不需要單獨的Tomcat,但是實際生產(chǎn)環(huán)境中,如果是web項目,Tomcat肯定是運維部門部署好了的,這個Tomcat,做了一些個性化的設(shè)置,開發(fā)出來的項目需要部署到這個Tomcat,如果是使用SpringBoot開發(fā)web服務(wù),我認為可以直接使用內(nèi)嵌的Tomcat,簡單易于維護。

技術(shù)框架

  1. SpringBoot
  2. Maven
  3. Tomcat8

要點

  1. 啟動類Application.java需要繼承SpringBootServletInitializer
  2. 打包war的時候,過濾tomcat依賴,需要添加<scope>provided</scope>
  3. 通過maven-war-plugin執(zhí)行打包文件名,在application.properties文件中指定web項目的上下文
  4. 老外寫的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同學(xué)可以直接查看這篇文章

開發(fā)過程

1.創(chuàng)建一個Maven Project(quickstart),名稱為myweb,添加POM依賴

<modelVersion>4.0.0</modelVersion>
<groupId>com.boyue</groupId>
<artifactId>myweb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>myweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.4.2.RELEASE</version>
 </parent>
<dependencies>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 <scope>provided</scope>
</dependency>
</dependencies>
<build>
 <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-war-plugin</artifactId>
  <configuration>
    <warName>myweb</warName>
  </configuration>
  </plugin>
 </plugins>
</build>

2.創(chuàng)建Application.java

@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {
  public static void main(String[] args) throws Exception {
    SpringApplication.run(SpringBootWebApplication.class, args);
  }
}

3.創(chuàng)建IndexController.java

@Controller
@RequestMapping("/")
public class IndexController{
 @RequestMapping("/index")
 public String index(ModelMap map){
  map.addAttribute("host","www.jb51.net");
  return "index";
 }
}

4.在src/main/resources下創(chuàng)建application.properties

server.contextPath=/myweb

5.在src/main/resources創(chuàng)建templates文件夾,添加index.html文件

<!DOCTYPE HTML>
<html>
<head lang="en">
 <meta charset="UTF-8" />
 <title></title>
</head>
<body>
<h2 th:text="${host}"></h2>
</body>

6.運行方式

  1. 直接啟動Application.java的main函數(shù),通過SpringBoot內(nèi)嵌的Tomcat運行
  2. 執(zhí)行mvn package 生產(chǎn)"myweb.war"包,拷貝到自己部署的Tomcat下,啟動Tomcat運行

7.運行結(jié)果

訪問http://localhost:8080/myweb/index

頁面顯示www.jb51.net

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI