最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一. 引入相關jar包

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

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

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

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

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

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

二. 編寫java代碼

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

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

2. 刪除super方法

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

補充:

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

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

@Override

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

3. 構造相關字符串

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

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

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

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

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

此時,完整代碼如上所示

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

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

首先我們在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>

最后,我們將這些內容寫進去即可

四. 打包程序

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

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

此時直接雙擊就可以進行打包了

結果如上所示。

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

此時博主將名字設置成servlet1

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

五. 部署程序

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

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

  • 其中在WEB-INF中就包含了web.xml以及編譯后生成的.class文件
  • META-INF中包含了當前webapp中依賴的第三方jar包

六. 驗證程序是否正常工作

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

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

相關文章

  • 高斯混合模型與EM算法圖文詳解

    高斯混合模型與EM算法圖文詳解

    高斯模型就是用高斯概率密度函數(正態(tài)分布曲線)精確地量化事物,將一個事物分解為若干的基于高斯概率密度函數(正態(tài)分布曲線)形成的模型
    2021-08-08
  • Java?異常機制Exception和自定義異常

    Java?異常機制Exception和自定義異常

    這篇文章主要介紹了Java?異常機制Exception+自定義異常,異常分三種檢查性異常、運行時異常、錯誤ERROR,下文對其更多詳細介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Java平臺調試體系原理分析和實踐整理 遠程Debug

    Java平臺調試體系原理分析和實踐整理 遠程Debug

    這篇文章主要介紹了Java平臺調試體系原理分析和實踐整理 遠程Debug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Springboot項目全局異常統(tǒng)一處理案例代碼

    Springboot項目全局異常統(tǒng)一處理案例代碼

    最近在做項目時需要對異常進行全局統(tǒng)一處理,主要是一些分類入庫以及記錄日志等,因為項目是基于Springboot的,所以去網絡上找了一些博客文檔,然后再結合項目本身的一些特殊需求做了些許改造,現(xiàn)在記錄下來便于以后查看
    2023-01-01
  • Java報錯:UnsupportedOperationException in Collections的解決方案

    Java報錯:UnsupportedOperationException in Collection

    在Java編程中,UnsupportedOperationException是一種常見的運行時異常,通常在試圖對不支持的操作執(zhí)行修改時發(fā)生,它表示當前操作不被支持,本文將深入探討UnsupportedOperationException的產生原因,并提供具體的解決方案和最佳實踐,需要的朋友可以參考下
    2024-06-06
  • JAVA日常開發(fā)中一些常見問題歸納講解

    JAVA日常開發(fā)中一些常見問題歸納講解

    這篇文章主要給大家介紹了JAVA日常開發(fā)中一些常見問題的相關資料,包括語法錯誤、數據類型問題、面向對象編程問題、集合類問題以及文件操作問題,通過詳細的分析和示例,幫助程序員提高代碼的健壯性和可維護性,需要的朋友可以參考下
    2024-12-12
  • Java經典算法匯總之選擇排序(SelectionSort)

    Java經典算法匯總之選擇排序(SelectionSort)

    選擇排序也是比較簡單的一種排序方法,原理也比較容易理解,選擇排序在每次遍歷過程中只記錄下來最小的一個元素的下標,待全部比較結束之后,將最小的元素與未排序的那部分序列的最前面一個元素交換,這樣就降低了交換的次數,提高了排序效率。
    2016-04-04
  • jsp、servlet前后端交互對數據處理及展示的簡單實現(xiàn)

    jsp、servlet前后端交互對數據處理及展示的簡單實現(xiàn)

    Servlet和JSP是Java Web開發(fā)中的兩個重要概念,在Servlet和JSP中前后端交互可以通過一些方式來實現(xiàn),這篇文章主要給大家介紹了關于jsp、servlet前后端交互對數據處理及展示的簡單實現(xiàn),需要的朋友可以參考下
    2023-12-12
  • java使用定時器實現(xiàn)監(jiān)聽數據變化

    java使用定時器實現(xiàn)監(jiān)聽數據變化

    這篇文章主要為大家詳細介紹了Java如何使用定時器監(jiān)聽數據變化,當滿足某個條件時(例如沒有數據更新)自動執(zhí)行某項任務,有興趣的可以了解下
    2023-11-11
  • mybatis-plus調用update方法時,自動填充字段不生效問題及解決

    mybatis-plus調用update方法時,自動填充字段不生效問題及解決

    這篇文章主要介紹了mybatis-plus調用update方法時,自動填充字段不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

兴海县| 东兰县| 依安县| 上杭县| 遂川县| 福安市| 汉寿县| 成武县| 江都市| 原平市| 平武县| 新乡市| 富阳市| 沁源县| 信丰县| 英吉沙县| 辽源市| 陇川县| 邯郸市| 营口市| 陆良县| 文安县| 济源市| 庆阳市| 太谷县| 寿宁县| 洪洞县| 揭东县| 南宁市| 肥西县| 即墨市| 邮箱| 稻城县| 南昌市| 嘉祥县| 无锡市| 和龙市| 罗甸县| 迁西县| 郸城县| 马尔康县|