這篇文章主要為大家詳細介紹了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檔案中
【Servlet/JSP Name】:設定在web.xml檔案中
【Servlet/JSP Mapping URL】:在設定web.xml檔案中
【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()); }
以上是Java myeclipse建立servlet的圖文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!