SpringBoot 創(chuàng)建web項目并部署到外部Tomcat
前言
使用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ù),我認(rèn)為可以直接使用內(nèi)嵌的Tomcat,簡單易于維護(hù)。
技術(shù)框架
- SpringBoot
- Maven
- Tomcat8
要點
- 啟動類Application.java需要繼承SpringBootServletInitializer
- 打包war的時候,過濾tomcat依賴,需要添加<scope>provided</scope>
- 通過maven-war-plugin執(zhí)行打包文件名,在application.properties文件中指定web項目的上下文
- 老外寫的文章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.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.運行方式
- 直接啟動Application.java的main函數(shù),通過SpringBoot內(nèi)嵌的Tomcat運行
- 執(zhí)行mvn package 生產(chǎn)"myweb.war"包,拷貝到自己部署的Tomcat下,啟動Tomcat運行
7.運行結(jié)果
訪問http://localhost:8080/myweb/index
頁面顯示www.dbjr.com.cn
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java設(shè)計模式之單態(tài)模式(Singleton模式)介紹
這篇文章主要介紹了Java設(shè)計模式之單態(tài)模式(Singleton模式)介紹,本文講解了如何使用單例模式、使用單例模式注意事項等內(nèi)容,需要的朋友可以參考下2015-03-03java自帶命令行工具jmap、jhat與jinfo的使用實例代碼詳解
本篇文章主要通過代碼實例對java自帶命令行工具jmap、jhat與jinfo的使用做出了詳解,需要的朋友可以參考下2017-04-04解決使用RestTemplate時報錯RestClientException的問題
這篇文章主要介紹了解決使用RestTemplate時報錯RestClientException的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08