欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

myeclipse創(chuàng)建servlet_動力節(jié)點Java學(xué)院整理

 更新時間:2017年07月26日 10:19:51   作者:fjdingsd  
這篇文章主要為大家詳細(xì)介紹了myeclipse創(chuàng)建servlet的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

現(xiàn)在我們來創(chuàng)建一個web應(yīng)用,就叫【myservlet】好了,如下圖所示:

可以從項目窗口中看出,只要創(chuàng)建web工程,就會自動幫我們創(chuàng)建【W(wǎng)EB-INF】目錄,并在其下創(chuàng)建【lib】目錄和web.xml文件。我們順便來看一下剛創(chuàng)建的web.xml文件內(nèi)容:

Web.xml文件中只有設(shè)置主頁而已,為什么先看這個,稍后會說到。

我們當(dāng)然可以按照《Servlet的學(xué)習(xí)(一)》中的方法來建立Servlet,即創(chuàng)建一個類來繼承Servlet的實現(xiàn)類GenericServelet,復(fù)寫service()方法,并在web.xml文件中配置這個Servlet。

但是!??!我們并不使用繼承GenericServelet類的方式,而是去繼承GenericServelet類的子類HttpServlet類。這么做有什么好處呢?HttpServlet是指能夠處理HTTP請求的Servlet,它在原有Servlet的接口上添加了一些HTTP協(xié)議處理方法,比Servlet接口的功能更加強大,所以我們只需要繼承HttpServlet類就可以了。如果你在MyEclipse中對web工程建立Servlet也是可以看到MyEclipse是默認(rèn)將你創(chuàng)建的Servlet繼承HttpServlet的,如下圖所示:

選擇【Servlet】,彈出,寫好包名和我要創(chuàng)建的Servlet名:SecondServlet,如下圖:

可以看到MyEclipse自動將你要創(chuàng)建的Servlet的父類選擇為HttpServlet?! ?/p>

當(dāng)我們選擇了HttpServlet類作為要繼承的Servlet父類,那么就該知道HttpServlet類已經(jīng)復(fù)寫了service()方法,這個方法內(nèi)的代碼會自動判斷用戶的請求方式,如果為GET請求,則調(diào)用HttpServlet的doGet()方法;如果為POST請求,則調(diào)用doPost()方法,因此我們開發(fā)的時候,只需要復(fù)寫doGet()方法或doPost()方法,無需再去復(fù)寫service()方法。具體可以看Servlet的API文檔中有關(guān)HttpServlet的詳細(xì)內(nèi)容。

我們勾選doGet方法和doPost方法,其他方法根據(jù)實際情況添加。接著點擊【Next】,會看到另一個設(shè)置窗口:

  【Generate/Map web.xml file】:將創(chuàng)建好的Servlet映射到web.xml文件中,這樣能省我們很多事,當(dāng)我們選擇將Servlet映射進web.xml文件中時,就可以根據(jù)下面幾個指定來設(shè)置映射到web.xml文件中哪些內(nèi)容。

  【Servlet/JSP Class Name】:這是作為在web.xml文件中<servlet-class>標(biāo)簽中的內(nèi)容。

  【Servlet/JSP Name】:設(shè)置在web.xml文件中<servlet-name>標(biāo)簽中的內(nèi)容。

  【Servlet/JSP Mapping URL】:設(shè)置web.xml文件中<servlet-mapping>標(biāo)簽下<url-pattern>標(biāo)簽的內(nèi)容,也就是設(shè)置該Servlet的對外訪問路徑。

  【File Path of web.xml】:該web.xml的路徑,一般不用設(shè)置。

  點擊完成之后,我們再來看看web.xml文件,是的,剛才設(shè)置的Servlet到web.xml文件的映射都已經(jīng)被MyEclipse在web.xml文件中添加好了,為我們省事了不少。如下圖所示:

我們來看看Servlet中的內(nèi)容:

  是的,有點亂,這是因為MyEclipse在創(chuàng)建Servlet時是按模板生成的,這里我們可以將這些不需要的代碼先去除,最后的部分我們再來講解如何修改MyEclipse中的Servlet模板。

  在這種繼承HttpServlet的Servlet開發(fā)中,我們只關(guān)心doGet方法和doPost方法,對于不知何時http請求是GET方式何時是POST方式來說,可以使用以下“小聰明”的方式來滿足在一個方法中同時處理GET請求或POST請求:

  

剛才說到在HttpServlet中的service()方法已經(jīng)復(fù)寫了其父類GenericServlet的service()方法,那我們就來看一下HttpServlet中的service()方法,將光標(biāo)點擊HttpServlet,然后按下鍵盤“F3”鍵,會發(fā)現(xiàn):

缺少Servlet的jar包源碼,這里我們有兩種解決方式:

  一、到sun官網(wǎng)或oracle官網(wǎng)下載Servlet源碼;

  二、到Apache-Tomcat官網(wǎng)下載Tomcat的源碼,這里我選擇這種方式:

選擇zip格式就可以(貌似tar.gz是給Linux用的)。

下載解壓后,目錄后面是帶有“src”字樣:

那么我們就可以在MyEclipse中點擊“Attach Source”,因為是導(dǎo)入整個目錄,所以選擇“External Folder”即可,導(dǎo)入之后我們就可以看到HttpServlet的源碼了,看到其service()方法,代碼較長,這里就不附出,但思想就是先獲取請求對象HttpServletRequest的請求方式,然后用if判斷來針對各個請求調(diào)用不同的方法,如doGet方法或doPost方法。

  接下來我們就可以安心回到剛剛創(chuàng)建的Servlet,在doGet方法中編寫代碼,我們就寫個簡單的返回客戶端一點數(shù)據(jù)好了:

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    
    OutputStream out = response.getOutputStream();
    out.write("Hello servlet again !".getBytes());
    
  } 

  接著啟動服務(wù)器,并將這個寫好的Servlet發(fā)布

最后,我們就能在瀏覽器查看:

  

  記住,在地址欄中輸入完主機地址和端口(如果有)后,如果web.xml沒有另外設(shè)置的話,跟的是web項目名稱和你在web.xml文件中為該Servlet設(shè)置的對外訪問路徑。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    本文主要介紹了Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • java Collection 之Set使用說明

    java Collection 之Set使用說明

    本篇文章小編為大家介紹,java Collection 之Set使用說明。需要的朋友參考下
    2013-04-04
  • 解決ThreadLocal獲取不到值大坑

    解決ThreadLocal獲取不到值大坑

    這篇文章主要介紹了解決ThreadLocal獲取不到值大坑
    2023-05-05
  • IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程

    IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程

    這篇文章主要介紹了IntelliJ IDEA(2020.2)的下載、安裝步驟詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • java如何將pdf轉(zhuǎn)換成image

    java如何將pdf轉(zhuǎn)換成image

    這篇文章主要為大家詳細(xì)介紹了java如何將pdf轉(zhuǎn)換成image,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • java實現(xiàn)文件讀寫與壓縮實例

    java實現(xiàn)文件讀寫與壓縮實例

    這篇文章主要介紹了java實現(xiàn)文件讀寫與壓縮實例,有助于讀者加深對文件操作的理解,需要的朋友可以參考下
    2014-07-07
  • kotlin和Java的相互調(diào)用示例詳解

    kotlin和Java的相互調(diào)用示例詳解

    Kotlin 的設(shè)計過程中就考慮到了與 Java 的互操作性。在 Kotlin 中可以直接調(diào)用既有的 Java 代碼, 反過來在 Java 中也可以很流暢地使用 Kotlin 代碼,下面這篇文章主要給大家介紹了關(guān)于kotlin和Java的相互調(diào)用的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • Mybatis-Plus select不列出全部字段的方法

    Mybatis-Plus select不列出全部字段的方法

    這篇文章主要介紹了Mybatis-Plus select不列出全部字段的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring boot項目打包成jar運行的二種方法

    Spring boot項目打包成jar運行的二種方法

    這篇文章主要給大家介紹了關(guān)于Spring boot項目打包成jar運行的二種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • java?web實現(xiàn)簡單登錄注冊功能全過程(eclipse,mysql)

    java?web實現(xiàn)簡單登錄注冊功能全過程(eclipse,mysql)

    前期我們學(xué)習(xí)了javaweb項目用JDBC連接數(shù)據(jù)庫,還有數(shù)據(jù)庫的建表功能,下面這篇文章主要給大家介紹了關(guān)于java?web實現(xiàn)簡單登錄注冊功能的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評論