SpringBoot 創(chuàng)建web項(xiàng)目并部署到外部Tomcat
前言
使用SpringBoot來開發(fā)項(xiàng)目相對于傳統(tǒng)模式,要快速優(yōu)雅許多,相信目前國內(nèi)絕大部分web項(xiàng)目的開發(fā)還沒有使用SpringBoot來做,如果你正需要開發(fā)一個(gè)web項(xiàng)目,不妨嘗試使用SpringBoot來做。
本身SpringBoot是內(nèi)嵌了web服務(wù)器,不需要單獨(dú)的Tomcat,但是實(shí)際生產(chǎn)環(huán)境中,如果是web項(xiàng)目,Tomcat肯定是運(yùn)維部門部署好了的,這個(gè)Tomcat,做了一些個(gè)性化的設(shè)置,開發(fā)出來的項(xiàng)目需要部署到這個(gè)Tomcat,如果是使用SpringBoot開發(fā)web服務(wù),我認(rèn)為可以直接使用內(nèi)嵌的Tomcat,簡單易于維護(hù)。
技術(shù)框架
- SpringBoot
- Maven
- Tomcat8
要點(diǎn)
- 啟動類Application.java需要繼承SpringBootServletInitializer
- 打包war的時(shí)候,過濾tomcat依賴,需要添加<scope>provided</scope>
- 通過maven-war-plugin執(zhí)行打包文件名,在application.properties文件中指定web項(xiàng)目的上下文
- 老外寫的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同學(xué)可以直接查看這篇文章
開發(fā)過程
1.創(chuàng)建一個(gè)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.dbjr.com.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)行方式
- 直接啟動Application.java的main函數(shù),通過SpringBoot內(nèi)嵌的Tomcat運(yùn)行
- 執(zhí)行mvn package 生產(chǎn)"myweb.war"包,拷貝到自己部署的Tomcat下,啟動Tomcat運(yùn)行
7.運(yùn)行結(jié)果
訪問http://localhost:8080/myweb/index
頁面顯示www.dbjr.com.cn
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java設(shè)計(jì)模式之單態(tài)模式(Singleton模式)介紹
這篇文章主要介紹了Java設(shè)計(jì)模式之單態(tài)模式(Singleton模式)介紹,本文講解了如何使用單例模式、使用單例模式注意事項(xiàng)等內(nèi)容,需要的朋友可以參考下2015-03-03java自帶命令行工具jmap、jhat與jinfo的使用實(shí)例代碼詳解
本篇文章主要通過代碼實(shí)例對java自帶命令行工具jmap、jhat與jinfo的使用做出了詳解,需要的朋友可以參考下2017-04-04解決使用RestTemplate時(shí)報(bào)錯RestClientException的問題
這篇文章主要介紹了解決使用RestTemplate時(shí)報(bào)錯RestClientException的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08