前言
使用SpringBoot來開發項目相對于傳統模式,要快速優雅許多,相信目前國內絕大部分web項目的開發還沒有使用SpringBoot來做,如果你正需要開發一個web項目,不妨嘗試使用SpringBoot來做。
本身SpringBoot是內嵌了web服務器,不需要單獨的Tomcat,但是實際生產環境中,如果是web項目,Tomcat肯定是運維部門部署好了的,這個Tomcat,做了一些個性化的設置,開發出來的項目需要部署到這個Tomcat,如果是使用SpringBoot開發web服務,我認為可以直接使用內嵌的Tomcat,簡單易于維護。
技術框架
- SpringBoot
- Maven
- Tomcat8
要點
- 啟動類Application.java需要繼承SpringBootServletInitializer
- 打包war的時候,過濾tomcat依賴,需要添加<scope>provided</scope>
- 通過maven-war-plugin執行打包文件名,在application.properties文件中指定web項目的上下文
- 老外寫的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同學可以直接查看這篇文章
開發過程
1.創建一個Maven Project(quickstart),名稱為myweb,添加POM依賴
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
< 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.創建Application.java
1
2
3
4
5
6
|
@SpringBootApplication public class SpringBootWebApplication extends SpringBootServletInitializer { public static void main(String[] args) throws Exception { SpringApplication.run(SpringBootWebApplication. class , args); } } |
3.創建IndexController.java
1
2
3
4
5
6
7
8
9
|
@Controller @RequestMapping ( "/" ) public class IndexController{ @RequestMapping ( "/index" ) public String index(ModelMap map){ map.addAttribute( "host" , "www.jfrwli.cn" ); return "index" ; } } |
4.在src/main/resources下創建application.properties
1
|
server.contextPath=/myweb |
5.在src/main/resources創建templates文件夾,添加index.html文件
1
2
3
4
5
6
7
8
9
|
<!DOCTYPE HTML> < html > < head lang = "en" > < meta charset = "UTF-8" /> < title ></ title > </ head > < body > < h1 th:text = "${host}" ></ h1 > </ body > |
6.運行方式
- 直接啟動Application.java的main函數,通過SpringBoot內嵌的Tomcat運行
- 執行mvn package 生產"myweb.war"包,拷貝到自己部署的Tomcat下,啟動Tomcat運行
7.運行結果
訪問http://localhost:8080/myweb/index
頁面顯示www.jfrwli.cn
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.jianshu.com/p/157eb1ab8524?utm_source=tuicool&utm_medium=referral