SpringBoot使用外置的Servlet容器的方法步驟
嵌入式Servlet容器:應(yīng)用打成可執(zhí)行的jar
優(yōu)點(diǎn):簡(jiǎn)單、便攜
缺點(diǎn):默認(rèn)不支持JSP、優(yōu)化定制比較復(fù)雜
外置的Servlet容器:外面安裝Tomcat---應(yīng)用war包的方式打包
一.嵌入式tomcat啟動(dòng)項(xiàng)目步驟:
1.創(chuàng)建一個(gè)普通maven項(xiàng)目;(利用idea創(chuàng)建好目錄結(jié)構(gòu))
可以創(chuàng)建一個(gè)普通的maven項(xiàng)目

2.將項(xiàng)目修改為springboot的項(xiàng)目結(jié)構(gòu)
在pom文件中添加啟動(dòng)類(lèi)依賴(lài)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>編寫(xiě)啟動(dòng)類(lèi)
@SpringBootApplication
public class SpringbootTomcatApplication {
public static void main(String[] args) {
org.springframework.boot.SpringApplication.run(SpringbootTomcatApplication.class, args);
}
}創(chuàng)建配置文件application.yml
配置端口號(hào)
server: port: 8085
3.創(chuàng)建templates目錄,編寫(xiě)前端頁(yè)面
在pom文件中導(dǎo)入templates視圖引擎依賴(lài)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>編寫(xiě)前端頁(yè)面
<!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層,編寫(xiě)controller代碼
@Controller
@RequestMapping("/user")
public class SuccessController {
@RequestMapping("/success")
public String success(){
System.out.println("1111111111111111111");
return "success";
}
}在pom文件中導(dǎo)入web依賴(lài),否則@RequestMapping注解無(wú)法識(shí)別
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>此時(shí)就可以成功啟動(dòng)了
注意,此時(shí)是內(nèi)置的tomcat啟動(dòng)的
接下來(lái)演示如何修改使用外置tomcat啟動(dòng)項(xiàng)目:
二.外置tomcat啟動(dòng)項(xiàng)目:
1.必須創(chuàng)建一個(gè)war項(xiàng)目;(利用idea創(chuàng)建好目錄結(jié)構(gòu))
然后在pom文件中指定打包方式為war包

2.導(dǎo)入外部Tomcat依賴(lài)并指定為provided;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>3.修改項(xiàng)目結(jié)構(gòu)

創(chuàng)建Webapp/WEB-INF/Pages/success.jsp前端頁(yè)面
創(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>修改項(xiàng)目結(jié)構(gòu)
4.配置tomcat





5.必須編寫(xiě)一個(gè)SpringBootServletInitializer的子類(lèi),并調(diào)用configure方法
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//傳入SpringBoot應(yīng)用的主程序
return application.sources(SpringBootApplication.class);
}
}編寫(xiě)controller層代碼
在yml配置文件編寫(xiě)前綴后綴
spring:
mvc:
view:
prefix: /WEB-INF/Pages/
suffix: .jsp這樣就不會(huì)訪(fǎng)問(wèn)到你之前寫(xiě)的success.html頁(yè)面了
而是訪(fǎng)問(wèn)剛剛寫(xiě)的success.jsp頁(yè)面
此時(shí)啟動(dòng)就可以了
原理
jar包:執(zhí)行SpringBoot主類(lèi)的main方法,啟動(dòng)ioc容器,創(chuàng)建嵌入式的Servlet容器;
war包:?jiǎn)?dòng)服務(wù)器,服務(wù)器啟動(dòng)SpringBoot應(yīng)用【SpringBootServletInitializer】,啟動(dòng)ioc容器;
以上就是SpringBoot使用外置的Servlet容器的方法步驟的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot使用Servlet容器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java Agent入門(mén)學(xué)習(xí)之動(dòng)態(tài)修改代碼
這篇文章主要給大家分享了Java Agent入門(mén)學(xué)習(xí)之動(dòng)態(tài)修改代碼的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07
java中public class與class的區(qū)別詳解
以下是對(duì)java中public class與class的區(qū)別進(jìn)行了分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-07-07
springboot日期轉(zhuǎn)換器實(shí)現(xiàn)實(shí)例解析
這篇文章主要介紹了springboot日期轉(zhuǎn)換器實(shí)現(xiàn)實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
基于Java手寫(xiě)一個(gè)通用限流任務(wù)執(zhí)行器
調(diào)用第三方API最怕什么,那就是怕被限流,今天分享一個(gè)自制的限流任務(wù)執(zhí)行器,能幫你輕松控制請(qǐng)求頻率,還能自動(dòng)重試失敗任務(wù),指數(shù)退避不添亂,快跟隨小編一起學(xué)習(xí)起來(lái)吧2026-04-04
Java中Pattern.compile函數(shù)的使用詳解
這篇文章主要介紹了Java中Pattern.compile函數(shù)的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringCloud如何搭建一個(gè)多模塊項(xiàng)目
這篇文章主要介紹了SpringCloud如何搭建一個(gè)多模塊項(xiàng)目,記錄下使用SpringCloud創(chuàng)建多模塊項(xiàng)目,一步一步記錄搭建的過(guò)程,感興趣的可以了解一下2021-05-05
使用eclipse打包Maven項(xiàng)目的實(shí)現(xiàn)步驟
本文主要介紹了使用eclipse打包Maven項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03

