亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

實(shí)現(xiàn)一個基于Servlet的hello world程序詳解步驟

 更新時間:2022年02月12日 15:40:34   作者:春風(fēng)~十一載  
Java Servlet 是運(yùn)行在 Web 服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層

一. 引入相關(guān)jar包

首先,我們先在idea里創(chuàng)建出一個Maven項(xiàng)目出來,除了路徑要填成自己的希望路徑以外,其他都可以一路next和finish

創(chuàng)建好后,我們需要在pom.xml中加上一組<dependencies>標(biāo)簽,在標(biāo)簽里引入servlet api的jar包,引入方法為從maven中央倉庫中復(fù)制粘貼即可maven中央倉庫

打開后,我們在搜索框中輸入servlet,其中第一個就是我們想要的結(jié)果

我們選擇與Tomcat對應(yīng)的版本號的Java Servlet API (博主的Tomcat版本為8,所以就選擇了3.1.0這個版本號)

此時我們直接將中間這段代碼復(fù)制到我們創(chuàng)建好的<dependencies>標(biāo)簽中即可

注意:剛開始引入后代碼可能為紅顏色,表示maven正在下載資源,只需等一會時間,或者過一會刷新一下便可以引入成功

二. 編寫java代碼

1. 創(chuàng)建一個類

我們創(chuàng)建的代碼,需要繼承自HttpServlet類,然后才能讓這個類被Tomcat給調(diào)用到,如果剛才Maven的依賴下載的不正確,此時HttpServlet是不能被補(bǔ)全出來(標(biāo)紅的)

2. 刪除super方法

//super.doGet(req, resp); 此方法是直接構(gòu)造了一個錯誤的響應(yīng)(狀態(tài)碼為405的響應(yīng)),一定要將其刪掉

補(bǔ)充:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

doGet是HttpServlet這個父類的方法,這個方法的參數(shù)分別是HttpServletRequest(HTTP請求)和HttpServletResponse(HTTP響應(yīng)),doGet方法里要做的事情就是根據(jù)請求生成響應(yīng)。

@Override

我們此處重寫了這個doGet之后,并不需要手動調(diào)用doGet,而是由Tomcat自動來調(diào)用;也不需要咱們手動的創(chuàng)建HelloServlet實(shí)例,也是由Tomcat自動創(chuàng)建實(shí)例。

3. 構(gòu)造相關(guān)字符串

這個操作,就是往HTTP響應(yīng)的body中寫了一個"hello world"字符串。

4. 將類和HTTP特定請求相關(guān)聯(lián)

剛才我們雖然將相關(guān)字符串構(gòu)造成功了,但我們還不知道發(fā)送一個什么樣的請求才能執(zhí)行到HelloServlet類的代碼,因此,我們需要將類和一個HTTP特定請求相關(guān)聯(lián),方法就是在類前面加上這個注解:

根據(jù)HTTP請求與url路徑進(jìn)行關(guān)聯(lián)即可

  • 如果咱們的Tomcat 收到了一個路徑為/hello 的請求,就會調(diào)用到HelloServlet的代碼;
  • 如果這個請求是GET請求,就會調(diào)用到HelloServlet的doGet方法
  • 同理,如果這個請求是POST請求,就會調(diào)用到HelloServlet的doPost方法

此時,完整代碼如上所示

三. 創(chuàng)建一些必要的目錄和文件

要想讓此程序在Tomcat上運(yùn)行,只是依靠Maven創(chuàng)建的目錄和文件是不夠的,還得我們自己來創(chuàng)建一些額外的內(nèi)容

首先我們在main目錄下創(chuàng)建一個新的webapp目錄

緊接著,在剛才創(chuàng)建的目錄底下再創(chuàng)建一個WEB-INF目錄

然后,我們在剛剛創(chuàng)建的目錄底下再創(chuàng)建一個xml文件即可(如果是一個靜態(tài)頁面部署到Tomcat上是不需要xml文件的,但如果是servlet代碼,要想讓Tomcat識別,必須要有此文件)

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
</web-app>

最后,我們將這些內(nèi)容寫進(jìn)去即可

四. 打包程序

完成以上步驟后,我們就需要把我們當(dāng)前的代碼進(jìn)行編譯然后生成一個壓縮包出來,此時,我們可以繼續(xù)通過maven來完成 由于我們通過maven打出來的包是jar格式的,Tomcat不能直接識別jar格式的包,jar包一般是使用java -jar命令來運(yùn)行的,而Tomcat所識別的格式是war這個格式,因此我們應(yīng)該打成一個war格式的包

我們直接在pom.xml中手動修改即可

此時直接雙擊就可以進(jìn)行打包了

結(jié)果如上所示。

  • 這個war包部署到tomcat上, tomcat就會自動解壓縮,生成一個同名的目錄~
  • 后面通過瀏覽器URL訪問這個webapp的時候,要在URL中帶上這個目錄的名字~~
  • 因此我們最好換一個簡單一點(diǎn)的名字,后邊以便訪問

此時博主將名字設(shè)置成servlet1

此時,我們繼續(xù)打包即可生成我們想要名稱的包

五. 部署程序

打完包后,我們將生成的war包部署到Tomcat上即可(將war包拷貝到Tomcat的webapps的目錄中)

然后我們啟動Tomcat后,會在webapps底下生成一個與war包同名的目錄

  • 其中在WEB-INF中就包含了web.xml以及編譯后生成的.class文件
  • META-INF中包含了當(dāng)前webapp中依賴的第三方j(luò)ar包

六. 驗(yàn)證程序是否正常工作

當(dāng)前面的所有步驟都完成后,接下來我們就可以檢驗(yàn)了,只需要通過瀏覽器訪問一下Tomcat,構(gòu)造一個特定的請求,觸發(fā)到特定的代碼即可

到此這篇關(guān)于實(shí)現(xiàn)一個基于Servlet的hello world程序詳解步驟的文章就介紹到這了,更多相關(guān)Servlet hello world內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis?使用concat?模糊查詢方式

    mybatis?使用concat?模糊查詢方式

    這篇文章主要介紹了mybatis?使用concat?模糊查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java教程之java程序編譯運(yùn)行圖解(java程序運(yùn)行)

    java教程之java程序編譯運(yùn)行圖解(java程序運(yùn)行)

    最近重新復(fù)習(xí)了一下java基礎(chǔ),在使用javap的過程中遇到了一些問題,這里便講講對于一個類文件如何編譯、運(yùn)行、反編譯的。也讓自己加深一下印象
    2014-03-03
  • Redis集群與SSM整合使用方法

    Redis集群與SSM整合使用方法

    這篇文章主要介紹了Redis集群與SSM整合使用方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-12-12
  • Java實(shí)現(xiàn)手寫自旋鎖的示例代碼

    Java實(shí)現(xiàn)手寫自旋鎖的示例代碼

    自旋鎖是專為防止多處理器并發(fā)而引入的一種鎖,它在內(nèi)核中大量應(yīng)用于中斷處理等部分。本文將用Java實(shí)現(xiàn)手寫自旋鎖,需要的可以參考一下
    2022-08-08
  • Spring實(shí)現(xiàn)文件上傳(示例代碼)

    Spring實(shí)現(xiàn)文件上傳(示例代碼)

    Spring可以繼承commons-fileupload插件來實(shí)現(xiàn)文件上傳的功能。分為前端JSP編寫和后臺Controller的編寫
    2013-10-10
  • SpringBoot中分頁插件PageHelper的使用詳解

    SpringBoot中分頁插件PageHelper的使用詳解

    分頁查詢是為了高效展示大量數(shù)據(jù),通過分頁將數(shù)據(jù)劃分為多個部分逐頁展示,原生方法需手動計算數(shù)據(jù)起始行,而使用PageHelper插件則簡化這一過程,本文給大家介紹SpringBoot中分頁插件PageHelper的使用,感興趣的朋友一起看看吧
    2024-09-09
  • SpringBoot中@Transiactional注解沒有效果的解決

    SpringBoot中@Transiactional注解沒有效果的解決

    這篇文章主要介紹了SpringBoot中@Transiactional注解沒有效果的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Spring MVC中異常處理的三種方式

    Spring MVC中異常處理的三種方式

    這篇文章主要給大家介紹了關(guān)于Spring MVC中異常處理的三種方式,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring MVC具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java基于對象流實(shí)現(xiàn)銀行系統(tǒng)

    Java基于對象流實(shí)現(xiàn)銀行系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java基于對象流實(shí)現(xiàn)銀行系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java多線程CyclicBarrier的實(shí)現(xiàn)代碼

    Java多線程CyclicBarrier的實(shí)現(xiàn)代碼

    CyclicBarrier可以使一定數(shù)量的線程反復(fù)地在柵欄位置處匯集,本文通過實(shí)例代碼介紹下Java多線程CyclicBarrier的相關(guān)知識,感興趣的朋友一起看看吧
    2022-02-02

最新評論