国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

spring-boot創(chuàng)建最簡(jiǎn)單的web應(yīng)用

xiaolinbang / 2954人閱讀

摘要:初衷看了一下相關(guān)的書(shū)籍,創(chuàng)建一個(gè)的應(yīng)用,是那么的簡(jiǎn)單。首先,我們只是創(chuàng)建一個(gè)簡(jiǎn)單的并不打算使用默認(rèn)的,而是使用傳統(tǒng)的。在下創(chuàng)建目錄并且在目錄下新建,內(nèi)容為頁(yè)面。如果是在內(nèi)置的的情況下,應(yīng)用會(huì)自動(dòng)重啟。

初衷

看了一下spring-boot相關(guān)的書(shū)籍,創(chuàng)建一個(gè)hello world!的應(yīng)用,是那么的簡(jiǎn)單。然而,自己動(dòng)手,卻很不一樣。

首先,我們只是創(chuàng)建一個(gè)簡(jiǎn)單的hello world!并不打算使用默認(rèn)的thymeleaf,而是使用傳統(tǒng)的jsp。
當(dāng)然,我們不能把自己限制于一個(gè)簡(jiǎn)單的hello world!我們要的是具有熱部署功能的!

spring-boot + 內(nèi)置tomcat + jsp 一、初始化項(xiàng)目:

我們只是構(gòu)建一個(gè)hello world! 的web應(yīng)用。
打包方式選擇war
起步依賴只需要選擇Web和DevTools即可。

二、處理jsp目錄

springboot默認(rèn)提供thymeleaf的模板,對(duì)于從傳統(tǒng)web開(kāi)發(fā)轉(zhuǎn)過(guò)來(lái)的人來(lái)說(shuō),不喜歡!
然而 spring boot并沒(méi)有給我們初始化webapp目錄。所以,還是手動(dòng)吧。

在“src/main”下創(chuàng)建“webapp/WEB_INF/jsp”目錄
并且在webapp目錄下新建index.jsp, 內(nèi)容為hello world頁(yè)面。
注意是webapp目錄下,不是“webapp/WEB-INF/jsp”目錄。

題外話:如果你甘愿hello world!那就hello吧,反正我是 change the world!
三、處理pom.xml(添加jsp支持、war的插件) 1、然后添加jsp需要的依賴jstl

javax.servlet
jstl
2、jsp編譯需要的依賴

org.apache.tomcat.embed
tomcat-embed-jasper
3、把spring-boot-starter-tomcat的provided屬性注釋掉 4、再添加一個(gè)插件(由于選擇的是war包方式)

    org.apache.maven.plugins
    maven-surefire-plugin
    
        false
    
四、配置application.properties
server.port=9090

spring.thymeleaf.cache=false
spring.thymeleaf.enabled=false
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
五、啟動(dòng)應(yīng)用

執(zhí)行main方法啟動(dòng)應(yīng)用
啟動(dòng)后訪問(wèn)localhost:9090即可

六、處理完后的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
        
        
            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
                
            
        
    
spring-boot + 外置tomcat + jsp 一、同樣的方式初始化項(xiàng)目 二、同樣的方式處理jsp目錄 三、處理pom.mxl(添加jsp支持、war插件及排除掉) 1、然后添加jsp需要的依賴jstl

javax.servlet
jstl
2、start-web排除掉tomcat

    org.springframework.boot
    spring-boot-starter-web
    
        
            org.springframework.boot
            spring-boot-starter-tomcat
        
    
3、添加servlet-api

    javax.servlet
    javax.servlet-api
    3.1.0
    provided
4、刪除spring-boot-starter-tomcat依賴 5、同樣添加一個(gè)插件

    org.apache.maven.plugins
    maven-surefire-plugin
    
        false
    
四、同樣的配置application.properties 五、啟動(dòng)應(yīng)用

(idea中)在run/debug configuration窗口中,添加tomcatServer,配置部署即可
注意這種方式,application.properties中的server.port是不生效的。

六、處理完后的pom.xml是先這樣子的


    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
                    1.8
                
            
        
    



踩過(guò)的坑,吃過(guò)的屎 沒(méi)有熱部署,特別難受 1、添加一個(gè)依賴(初始化時(shí)如果選了就不需要手動(dòng)添加了)

    org.springframework.boot
    spring-boot-devtools
    runtime
2、插件添加配置(里面的configuration節(jié)點(diǎn)加上)

    org.springframework.boot
    spring-boot-maven-plugin
    
        true
    

添加了上面的兩個(gè)配置后,修改java代碼后,idea中可以右鍵recompile重新編譯
如果是在本地tomcat的情況下,idea會(huì)提示reload class。
如果是在spring boot內(nèi)置的tomcat的情況下,應(yīng)用會(huì)自動(dòng)重啟。

不同的引導(dǎo)方式,不同的報(bào)錯(cuò)信息

首先,我們用idea創(chuàng)建的項(xiàng)目中,pom.xml文件是長(zhǎng)這樣的



    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,我們加入兩個(gè)依賴


    javax.servlet
    jstl

    org.apache.tomcat.embed
    tomcat-embed-jasper
    provided

由于我們選擇了war的打包方式,你會(huì)發(fā)現(xiàn),自動(dòng)創(chuàng)建了一個(gè)ServletInitializer類。
由于是war,還需要添加一個(gè)插件


    org.apache.maven.plugins
    maven-surefire-plugin
    
        false
    

我們?cè)賡rc/main下創(chuàng)建“webapp”目錄,并創(chuàng)建一個(gè)index.jsp文件
(還要去配置application.properties文件,把默認(rèn)的模板禁用掉)

以上步驟是大部分博客的過(guò)程。這時(shí)候,我們直接用main方法的方式啟動(dòng)時(shí),是醬紫的

解決辦法是:
把pom文件中的spring-boot-starter-tomcat 和 tomcat-embed-jasper的 provided屬性注釋掉。
注釋掉后,啟動(dòng)起來(lái),訪問(wèn)localhost:8080即可看到hello world!

回到注釋provided屬性前,如果這時(shí)候我們把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);
}

}

此時(shí)執(zhí)行main方法啟動(dòng)應(yīng)用,報(bào)錯(cuò)如下
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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/69346.html

相關(guān)文章

  • 三.spring-boot:簡(jiǎn)述springboot啟動(dòng)流程

    摘要:如下頁(yè)面模版的配置啟動(dòng)簡(jiǎn)單流程當(dāng)我們運(yùn)行的方法時(shí)調(diào)用靜態(tài)方法首先是實(shí)例化初始化的時(shí)候主要做主要做三件事根據(jù)下是否存在判斷是否要啟動(dòng)一個(gè)。將配置環(huán)境加入到監(jiān)聽(tīng)器對(duì)象中。方法將等重要組件與上下文對(duì)象關(guān)聯(lián)。自此的簡(jiǎn)單流程到此結(jié)束。 正文 說(shuō)springboot的啟動(dòng)流程當(dāng)然少不了springboot啟動(dòng)入口類 @SpringBootApplication public class Sprin...

    masturbator 評(píng)論0 收藏0
  • SpringBoot 入門(mén)簡(jiǎn)介

    摘要:這里使用的是數(shù)據(jù)庫(kù)啟動(dòng)類上加上注解在啟動(dòng)類中添加對(duì)包掃描掃描多個(gè)包下的可以有以下幾種方法掃描會(huì)自動(dòng)加載相關(guān)配置,數(shù)據(jù)源就會(huì)自動(dòng)注入到中,會(huì)自動(dòng)注入到中,可以直接使用。有配置文件下的使用掃描多個(gè)包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團(tuán)隊(duì)提供的全新框架...

    chuyao 評(píng)論0 收藏0
  • Spring Boot (一)helloworld

    摘要:第二個(gè)類級(jí)別注解是。將引導(dǎo)應(yīng)用程序,啟動(dòng),從而啟動(dòng)自動(dòng)配置服務(wù)器。比如想使用不同版本的,具體如下在標(biāo)簽中還可以指定編譯的版本和項(xiàng)目的編碼格式指定項(xiàng)目編碼為使用插件可以為項(xiàng)目提供的操作方式,的個(gè),默認(rèn)。 引言 Spring 框架對(duì)于很多 Java 開(kāi)發(fā)人員來(lái)說(shuō)都不陌生。Spring 框架包含幾十個(gè)不同的子項(xiàng)目,涵蓋應(yīng)用開(kāi)發(fā)的不同方面。如此多的子項(xiàng)目和組件,一方面方便了開(kāi)發(fā)人員的使用,另外...

    go4it 評(píng)論0 收藏0
  • Spring-Boot學(xué)習(xí)筆記

    摘要:學(xué)習(xí)筆記使用很容易創(chuàng)建一個(gè)獨(dú)立運(yùn)行運(yùn)行內(nèi)嵌容器準(zhǔn)生產(chǎn)級(jí)別的基于框架的項(xiàng)目,使用你可以不用或者只需要很少的配置。異常消息如果這個(gè)錯(cuò)誤是由異常引起的。錯(cuò)誤發(fā)生時(shí)請(qǐng)求的路徑。 Spring-Boot 1.5 學(xué)習(xí)筆記 使用Spring Boot很容易創(chuàng)建一個(gè)獨(dú)立運(yùn)行(運(yùn)行jar,內(nèi)嵌Servlet容器)、準(zhǔn)生產(chǎn)級(jí)別的基于Spring框架的項(xiàng)目,使用Spring Boot你可以不用或者只需要很...

    curlyCheng 評(píng)論0 收藏0
  • Spring Boot Hello World

    摘要:現(xiàn)在這還是一個(gè)空的項(xiàng)目,我們可以在標(biāo)簽中添加我們需要的依賴,例如添加的依賴。修改我們的配置如下目前我們的這個(gè)項(xiàng)目還沒(méi)有導(dǎo)入任何,這點(diǎn)可以通過(guò)執(zhí)行命令確定。 本篇文章是SpringBoot最入門(mén)的介紹。我們不借助任何額外的工具,從無(wú)到有創(chuàng)建一個(gè)Spring Boot的web項(xiàng)目,并運(yùn)行這個(gè)項(xiàng)目。 項(xiàng)目構(gòu)建 歸根結(jié)底,Spring Boot就只是一個(gè)框架,幾個(gè)jar而已,沒(méi)什么神奇的。但使...

    lijinke666 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<