成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HttpSession方法在Flex Remote Object中的使用

開發 后端
本文向大家簡單介紹一下Flex Remote Object中直接使用HttpSession的方法,Flex Remote Object可以是POJO,JavaBean或是EJB。

本文和大家重點討論一下Flex Remote Object中直接使用HttpSession的方法,在面向服務的架構中(Service Oriented Architecture),我們可以用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中
 

  1. <filter> 
  2. <filter-name>AMFSessionFilter </filter-name> 
  3. <filter-class>com.netop.forum.servlets.AMFSessionFilter </filter-class> 
  4. <filter> 
  5.  
  6. <filter-mapping> 
  7. <filter-name>AMFSessionFilter </filter-name> 
  8. <servlet-name>AMFGatewayServlet </servlet-name> 
  9. <filter-mapping>   
  10.  

 2. 如何在Flex Remote Object中使用AMFContext

  1. class YouRemoteService  
  2. {  
  3. public void serviceMethod()  
  4. {  
  5. AMFContext context = AMFContext.getCurrentContext();  
  6. HttpSession = context.getSession();  
  7. ServletContext = context.getServletContext();  
  8.  
  9. HttpServletRequest request = context.getRequest();  
  10. HttpServletResponse response = context.getResponse();  
  11.  
  12. context.setSessionAttribute("attr","value");  
  13. context.setContextAttribute("attr","value");  
  14.  
  15. }  
  16. }  
  17.  

【編輯推薦】

  1. 解析Flex4的十大變化
  2. Flex3到Flex4的轉變新特性值得關注
  3. 解析對AdobeFlex的十大誤解
  4. FlexBuilder3.0與Eclipse3.4的***結合
  5. 學習Flex時必須要知道的10件事情

 
 

責任編輯:佚名 來源: csdn.net
相關推薦

2011-08-17 09:27:55

FlexJava

2010-07-27 13:05:12

Flex

2010-08-09 15:41:13

Flex字體

2010-08-06 13:22:48

FlexCSS

2010-08-09 10:21:56

XMLFlex

2010-08-09 15:30:00

Flex字體

2010-07-30 10:53:53

Flex數據綁定

2010-08-13 09:05:09

Flex4Halo

2022-09-08 09:42:26

JavaScripMapObject

2010-03-10 11:11:16

Python編程

2010-08-13 16:00:43

FlexCairngorm框架

2020-02-28 09:00:00

ObjectC#編程語言

2010-08-11 13:28:46

Flex行為

2009-06-29 17:57:30

ApplicationJSP

2010-08-06 13:37:28

Flex[Bindab

2010-08-06 14:52:35

FlexCSS層疊樣式表

2010-03-10 19:18:10

Python scri

2010-03-15 15:30:35

Python模塊

2010-08-05 13:14:16

Flex布局

2010-08-09 15:52:28

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美大片在线观看 | 福利精品在线观看 | 亚洲美女视频 | 国产情侣在线看 | 9久久婷婷国产综合精品性色 | 欧美日韩免费一区二区三区 | 国产精品久久久久久久久动漫 | 二区在线观看 | 久久一热 | 国产h视频 | 亚洲va国产日韩欧美精品色婷婷 | 成人午夜影院 | 欧美精品一区二区免费 | 欧美极品一区二区 | 欧美一区二区另类 | 99精品在线观看 | 成人在线免费视频 | 秋霞a级毛片在线看 | 亚洲一二三区精品 | 精品日韩一区二区 | 久草色播 | 国产成在线观看免费视频 | 国产精品美女久久久久久不卡 | 狠狠av | 一级黄色大片 | 亚洲一区二区三区在线视频 | 欧美人妇做爰xxxⅹ性高电影 | 精品一区二区三区视频在线观看 | 国产精品久久久久久久岛一牛影视 | 精品国产一区二区三区四区在线 | 毛片一区二区 | 嫩草一区二区三区 | 国产极品粉嫩美女呻吟在线看人 | 欧美五月婷婷 | 国产精品一区二区三区免费观看 | 福利成人 | 欧美成人免费在线视频 | 国产精品一区二区三区四区 | 一区二区三区四区视频 | 91麻豆产精品久久久久久 | 日韩在线高清 |