成對的Request和Response

2021-06-26 12:40:27 字數 826 閱讀 2605

前幾天,不知道怎麼搞的突然想起了剛剛開始工作時的乙個老問題(當時還在做j2ee):「為啥request和response在引數裡面成對出現並且經常只用乙個?」。這個問題表面上似乎不太像乙個問題,隨便抓乙個人做了幾年j2ee的會拋給你一句:「框架是這麼寫的嘛,管他的用就是了」。換幾年前的我估計也得這麼說,心裡面甚至還會想「管我屁事! 寫成怎麼樣不影響我幹活兒就行!」。但是乙個碼農總是會成長的,他的反應也會變成:「這到底是不是乙個api的設計模式?」

經過幾天的研究,我覺得可以把這個總結成一種比較通用的寫法來處理不斷增長的輸入引數和單增長的返回值,並且賦予了干預中間處理的能力。我不想叫這個是乙個設計模式,因為這畢竟不是常用1/23。我首先簡化一下這種寫法:

public inte***ce servletrelated

}public final class response

public void add(string s)

public void addall(listall)

}/** @since 2.0 */

public void add(string s, string description) }}

這種寫法只需要向request裡面新增類似getter的方法就可以給dodata帶來更多的引數。另外final意味他是乙個標準的客戶端api。同理用setter新增response相當於給dodata新增了返回值,另外注意我的注釋(適當控制讀寫許可權)。

用這種寫法可以讓dodata以chain的方式處理中間結果,讓輸入和返回結果的處理方式分離(校驗,延時甚至取消)。

我不會再想這樣的問題了。 

request和requestScope的區別

1 request物件通常用來接收從客戶端通過表單提交過來的資料,然後在servlet或者action中用request.getparameter 的方法獲取獲取引數內容 2 而requestscope通常是在servlet和action中通過request.setattribute 方法把資料放到...

request和session的區別

說簡單點 request物件和session物件的最大區別是生命週期。request範圍較小一些,只是乙個請求。request物件的生命週期是針對乙個客戶端 說確切點就是乙個瀏覽器應用程式 的一次請求,當請求完畢之後,request裡邊的內容也將被釋放點 簡單說就是你在頁面上的乙個操作,reques...

Servlet和request的總結

獲取web的上下問路徑 2.獲取全域性引數 4.請求 5.讀取web專案的配置資源 在servlet介面進行的跳轉的方式的區別 1.請求重定向 重定向瀏覽器發出兩次請求 重定向有瀏覽器自己完成 1.1重定向的話,本質是由轉到另乙個頁面,url會跟著一起該變。1.2重定向的化,可以定向到乙個專案下。1...