導航:首頁 > 編程語言 > javarequest對象

javarequest對象

發布時間:2022-12-25 23:25:32

㈠ 在java中request對象有什麼作用

接收請求端對象
客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然後做出響應。
它是HttpServletRequest類的實例。

㈡ java如何在一個普通的類中獲取request對象

你是指你的 web 項目中使用到一個工具性的類,它的形參中沒有 HttpRequest 或 HttpSession 參數?


如果是這樣的話,我們需要使用一個 ThreadLocal 變數,我們把當前 request 的變數綁定到裡面,在一個 request 請求的生命周期內我們在方法調用的各個更深的層次中都可以直接使用它而不需要在每個方法中都傳遞這個 request 參數,保存在某個地方就容易導致因為多個請求共用同一個實例而出問題,所有 context 相關的變數不保存在任何業務類相關並且可能被多線程共用的對象實例中才是保證不會出現線程安全問題的途徑。


例如,這個例子中我們只要把web.xml中配置好 ContextFilter 後它就會自動在請求開始時綁定一個 context,結束後自動銷毀,在這中間的任何時刻我們都可以通過 MyWebContext.getCurrentContext() 得到我們的 HttpServletRequest 實例和其它相關的 context 變數:

//MyWebContext記錄當前Request的所有context變數。因為servlet是一個請求綁定一個線程的,我們用ThreadLocal不會有線程安全問題。

classMyWebContext{
=newThreadLocal();

//拿出當前線程綁定的context
(){
return(MyWebContext)contexts.get();
}
(){
returnnewMyWebContext();
}

//綁定一個context到當前線程
publicstaticvoidsetContext(MyWebContextcontext){
contexts.set(context);
}
publicstaticvoidclearContext(){
contexts.set(null);
}

privateHttpRequestrequest;
publicvoidsetRequest(HttpRequestrequest){
this.request=request;
}
publicHttpRequestgetRequest(){
returnthis.request;
}
}

{
publicvoiddoFilter(ServletRequest,SerlvetResponse,FilterChainchain){
//創建並綁定我們的context
MyWebContextcontext=MyWebContext.createContext();
context.setRequest(request);
MyWebContext.setContext(context);
try{
chain.doFilter(request,response);
}finally{
//銷毀context
MyWebContext.clearContext();
}
}
}

{
(){
//其它方法只要它是工作在servlet請求調用鍵中間的某個時刻,它就肯定能拿到Filter綁定進去的Request,這樣我們就不必要在每次方法調用中都額外地傳遞一個HttpRequest參數,當調用層次很深時這能明顯減少復雜性。

MyWebContextcontex=MyWebContext.getCurrentContext();

HttpRequestrequest=context.getRequest();

=...;
HttpSessionsession=request.getSession(false);
...

}
}

㈢ java中session和request的區別

request 指在一次請求的全過程中有效,即從http請求到伺服器處理結束,返回響應的整個過程,存放在HttpServletRequest對象中。在這個過程中可以使用forward方式跳轉多個jsp。在這些頁面里你都可以使用這個變數。request是用戶請求訪問的當前組件,以及和當前web組件共享同一用戶請求的web組件。如:被請求的jsp頁面和該頁面用<include>指令包含的頁面以及<forward>標記包含的其它jsp頁面;
Session是用戶全局變數,在整個會話期間都有效。只要頁面不關閉就一直有效(或者直到用戶一直未活動導致會話過期,默認session過期時間為30分鍾,或調用HttpSession的invalidate()方法)。存放在HttpSession對象中 ,同一個http會話中的web組件共享它。

㈣ Java 怎麼在一個普通類中獲取到Request對象

首先,向你確認你所謂的普通類就是POJO嗎,如果是是無法獲取Request對象的。
不過,可以使用參數傳遞的方式。

Request對象,即ServletRequest,隸屬於javax包下的,需要實現其HttpServletRequest介面才能獲取到Request對象

故在普通java類中是無法獲取到request對象的

望參考

㈤ java中Request對象的主要方法有哪些

答:setAttribute(Stringname,Object):設置名字為name的request的參數值

getAttribute(Stringname):返回由name指定的屬性值

getAttributeNames():返回request對象所有屬性的名字集合,結果是一個枚舉的實例

getCookies():返回客戶端的所有Cookie對象,結果是一個Cookie數組

getCharacterEncoding():返回請求中的字元編碼方式

getContentLength():返回請求的Body的長度

getHeader(Stringname):獲得HTTP協議定義的文件頭信息

getHeaders(Stringname):返回指定名字的requestHeader的所有值,結果是一個枚舉的實例

getHeaderNames():返回所以requestHeader的名字,結果是一個枚舉的實例

getInputStream():返回請求的輸入流,用於獲得請求中的數據

getMethod():獲得客戶端向伺服器端傳送數據的方法

getParameter(Stringname):獲得客戶端傳送給伺服器端的有name指定的參數值

getParameterNames():獲得客戶端傳送給伺服器端的所有參數的名字,結果是一個枚舉的實例

getParameterValues(Stringname):獲得有name指定的參數的所有值

getProtocol():獲取客戶端向伺服器端傳送數據所依據的協議名稱

getQueryString():獲得查詢字元串

getRequestURI():獲取發出請求字元串的客戶端地址

getRemoteAddr():獲取客戶端的IP地址

getRemoteHost():獲取客戶端的名字

getSession([Booleancreate]):返回和請求相關Session

getServerName():獲取伺服器的名字

getServletPath():獲取客戶端所請求的腳本文件的路徑

getServerPort():獲取伺服器的埠號

removeAttribute(Stringname):刪除請求中的一個屬性

㈥ java中怎麼創建一個Request對象

如果你學了struts2
可以用下面的方法獲得session
public
class
BaseAction
implements
SessionAware,
Constants
{
protected
Map

session;
public
void
setSession(Map

session)
{
this.session
=
session;
}
}
然後繼承這個類

㈦ request對象只能通過getparameter方法取得參數對嗎

不對。request對象可以通過多種方法取得參數,包括getParameter()、getParameterMap()、getParameterValues()等。在Java Servlet中,request對象是一個包含了客戶端請求信息的對象,包括客戶端發送的請求參數。因此,request對象可以通過上述方法來取得客戶端發送的請求參數。

㈧ app訪問Java後端,沒有request對象嗎

將數據放在request對象中,然後在另一個頁面拿到這個數據即可。
前端和後端都會遵照一套數據模型定義。前段在開發的時候,會利用模擬數據進行開發。前端在開發的時候就不需要依賴後端的API。這些模擬數據一般來自於內存資料庫,就是使用真正的API介面來獲取數據,只不過這個數據不是從遠程伺服器上獲取,而是通過本地的內存資料庫來獲取。

閱讀全文

與javarequest對象相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163