中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現一個基于Servlet的hello?world程序

發布時間:2022-02-14 09:52:41 來源:億速云 閱讀:129 作者:小新 欄目:開發技術

這篇文章主要介紹如何實現一個基于Servlet的hello world程序,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一. 引入相關jar包

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

二. 編寫java代碼

1. 創建一個類

如何實現一個基于Servlet的hello?world程序

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

2. 刪除super方法

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

補充:

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

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

@Override

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

3. 構造相關字符串

如何實現一個基于Servlet的hello?world程序

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

4. 將類和HTTP特定請求相關聯

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

如何實現一個基于Servlet的hello?world程序

根據HTTP請求與url路徑進行關聯即可

  • 如果咱們的Tomcat 收到了一個路徑為/hello 的請求,就會調用到HelloServlet的代碼;

  • 如果這個請求是GET請求,就會調用到HelloServlet的doGet方法

  • 同理,如果這個請求是POST請求,就會調用到HelloServlet的doPost方法

如何實現一個基于Servlet的hello?world程序

此時,完整代碼如上所示

三. 創建一些必要的目錄和文件

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

如何實現一個基于Servlet的hello?world程序

首先我們在main目錄下創建一個新的webapp目錄

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

然后,我們在剛剛創建的目錄底下再創建一個xml文件即可(如果是一個靜態頁面部署到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>

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

四. 打包程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

結果如上所示。

  • 這個war包部署到tomcat上, tomcat就會自動解壓縮,生成一個同名的目錄~

  • 后面通過瀏覽器URL訪問這個webapp的時候,要在URL中帶上這個目錄的名字~~

  • 因此我們最好換一個簡單一點的名字,后邊以便訪問

如何實現一個基于Servlet的hello?world程序

此時博主將名字設置成servlet1

如何實現一個基于Servlet的hello?world程序

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

五. 部署程序

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

如何實現一個基于Servlet的hello?world程序

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

如何實現一個基于Servlet的hello?world程序

  • 其中在WEB-INF中就包含了web.xml以及編譯后生成的.class文件

  • META-INF中包含了當前webapp中依賴的第三方jar包

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

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

如何實現一個基于Servlet的hello?world程序

以上是“如何實現一個基于Servlet的hello world程序”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永春县| 商丘市| 德保县| 崇左市| 工布江达县| 介休市| 康乐县| 高安市| 平泉县| 田林县| 寿阳县| 景德镇市| 凯里市| 芮城县| 长岛县| 陕西省| 闸北区| 来宾市| 郑州市| 林甸县| 沈丘县| 深圳市| 合川市| 定西市| 内江市| 富平县| 津市市| 屏南县| 姜堰市| 尉犁县| 黔西县| 郑州市| 专栏| 荆门市| 枣强县| 吴忠市| 忻城县| 肃北| 滕州市| 大埔区| 石狮市|