首頁  >  文章  >  Java  >  Java myeclipse建立servlet的圖文教學

Java myeclipse建立servlet的圖文教學

黄舟
黄舟原創
2017-07-26 15:15:292369瀏覽

這篇文章主要為大家詳細介紹了myeclipse創建servlet的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

#現在我們來創建一個web應用,就叫【myservlet】好了,如下圖:

可以從專案視窗看出,只要建立web工程,就會自動幫我們建立【WEB-INF】目錄,並在其下方建立【lib】目錄和web.xml檔。我們順便來看看剛創建的web.xml檔案內容:

Web.xml檔案中只有設定主頁而已,為什麼先看這個,稍後會說到。

我們當然可以按照《Servlet的學習(一)》中的方法來建立Servlet,也就是建立一個類別來繼承Servlet的實作類別GenericServelet,複寫service()方法,並在web.xml檔案中配置這個Servlet。

但是! ! !我們並不是使用繼承GenericServelet類別的方式,而是去繼承GenericServelet類別的子類別HttpServlet類別。這麼做有什麼好處呢? HttpServlet是指能夠處理HTTP請求的Servlet,它在原有Servlet的介面上加入了一些HTTP協定處理方法,比Servlet介面的功能更強大,所以我們只要繼承HttpServlet類別就可以了。如果你在MyEclipse中對web工程建立Servlet也是可以看到MyEclipse是預設將你建立的Servlet繼承HttpServlet的,如下圖所示:

選擇【Servlet】 ,彈出,寫好套件名稱和我要建立的Servlet名稱:SecondServlet,如下圖:

可以看到MyEclipse自動將你要建立的Servlet的父類別選擇為HttpServlet。

當我們選擇了HttpServlet類別作為要繼承的Servlet父類,那麼就該知道HttpServlet類別已經複寫了service()方法,這個方法內的程式碼會自動判斷使用者的請求方式,如果為GET請求,則呼叫HttpServlet的doGet()方法;如果為POST請求,則呼叫doPost()方法,因此我們開發的時候,只需要複寫doGet()方法或doPost()方法,無需再去複寫service ()方法。 具體可以看​​Servlet的API文件中有關HttpServlet的詳細內容。

我們勾選doGet方法和doPost方法,其他方法根據實際情況添加。接著點選【Next】,會看到另一個設定視窗:

  【Generate/Map web.xml file】:將建立好的Servlet對應到web.xml文件中,這樣可以省我們很多事,當我們選擇將Servlet映射進web.xml檔案中時,就可以根據下面幾個指定來設定映射到web.xml檔案中哪些內容。

  【Servlet/JSP Class Name】:這是作為在web.xml檔案中b472d9135dbff3dd7fcc77f5995c97d0標籤中的內容。

  【Servlet/JSP Name】:設定在web.xml檔案中700b5f17c4d842e4bd410f680f40946b標籤中的內容。

  【Servlet/JSP Mapping URL】:在設定web.xml檔案中870ae7edaa11700bcea972d006efb06e標籤下66e1775cbd9d5002635ae3285442ba88標籤的內容,也就是設定該Servlet的對外存取路徑。

  【File Path of web.xml】:該web.xml的路徑,一般不用設定。

  點擊完成之後,我們再來看看web.xml文件,是的,剛才設定的Servlet到web.xml文件的映射都已經被MyEclipse在web.xml文件中添加好了,為我們省事了不少。如下圖:

我們來看看Servlet中的內容:

##  是的,有點亂,這是因為MyEclipse在建立Servlet時是依照模板產生的,這裡我們可以先將這些不需要的程式碼移除,最後的部分我們再來講解如何修改MyEclipse中的Servlet模板。

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

  

剛才說到在HttpServlet中的service()方法已經複寫了其父類GenericServlet的service()方法,那我們就來看一下HttpServlet中的service()方法,將遊標點擊HttpServlet,然後按下鍵盤「F3」鍵,會發現:

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

  一、到sun官網或oracle官網下載Servlet源碼;

  二、到Apache-Tomcat官網下載Tomcat的源碼,這裡我選擇這種方式:

##選擇zip格式就可以(看起來像tar.gz是給Linux用的)。

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

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

  接下來我們就可以安心回到剛剛建立的Servlet,在doGet方法中寫程式碼,我們就寫個簡單的回傳客戶端一點資料好了:


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

  接著啟動伺服器,並將這個寫好的Servlet發布

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

  

#  記住,在網址列輸入主機位址和連接埠(如果有)後,如果web.xml沒有另外設定的話,跟的是web專案名稱和你在web.xml檔案中為該Servlet設定的對外存取路徑。

以上是Java myeclipse建立servlet的圖文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn