理解 Servlet:

1.?????? doGet() doPost() 的區(qū)別:

參考資料 1 http://bbs.blueidea.com/viewthread.php?tid=891513&page=

l????????? servlet 它有一個 方法 默認(rèn) 被執(zhí)行 在接到 用戶請求時 , 這個方法 就是 service()

它會 根據(jù) 用戶端 具體的 請求類型 自動選擇 使用哪種方法 反應(yīng) .

?

l????????? 可以理解為針對 form get ,post 來執(zhí)行相應(yīng)的 doGet,doPost 方法

?

l????????? form get post 有什么區(qū)別...這個是重點(diǎn)..嘿~~謝了..

?

l????????? get 是地址欄參數(shù)傳遞 , 并且沒有正文體內(nèi)容 , 它僅僅由一個方法語句和不同的請求標(biāo)題域
組成 .
例如 :
GET /login.html?userName=Iori&passWord=12345 HTTP/1.0
User-Agent:Mozilla/4.51[en](WinNT;1)
Accept:image/gif,image/jpeg.image/pjpeg,*/*
上面是表單 選擇方法為 get 點(diǎn)擊提交事件 自動添加到 地欄的 , 當(dāng)然 你也可以這自己寫
這樣的東東 .
post
的不同 在于 參數(shù)信息 保存在 正文體中 對用戶 是不可見的 .
不像 get 方法 , 不能通過改寫瀏覽器地址 來發(fā)送一個 post 請求 而前者可以 . 這樣不安全的
一個 post 請求的 例子 如下 :
POST /login.html HTTP/1.0
User-Agent:Mozilla/4.51 [en] (WinNT;1)
Accept:image/gif,image/jpeg,image/pjpeg,*/*
Content-Length:34
Content-Type:application/x-www-form-urlencoded
userName=Iori&passWord=12345

看到了吧 數(shù)據(jù)被存到 正文體中了 這就是它們之間 最大的區(qū)別 .

?

參考資料 2 http://book.77169.org/data/web5409/20050328/20050328__3854464.html

問題:

1,? servlet 中處理的方法,有 doPost () doGet () 中的方法,它們都有共同的參數(shù),那就是 HttpServletRequest HttpservletResponse 對象,可是我不知道這兩個方法有什么區(qū)別,什么該用 doPost() 什么時候該用 doGet() 呢??

2,? servlet 中的 service ()方法又是干什么的呢??它和 doPost() doGet() 又有什么關(guān)系呢?

回答:

l???????? get post 等那些是指瀏覽器傳給 Servlet 的方法,可以在 form action 中指定,如 action="post",action="get" 之類的,默認(rèn)使用 get ,如在瀏覽器直接輸入 xxx?param1=xx&param2=xx ,這種方式是 get

?

l???????? service() doGet(),doPost() 的關(guān)系是: servlet 先調(diào)用默認(rèn)執(zhí)行的 service() 方法,由它決定調(diào)用哪個處理方法。

l???????? 我來解釋一下什么是Get、Post吧:
1.Post方式就是通過表單的submit()方法提交到服務(wù)器的,當(dāng)然servlet調(diào)用的是doPost();
2.Get方式就是自定義路徑傳參數(shù),比如:../servlets/XX.jsp?parameterName=parameterValue&...
這種形式提交到服務(wù)器的,對應(yīng)的是doGet()方法。這種方式一般有長度限制,打的參數(shù)多了提交不上去。

一般在servlet里面是不用管以哪知形式提交的,可以定義一個公共方法,在doPost()和doGet()方法里面都去調(diào)用,或者:doPost(){ doGet() }

?

l???????? get 方法我們可以在地址欄中直接輸入?yún)?shù)也可以的
post 方法在地址欄中直接輸入就不可以了 , 顯示不出頁面的

問題:

1. servlet 是一個接口嗎?是不是接口就必須對其所有方法實(shí)例化,也就是說,一一實(shí)例化 init(),service(),doGet(),doPost() destroy() 方法?

2. doGet() doPost() 方法什么時候可以統(tǒng)一調(diào)用?比如 doPost(){ doGet();}. 既然使用 doPost() 方法不能從地址欄里輸入?yún)?shù)訪問,那么為什么 doPost() 可以直接使用 doGet() 方法呢?反過來, doGet() 可是使用 doPost() 方法嗎?

3. servlet 的方法有哪些?除了 init(),service(),doGet(),doPost() destroy() 方法之外還有別的嗎?如果只有這五個方法,那么是不是說,寫一個 servlet ,就是要實(shí)現(xiàn) doGet() doPost() 方法?(因?yàn)?/span> service 方法是默認(rèn)一定啟動的)

4. java 中接口和 c++ 中虛函數(shù)的區(qū)別是什么?

參考資料 1 http://www.51dibs.com/html/2006/article/info4/a_11af20782d07b7b7.htm

什么是接口?

Java中,接口是不相關(guān)的對象相互交互的設(shè)備。Java接口與
協(xié)議很相似。實(shí)際上,其它面向?qū)ο笳Z言也有Java的接口的
功能,但是它們稱為協(xié)議。

Java接口定義了一套方法,但沒有實(shí)現(xiàn)它們。一個實(shí)現(xiàn)接口的
類可以實(shí)現(xiàn)定義在這個接口中的所有方法,因此可以實(shí)現(xiàn)一定
的行為。

定義:接口是方法定義(而不實(shí)現(xiàn))的被命名的集合。接口也
可以包括常量定義。

參考資料 2 http://www.umlchina.com/best/g30/u1144079.htm#1144178

l??????? Java中的接口和抽象類的區(qū)別,在于接口中沒有屬性,而且所有的方法都是抽象的,而抽象類可以有屬性,而且可以有抽象方法,也可以有實(shí)現(xiàn)的方法。但兩者都不能被實(shí)例化。

使用的時候,一個類可以繼承多個接口,但只能繼承一個抽象類。

l??????? 抽象類與接口的重大區(qū)別就在于它能提供一部分實(shí)現(xiàn),包括方法和屬性。在某些情況下這是非常有用的,比如在 template method模式中。
你說“有了單純的接口,就不應(yīng)該使用抽象類了”,這種說法未免過于絕對了。
在邏輯上,抽象類表示了抽象的概念,它們的一部分行為需要在具體的子類中定義,但同時又定義了子類的一部分分共性的行為和屬性。

l??????? 我認(rèn)為抽象類基本就是個“實(shí)現(xiàn)機(jī)制”。

我們在分析的時候會去管一個類是不是抽象類嗎?不會吧?
它的意義在于提供了一個安全的機(jī)制,把一些類的共同行為抽象到一個“半成品”類中,又組織人們使用這個“半成品”類。

?

自己的理解:(結(jié)合例子來理解)

理解接口:

接口中沒有屬性,而且所有的方法都是抽象的; 比如說Servlet都是通過實(shí)例化接口實(shí)現(xiàn)的,servlet接口定義了init(),service(),doGet(),doPost(),destroy()方法,但是只是定義,沒有去實(shí)現(xiàn)它們,實(shí)現(xiàn)一個servlet類時一一實(shí)現(xiàn)servlet接口定義的方法。

理解抽象類:

l???????? 抽象類可以有屬性,而且可以有抽象方法,也可以有實(shí)現(xiàn)的方法。

l??????? 邏輯上,抽象類表示了抽象的概念,它們的一部分行為需要在具體的子類中定義,但同時又定義了子類的一部分分共性的行為和屬性。

l??????? 感覺是,接口沒有屬性也沒有已經(jīng)實(shí)現(xiàn)的方法,適合與servlet這種類型的類似的協(xié)議的機(jī)制;而抽象類提供了一個抽象和半成品的概念,定義了所有子類的共有屬性,并實(shí)現(xiàn)了所有子類的共有方法,子類只需要在此基礎(chǔ)上實(shí)現(xiàn)自己的特有屬性和方法,更安全,更方便。比如一個典型的例子,關(guān)于“車”類,定義成一個抽象類,并把所有車的共有屬性和方法都定義并實(shí)現(xiàn)了,子類(比如car)就可以在此基礎(chǔ)上繼承并定義和實(shí)現(xiàn)自己特有的屬性和方法就可以了。沒必要定義為接口,把共有的屬性和方法也要依次各自實(shí)現(xiàn)。

5. java 中為什么沒有多繼承?你是如何理解的?

6.extends implent 的區(qū)別?