摘要:初衷看了一下相關(guān)的書籍,創(chuàng)建一個的應(yīng)用,是那么的簡單。首先,我們只是創(chuàng)建一個簡單的并不打算使用默認的,而是使用傳統(tǒng)的。在下創(chuàng)建目錄并且在目錄下新建,內(nèi)容為頁面。如果是在內(nèi)置的的情況下,應(yīng)用會自動重啟。
初衷
看了一下spring-boot相關(guān)的書籍,創(chuàng)建一個hello world!的應(yīng)用,是那么的簡單。然而,自己動手,卻很不一樣。
首先,我們只是創(chuàng)建一個簡單的hello world!并不打算使用默認的thymeleaf,而是使用傳統(tǒng)的jsp。
當(dāng)然,我們不能把自己限制于一個簡單的hello world!我們要的是具有熱部署功能的!
我們只是構(gòu)建一個hello world! 的web應(yīng)用。
打包方式選擇war
起步依賴只需要選擇Web和DevTools即可。
springboot默認提供thymeleaf的模板,對于從傳統(tǒng)web開發(fā)轉(zhuǎn)過來的人來說,不喜歡!
然而 spring boot并沒有給我們初始化webapp目錄。所以,還是手動吧。
在“src/main”下創(chuàng)建“webapp/WEB_INF/jsp”目錄
并且在webapp目錄下新建index.jsp, 內(nèi)容為hello world頁面。
注意是webapp目錄下,不是“webapp/WEB-INF/jsp”目錄。
題外話:如果你甘愿hello world!那就hello吧,反正我是 change the world!三、處理pom.xml(添加jsp支持、war的插件) 1、然后添加jsp需要的依賴jstl
2、jsp編譯需要的依賴javax.servlet jstl
3、把spring-boot-starter-tomcat的provided屬性注釋掉 4、再添加一個插件(由于選擇的是war包方式)org.apache.tomcat.embed tomcat-embed-jasper
四、配置application.propertiesorg.apache.maven.plugins maven-surefire-plugin false
server.port=9090 spring.thymeleaf.cache=false spring.thymeleaf.enabled=false spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp五、啟動應(yīng)用
執(zhí)行main方法啟動應(yīng)用
啟動后訪問localhost:9090即可
spring-boot + 外置tomcat + jsp 一、同樣的方式初始化項目 二、同樣的方式處理jsp目錄 三、處理pom.mxl(添加jsp支持、war插件及排除掉) 1、然后添加jsp需要的依賴jstl4.0.0 com.lgh sample 0.0.1-SNAPSHOT war sample Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web javax.servlet jstl org.springframework.boot spring-boot-starter-tomcat org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-surefire-plugin false
2、start-web排除掉tomcatjavax.servlet jstl
3、添加servlet-apiorg.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
4、刪除spring-boot-starter-tomcat依賴 5、同樣添加一個插件javax.servlet javax.servlet-api 3.1.0 provided
四、同樣的配置application.properties 五、啟動應(yīng)用org.apache.maven.plugins maven-surefire-plugin false
(idea中)在run/debug configuration窗口中,添加tomcatServer,配置部署即可
注意這種方式,application.properties中的server.port是不生效的。
踩過的坑,吃過的屎 沒有熱部署,特別難受 1、添加一個依賴(初始化時如果選了就不需要手動添加了)4.0.0 com.lgh client 0.0.1-SNAPSHOT war client Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat javax.servlet jstl javax.servlet javax.servlet-api 3.1.0 provided org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-maven-plugin true org.apache.maven.plugins maven-surefire-plugin false maven-compiler-plugin 1.8
2、插件添加配置(里面的configuration節(jié)點加上)org.springframework.boot spring-boot-devtools runtime
org.springframework.boot spring-boot-maven-plugin true
添加了上面的兩個配置后,修改java代碼后,idea中可以右鍵recompile重新編譯
如果是在本地tomcat的情況下,idea會提示reload class。
如果是在spring boot內(nèi)置的tomcat的情況下,應(yīng)用會自動重啟。
首先,我們用idea創(chuàng)建的項目中,pom.xml文件是長這樣的
4.0.0 com.lgh sample 0.0.1-SNAPSHOT war sample Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-tomcat provided org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
為了支持jsp,我們加入兩個依賴
javax.servlet jstl
org.apache.tomcat.embed tomcat-embed-jasper provided
由于我們選擇了war的打包方式,你會發(fā)現(xiàn),自動創(chuàng)建了一個ServletInitializer類。
由于是war,還需要添加一個插件
org.apache.maven.plugins maven-surefire-plugin false
我們再src/main下創(chuàng)建“webapp”目錄,并創(chuàng)建一個index.jsp文件
(還要去配置application.properties文件,把默認的模板禁用掉)
以上步驟是大部分博客的過程。這時候,我們直接用main方法的方式啟動時,是醬紫的
解決辦法是:
把pom文件中的spring-boot-starter-tomcat 和 tomcat-embed-jasper的 provided屬性注釋掉。
注釋掉后,啟動起來,訪問localhost:8080即可看到hello world!
回到注釋provided屬性前,如果這時候我們把ServletInitializer注釋掉
把Application類繼承SpringBootServletInitializer, 像這樣子
@SpringBootApplication
public class ClientApplication extends SpringBootServletInitializer{
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(ClientApplication.class); } public static void main(String[] args) { SpringApplication.run(ClientApplication.class, args); }
}
此時執(zhí)行main方法啟動應(yīng)用,報錯如下
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.lgh.client.ClientApplication]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.servlet.support.SpringBootServletInitializer
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69346.html
摘要:如下頁面模版的配置啟動簡單流程當(dāng)我們運行的方法時調(diào)用靜態(tài)方法首先是實例化初始化的時候主要做主要做三件事根據(jù)下是否存在判斷是否要啟動一個。將配置環(huán)境加入到監(jiān)聽器對象中。方法將等重要組件與上下文對象關(guān)聯(lián)。自此的簡單流程到此結(jié)束。 正文 說springboot的啟動流程當(dāng)然少不了springboot啟動入口類 @SpringBootApplication public class Sprin...
摘要:這里使用的是數(shù)據(jù)庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關(guān)配置,數(shù)據(jù)源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團隊提供的全新框架...
摘要:第二個類級別注解是。將引導(dǎo)應(yīng)用程序,啟動,從而啟動自動配置服務(wù)器。比如想使用不同版本的,具體如下在標(biāo)簽中還可以指定編譯的版本和項目的編碼格式指定項目編碼為使用插件可以為項目提供的操作方式,的個,默認。 引言 Spring 框架對于很多 Java 開發(fā)人員來說都不陌生。Spring 框架包含幾十個不同的子項目,涵蓋應(yīng)用開發(fā)的不同方面。如此多的子項目和組件,一方面方便了開發(fā)人員的使用,另外...
摘要:學(xué)習(xí)筆記使用很容易創(chuàng)建一個獨立運行運行內(nèi)嵌容器準生產(chǎn)級別的基于框架的項目,使用你可以不用或者只需要很少的配置。異常消息如果這個錯誤是由異常引起的。錯誤發(fā)生時請求的路徑。 Spring-Boot 1.5 學(xué)習(xí)筆記 使用Spring Boot很容易創(chuàng)建一個獨立運行(運行jar,內(nèi)嵌Servlet容器)、準生產(chǎn)級別的基于Spring框架的項目,使用Spring Boot你可以不用或者只需要很...
摘要:現(xiàn)在這還是一個空的項目,我們可以在標(biāo)簽中添加我們需要的依賴,例如添加的依賴。修改我們的配置如下目前我們的這個項目還沒有導(dǎo)入任何,這點可以通過執(zhí)行命令確定。 本篇文章是SpringBoot最入門的介紹。我們不借助任何額外的工具,從無到有創(chuàng)建一個Spring Boot的web項目,并運行這個項目。 項目構(gòu)建 歸根結(jié)底,Spring Boot就只是一個框架,幾個jar而已,沒什么神奇的。但使...
閱讀 3996·2021-11-18 13:21
閱讀 4814·2021-09-27 14:01
閱讀 3124·2019-08-30 15:53
閱讀 2398·2019-08-30 15:43
閱讀 1743·2019-08-30 13:10
閱讀 1524·2019-08-29 18:39
閱讀 899·2019-08-29 15:05
閱讀 3354·2019-08-29 14:14