簡體   English   中英

Java等效於C#的HttpContext.Current.Items.set / get

[英]Java equivalent of C#'s HttpContext.Current.Items.set/get

我正在嘗試翻譯C#API的功能,但是我找到了一些我找不到可靠解決方案的代碼。

它涉及將數據存儲在正確的網絡環境中。 現在,我可以僅通過制作HashMap來解決此問題,但是由於我不知道此時對存儲數據的擴展需求,因此我想盡一切努力進行正確的處理。 在試圖找到一個可以實現相同功能的Java解決方案時,我遇到了一個我以前不知道的范圍,即Flash-scope。 看起來它與HttpContext.Current.Items相同,但是我對此表示肯定。 flashScope是我在播放框架中發現的東西

而且,HttpContext.Current.Items似乎以靜態方式訪問,而Java通常使作用域類的對象實例(如HttpSession)成為對象。

是否可以像下面的C#代碼一樣將對象靜態存儲在作用域詞典中? Flash范圍是否等於HttpContext.Current.Items 如果沒有Play框架,是否可以訪問Flash Scope?

與往常一樣,我也非常想知道我是否做出了錯誤的假設或其他誤解。

謝謝 :)

C#方法

    public void setItem(String itemName, Object item) {

        HttpContext.Current.Items.set(itemName, item);      
    }

HttpServletRequest具有setattribute()方法。

該頁面提供了有關此主題的許多有用信息: http : //odetocode.com/articles/111.aspx

其中最重要的幾行是:

HttpContext對象將封裝單個HTTP請求的特定詳細信息。 此類的屬性包括Request對象,Response對象,Session對象和AllErrors屬性,該屬性保留在當前請求期間累積的Exception對象的數組。

...

Current是一個靜態屬性,它將為當前HTTP請求返回HttpContext對象。 您可以在請求的執行邏輯線程中的任何對象中使用Current

Items的數據盡管以靜態方式訪問,但范圍僅限於單個請求。 換句話說,邏輯上假設使用javas的HttpServletRequest及其方法getAttribute()setAttribute()就足以將翻譯后的框架用於應用程序中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM