SpringBoot使用外置的Servlet容器的方法步驟
嵌入式Servlet容器:應用打成可執(zhí)行的jar
優(yōu)點:簡單、便攜
缺點:默認不支持JSP、優(yōu)化定制比較復雜
外置的Servlet容器:外面安裝Tomcat---應用war包的方式打包
一.嵌入式tomcat啟動項目步驟:
1.創(chuàng)建一個普通maven項目;(利用idea創(chuàng)建好目錄結構)
可以創(chuàng)建一個普通的maven項目
2.將項目修改為springboot的項目結構
在pom文件中添加啟動類依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> </dependencies>
編寫啟動類
@SpringBootApplication public class SpringbootTomcatApplication { public static void main(String[] args) { org.springframework.boot.SpringApplication.run(SpringbootTomcatApplication.class, args); } }
創(chuàng)建配置文件application.yml
配置端口號
server: port: 8085
3.創(chuàng)建templates目錄,編寫前端頁面
在pom文件中導入templates視圖引擎依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
編寫前端頁面
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>success</h1> </body> </html>
4.創(chuàng)建controller層,編寫controller代碼
@Controller @RequestMapping("/user") public class SuccessController { @RequestMapping("/success") public String success(){ System.out.println("1111111111111111111"); return "success"; } }
在pom文件中導入web依賴,否則@RequestMapping注解無法識別
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
此時就可以成功啟動了
注意,此時是內置的tomcat啟動的
接下來演示如何修改使用外置tomcat啟動項目:
二.外置tomcat啟動項目:
1.必須創(chuàng)建一個war項目;(利用idea創(chuàng)建好目錄結構)
然后在pom文件中指定打包方式為war包
2.導入外部Tomcat依賴并指定為provided;
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3.修改項目結構
創(chuàng)建Webapp/WEB-INF/Pages/success.jsp前端頁面
創(chuàng)建Webapp/WEB-INF/Web.xml配置文件
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>success</title> </head> <body> <h1>外置tomcat的使用</h1> </body> </html>
Web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> </web-app>
修改項目結構
4.配置tomcat
5.必須編寫一個SpringBootServletInitializer的子類,并調用configure方法
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { //傳入SpringBoot應用的主程序 return application.sources(SpringBootApplication.class); } }
編寫controller層代碼
在yml配置文件編寫前綴后綴
spring: mvc: view: prefix: /WEB-INF/Pages/ suffix: .jsp
這樣就不會訪問到你之前寫的success.html頁面了
而是訪問剛剛寫的success.jsp頁面
此時啟動就可以了
原理
jar包:執(zhí)行SpringBoot主類的main方法,啟動ioc容器,創(chuàng)建嵌入式的Servlet容器;
war包:啟動服務器,服務器啟動SpringBoot應用【SpringBootServletInitializer】,啟動ioc容器;
以上就是SpringBoot使用外置的Servlet容器的方法步驟的詳細內容,更多關于SpringBoot使用Servlet容器的資料請關注腳本之家其它相關文章!
相關文章
Spring中異步注解@Async的使用、原理及使用時可能導致的問題及解決方法
這篇文章主要介紹了Spring中異步注解@Async的使用、原理及使用時可能導致的問題及解決方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07java實現(xiàn)ModbusCRC16校驗的示例代碼
本文介紹了使用Java實現(xiàn)ModbusCRC16校驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-11-11IntelliJ IDEA修改內存大小,使得idea運行更流暢
今天小編就為大家分享一篇關于IntelliJ IDEA修改內存大小,使得idea運行更流暢的文章,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10Java中用enum結合testng實現(xiàn)數(shù)據(jù)驅動的方法示例
TestNG數(shù)據(jù)驅動提供的參數(shù)化讓我們在測試項目可以靈活根據(jù)需求建立不同的dataprovider來提供數(shù)據(jù),而真正實現(xiàn)數(shù)據(jù),頁面,測試彼此獨立而又有機結合的可能性。 下面這篇文章主要給大家介紹了Java中用enum和testng做數(shù)據(jù)驅動的方法示例,需要的朋友可以參考借鑒。2017-01-01