繁体   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