SpringBoot 創(chuàng)建web項(xiàng)目并部署到外部Tomcat
前言
使用SpringBoot來(lái)開(kāi)發(fā)項(xiàng)目相對(duì)于傳統(tǒng)模式,要快速優(yōu)雅許多,相信目前國(guó)內(nèi)絕大部分web項(xiàng)目的開(kāi)發(fā)還沒(méi)有使用SpringBoot來(lái)做,如果你正需要開(kāi)發(fā)一個(gè)web項(xiàng)目,不妨嘗試使用SpringBoot來(lái)做。
本身SpringBoot是內(nèi)嵌了web服務(wù)器,不需要單獨(dú)的Tomcat,但是實(shí)際生產(chǎn)環(huán)境中,如果是web項(xiàng)目,Tomcat肯定是運(yùn)維部門(mén)部署好了的,這個(gè)Tomcat,做了一些個(gè)性化的設(shè)置,開(kāi)發(fā)出來(lái)的項(xiàng)目需要部署到這個(gè)Tomcat,如果是使用SpringBoot開(kāi)發(fā)web服務(wù),我認(rèn)為可以直接使用內(nèi)嵌的Tomcat,簡(jiǎn)單易于維護(hù)。
技術(shù)框架
- SpringBoot
- Maven
- Tomcat8
要點(diǎn)
- 啟動(dòng)類(lèi)Application.java需要繼承SpringBootServletInitializer
- 打包war的時(shí)候,過(guò)濾tomcat依賴(lài),需要添加<scope>provided</scope>
- 通過(guò)maven-war-plugin執(zhí)行打包文件名,在application.properties文件中指定web項(xiàng)目的上下文
- 老外寫(xiě)的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同學(xué)可以直接查看這篇文章
開(kāi)發(fā)過(guò)程
1.創(chuàng)建一個(gè)Maven Project(quickstart),名稱(chēng)為myweb,添加POM依賴(lài)
<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","chabaoo.cn"); 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> <h1 th:text="${host}"></h1> </body>
6.運(yùn)行方式
- 直接啟動(dòng)Application.java的main函數(shù),通過(guò)SpringBoot內(nèi)嵌的Tomcat運(yùn)行
- 執(zhí)行mvn package 生產(chǎn)"myweb.war"包,拷貝到自己部署的Tomcat下,啟動(dòng)Tomcat運(yùn)行
7.運(yùn)行結(jié)果
訪問(wèn)http://localhost:8080/myweb/index
頁(yè)面顯示chabaoo.cn
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot整合MyBatis-Flex全過(guò)程
這篇文章主要介紹了Spring Boot整合MyBatis-Flex全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Spring的@CrossOrigin注解處理請(qǐng)求源碼解析
這篇文章主要介紹了Spring的@CrossOrigin注解處理請(qǐng)求源碼解析,@CrossOrigin源碼解析主要分為兩個(gè)階段@CrossOrigin注釋的方法掃描注冊(cè),請(qǐng)求匹配@CrossOrigin注釋的方法,本文從源碼角度進(jìn)行解析,需要的朋友可以參考下2023-12-12javaDSL簡(jiǎn)單實(shí)現(xiàn)示例分享
DSL領(lǐng)域定義語(yǔ)言,用來(lái)描述特定領(lǐng)域的特定表達(dá)。比如畫(huà)圖從起點(diǎn)到終點(diǎn);路由中的從A到B。這是關(guān)于畫(huà)圖的一個(gè)簡(jiǎn)單實(shí)現(xiàn)2014-03-03Java設(shè)計(jì)模式之單態(tài)模式(Singleton模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之單態(tài)模式(Singleton模式)介紹,本文講解了如何使用單例模式、使用單例模式注意事項(xiàng)等內(nèi)容,需要的朋友可以參考下2015-03-03java自帶命令行工具jmap、jhat與jinfo的使用實(shí)例代碼詳解
本篇文章主要通過(guò)代碼實(shí)例對(duì)java自帶命令行工具jmap、jhat與jinfo的使用做出了詳解,需要的朋友可以參考下2017-04-04解決使用RestTemplate時(shí)報(bào)錯(cuò)RestClientException的問(wèn)題
這篇文章主要介紹了解決使用RestTemplate時(shí)報(bào)錯(cuò)RestClientException的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08