返回顶部
首页 > 资讯 > 精选 >Flex Remote Object中直接使用HttpSession的方法是怎样的
  • 417
分享到

Flex Remote Object中直接使用HttpSession的方法是怎样的

2023-06-17 15:06:29 417人浏览 八月长安
摘要

Flex Remote Object中直接使用httpsession的方法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们可以用Remote Obje

Flex Remote Object中直接使用httpsession的方法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

我们可以用Remote Object来作为Service Facade,利用应用服务器提供的persistent service来储存状态信息。

Flex Remote Object中直接使用HttpSession的方法

问题的背景

Flex Remote Object可以是POJO,JavaBean或是EJB。在面向服务的架构中(Service Oriented Architecture),我们可以用Remote Object来作为Service Facade,利用应用服务器提供的persistent service来储存状态信息。

Flex既可以提供stateful或stateless的remote object, 另外还有session servlet让mxml获取/和储存session中的内容。这一切听上去都很***,但是有一个问题,Flex Remote Object本身是无法获得任何有关Running Context的信息,也就是说,你无法从你的 Remote Object 中获得 HttpSession, HttpRequest 和 ServletContext。 所谓的 Flex Session servlet只是让MXML获得session的内容,而不是直接让Remote Object获得session。

Remote Object为什么需要获得HttpRequest, HttpSession?
既然Flex提供了stateful的remote object为什么还要让remote object获得Running Context呢?问题在于Flex中的stateful是基于应用服务器的http session,而且你无法控制AMFGateway建立remote object的过程。打个简单的比方,我们知道一般的应用服务器中,session的时限只有20分钟,而在很多系统的登陆过程中却有选择保持登陆几个月的选项。

其具体实现上就是利用cookie来储存id和passWord hash,通过控制cookie的存活时间来实现的。而在服务器端,一旦session过期了,则可以从cookie中获得id和password hash重新登陆一遍,从而达到自动认证用户的目的。

如果你的Flex Remote Object无法获得 HttpServletRequest, HttpSession,你就无法实现上述的情况。另外,对于小型的应用来说,直接在Remote object中获得servlet context并利用它来储存/获得共享的资源,可以大大降低开发的复杂程度。

解决方案

要让Flex Remote Object获得HttpSession,HttpRequest和ServletContext并不是一件容易的事情。这里提供了我的一种方法,供大家参考。希望能抛砖引玉,让大家提出更好,更有效的方案。
这个方法的基本思路是利用JAVA提供的 ThreadLocal Object。当服务器接收到一个HTTP请求后,这个请求的整个处理过程是运行在同一个线程中的。
每个HTTP请求的处理会都运行在各自独立的线程中。而在Flex中,所有AMF Remote Object 的请求都需要通过 AMF Gateway Servlet,而Remote Object 的建立和调用恰恰就是运行在这个HTTP请求的线程中。

有了这个原则,我们就可以建立一个Context Object,每当请求建立的时候,就可以把这个请求放入 Context 的 ThreadLocal 中,而当 Remote Object 被AMF Gateway Servlet调用的时候,就可以通过访问 Context 的ThreadLoca l来获得其所对应的那个请求。

而截获发送到AMF Gateway的请求则可以通过Servlet Filter来实现。废话不说了,看代码吧! 
1. 添加以下内容到WEB-INF/web.xml中

<filter> <filter-name>AMFSessionFilter </filter-name> <filter-class>com.netop.forum.servlets.AMFSessionFilter </filter-class> <filter>  <filter-mapping> <filter-name>AMFSessionFilter </filter-name> <servlet-name>AMFGatewayServlet </servlet-name> <filter-mapping>

如何在Flex Remote Object中使用AMFContext

class YouRemoteService  {  public void serviceMethod()  {  AMFContext context = AMFContext.getCurrentContext();  HttpSession = context.getSession();  ServletContext = context.getServletContext();   HttpServletRequest request = context.getRequest();  HttpServletResponse response = context.getResponse();   context.setSessionAttribute("attr","value");  context.setContextAttribute("attr","value");   }  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: Flex Remote Object中直接使用HttpSession的方法是怎样的

本文链接: https://lsjlt.com/news/290076.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Flex Remote Object中直接使用HttpSession的方法是怎样的
    Flex Remote Object中直接使用HttpSession的方法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们可以用Remote Obje...
    99+
    2023-06-17
  • Flex中CSS层叠样式表的应用方法
    这篇文章主要介绍“Flex中CSS层叠样式表的应用方法”,在日常操作中,相信很多人在Flex中CSS层叠样式表的应用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flex中CSS层叠样式表的应用方法”的疑...
    99+
    2023-06-17
  • css3中display box使用方法是怎样的
    css3中display box使用方法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。其中的一个场景如下:假如我们想要...
    99+
    2024-04-02
  • Xp系统设置直接查看缩略图的方法是怎样的
    这期内容当中小编将会给大家带来有关Xp系统设置直接查看缩略图的方法是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。用户在使用经典windowsxp系统时,会遇到非常多图片的文件夹,如果我们能直接查看...
    99+
    2023-06-13
  • 直接调用userMapper接口的方法是什么
    本篇内容主要讲解“直接调用userMapper接口的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“直接调用userMapper接口的方法是什么”吧!老...
    99+
    2024-04-02
  • Git的使用方法是怎么样的
    这篇文章将为大家详细讲解有关Git的使用方法是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在傻瓜式部署方式出现问题之后,我们该通过什么方法搭建网站呢?其实京东云擎本身已经给出了答案...
    99+
    2023-06-10
  • java Object的hashCode方法怎么使用
    这篇文章主要讲解了“java Object的hashCode方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java Object的hashCode方法怎么使用...
    99+
    2023-06-22
  • Java 中Object的wait() notify() notifyAll()方法使用
    Java 中Object的wait() notify() notifyAll()方法使用一、前言  对于并发编程而言,除了Thread以外,对Object对象的wati和notify对象也应该深入了解其用法,虽然知识点不多。二、线程安全基本...
    99+
    2023-05-31
    java object wait()
  • IE9下html5的使用方法是怎样的
    本篇文章给大家分享的是有关IE9下html5的使用方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 m...
    99+
    2024-04-02
  • web前端中js reduce方法的使用是怎样的
    web前端中js reduce方法的使用是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。web前端教程分享js reduce方法使用教程,reduce() 方法接收一个函...
    99+
    2023-06-04
  • Java中Object类的方法怎么用
    这篇文章主要介绍了Java中Object类的方法怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中Object类的方法怎么用文章都会有所收获,下面我们一起来看看吧。前言:Java的Object 类的...
    99+
    2023-06-30
  • .NET Core中对象池Object Pool的使用方法是什么
    这篇文章主要讲解了“.NET Core中对象池Object Pool的使用方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET Core中对象池Ob...
    99+
    2023-06-25
  • java中的Object类的toSpring()方法怎么用
    这篇文章主要讲解了“java中的Object类的toSpring()方法怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中的Object类的toSpring()方法怎么用”吧!O...
    99+
    2023-06-30
  • js中的数组及数组方法使用是怎样的
    今天就跟大家聊聊有关js中的数组及数组方法使用是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Array对象之前一直在温故js系列,希望能够知...
    99+
    2024-04-02
  • springboot ApplicationContextInitializer的三种使用方法是怎样的
    springboot ApplicationContextInitializer的三种使用方法是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ApplicationCon...
    99+
    2023-06-25
  • php怎么直接调用js的方法名
    本篇内容主要讲解“php怎么直接调用js的方法名”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么直接调用js的方法名”吧!使用PHP调用JavaScript函数PHP可以通过使用Java...
    99+
    2023-07-05
  • HTML5 Canvas阴影使用方法是怎样的
    HTML5 Canvas阴影使用方法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 HT...
    99+
    2024-04-02
  • 在html5中怎样使用js的方法
    这篇文章主要介绍在html5中怎样使用js的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   在html5中使用js的两种方法:   使用<script>标签的...
    99+
    2024-04-02
  • HTML5中新增加的元素及使用方法是怎样的
    这期内容当中小编将会给大家带来有关HTML5中新增加的元素及使用方法是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。考虑我们开发一个页面的过程:1.设计页面的结构 ...
    99+
    2024-04-02
  • web开发中的方法调用是怎样的
    这篇文章将为大家详细讲解有关web开发中的方法调用是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法调用是不是很熟悉那...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作