一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - myeclipse創建servlet_動力節點Java學院整理

myeclipse創建servlet_動力節點Java學院整理

2020-12-07 10:49fjdingsd Java教程

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

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

myeclipse創建servlet_動力節點Java學院整理

可以從項目窗口中看出,只要創建web工程,就會自動幫我們創建【web-inf】目錄,并在其下創建【lib】目錄和web.xml文件。我們順便來看一下剛創建的web.xml文件內容:

myeclipse創建servlet_動力節點Java學院整理

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的,如下圖所示:

myeclipse創建servlet_動力節點Java學院整理

選擇【servlet】,彈出,寫好包名和我要創建的servlet名:secondservlet,如下圖:

myeclipse創建servlet_動力節點Java學院整理

可以看到myeclipse自動將你要創建的servlet的父類選擇為httpservlet。  

當我們選擇了httpservlet類作為要繼承的servlet父類,那么就該知道httpservlet類已經復寫了service()方法,這個方法內的代碼會自動判斷用戶的請求方式,如果為get請求,則調用httpservlet的doget()方法;如果為post請求,則調用dopost()方法,因此我們開發的時候,只需要復寫doget()方法或dopost()方法,無需再去復寫service()方法。具體可以看servlet的api文檔中有關httpservlet的詳細內容。

我們勾選doget方法和dopost方法,其他方法根據實際情況添加。接著點擊【next】,會看到另一個設置窗口:

myeclipse創建servlet_動力節點Java學院整理

  【generate/map web.xml file】:將創建好的servlet映射到web.xml文件中,這樣能省我們很多事,當我們選擇將servlet映射進web.xml文件中時,就可以根據下面幾個指定來設置映射到web.xml文件中哪些內容。

  【servlet/jsp class name】:這是作為在web.xml文件中<servlet-class>標簽中的內容。

  【servlet/jsp name】:設置在web.xml文件中<servlet-name>標簽中的內容。

  【servlet/jsp mapping url】:設置web.xml文件中<servlet-mapping>標簽下<url-pattern>標簽的內容,也就是設置該servlet的對外訪問路徑。

  【file path of web.xml】:該web.xml的路徑,一般不用設置。

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

myeclipse創建servlet_動力節點Java學院整理

我們來看看servlet中的內容:

myeclipse創建servlet_動力節點Java學院整理

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

  在這種繼承httpservlet的servlet開發中,我們只關心doget方法和dopost方法,對于不知何時http請求是get方式何時是post方式來說,可以使用以下“小聰明”的方式來滿足在一個方法中同時處理get請求或post請求:

myeclipse創建servlet_動力節點Java學院整理  

剛才說到在httpservlet中的service()方法已經復寫了其父類genericservlet的service()方法,那我們就來看一下httpservlet中的service()方法,將光標點擊httpservlet,然后按下鍵盤“f3”鍵,會發現:

myeclipse創建servlet_動力節點Java學院整理

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

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

  二、到apache-tomcat官網下載tomcat的源碼,這里我選擇這種方式:

myeclipse創建servlet_動力節點Java學院整理選擇zip格式就可以(貌似tar.gz是給linux用的)。

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

myeclipse創建servlet_動力節點Java學院整理

那么我們就可以在myeclipse中點擊“attach source”,因為是導入整個目錄,所以選擇“external folder”即可,導入之后我們就可以看到httpservlet的源碼了,看到其service()方法,代碼較長,這里就不附出,但思想就是先獲取請求對象httpservletrequest的請求方式,然后用if判斷來針對各個請求調用不同的方法,如doget方法或dopost方法。

  接下來我們就可以安心回到剛剛創建的servlet,在doget方法中編寫代碼,我們就寫個簡單的返回客戶端一點數據好了:

?
1
2
3
4
5
6
7
public void doget(httpservletrequest request, httpservletresponse response)
      throws servletexception, ioexception {
    
    outputstream out = response.getoutputstream();
    out.write("hello servlet again !".getbytes());
    
  } 

  接著啟動服務器,并將這個寫好的servlet發布

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

  myeclipse創建servlet_動力節點Java學院整理

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清好大好夹受不了了 | 国产区最新 | 国产播放器一区 | 热99这里有精品综合久久 | 亚洲成色爱我久久 | 特级老女人淫片高清视频 | 国产精品视频一区二区三区经 | 青青国产成人久久激情91麻豆 | 天堂成人在线观看 | 日日干影院| 关晓彤被草 | 欧美另类z0zxi | 91在线视频免费观看 | 好大好硬好深好爽想要之黄蓉 | 亚洲欧美日韩综合一区久久 | 国产aaa伦理片 | 成人影院视频 | 国产大神91一区二区三区 | 女性性色生活片免费观看 | 色男人网| 亚洲视频在线观看免费视频 | 邪恶肉肉全彩色无遮盖 | 国产亚洲精品日韩香蕉网 | 国产成人精品在线观看 | 热久久最新地址 | 青草草在线观看 | 俄罗斯三级在线观看级 | 91精品久久一区二区三区 | 国产一级真人毛爱做毛片 | 国产一区二区三区在线 | 国产大片免费在线观看 | 亚洲免费色 | 久久久精品3d动漫一区二区三区 | 明星裸乳照无奶罩 | 国产欧美精品一区二区三区–老狼 | 国产精品久久亚洲一区二区 | 日本天堂视频 | 免费精品国产在线观看 | 国产一卡2卡3卡四卡高清 | 精品福利一区二区免费视频 | 国产亚洲成归v人片在线观看 |