亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Flex和Spring的應(yīng)用開(kāi)發(fā)架構(gòu)研究

        2012-12-31 00:00:00張海建

        摘要:傳統(tǒng)的JAVA EE應(yīng)用程序使用采用某種MVC框架作為前端用戶(hù)界面,隨著技術(shù)的發(fā)展,使用者對(duì)用戶(hù)體驗(yàn)方面有了更高的要求,F(xiàn)lex作為富客戶(hù)端技術(shù)在web技術(shù)中的應(yīng)用,在一定程度上提升了用戶(hù)交互性和用戶(hù)體驗(yàn)度,為使用者提供了更酷的界面,更短的響應(yīng)時(shí)間及接近于桌面程序的體驗(yàn)。本文主要討論如何將FLEX技術(shù)集成至一個(gè)現(xiàn)有的基于Spring的JAVA EE應(yīng)用程序中,闡述了Flex技術(shù)在JAVA EE應(yīng)用程序中的實(shí)現(xiàn)解決方案。

        關(guān)鍵詞:JAVA EE;Flex;web應(yīng)用程序;開(kāi)發(fā)框架

        中圖分類(lèi)號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 17-0000-02

        1 引言

        Flex 是一個(gè)高效、免費(fèi)的開(kāi)源框架,可用于構(gòu)建具有表現(xiàn)力的 Web 應(yīng)用程序,這些應(yīng)用程序利用 Adobe Flash Player和 Adobe AIR, 運(yùn)行時(shí)跨瀏覽器、桌面和操作系統(tǒng)實(shí)現(xiàn)一致的部署。Java EE是基于組件模型的、分層的、可用于分布式環(huán)境下的開(kāi)發(fā)與部署企業(yè)級(jí)應(yīng)用程序的一系列服務(wù)和規(guī)范的集合。本文結(jié)合已有的基于Spring的Java EE框架應(yīng)用程序的基礎(chǔ)上,對(duì)flex開(kāi)發(fā)環(huán)境進(jìn)行配置,使用flex進(jìn)行程序開(kāi)發(fā)。

        2 JAVA EE應(yīng)用程序加入Flex支持

        現(xiàn)有一個(gè)現(xiàn)有的JAVA EE應(yīng)用程序,程序結(jié)構(gòu)如圖1所示

        此web應(yīng)用程序是典型的JAVA EE應(yīng)用的程序。傳統(tǒng)程序交互界面一般采用HTML的形式,用戶(hù)在進(jìn)行操作時(shí),每次點(diǎn)擊相應(yīng)該的鏈接都需要重新的刷新界面。如采用Flex作為與用戶(hù)交互的界面,將會(huì)給用戶(hù)帶來(lái)更好的體驗(yàn)。

        本文以系統(tǒng)中權(quán)限管理模塊中的“資源查詢(xún)”為例,對(duì)現(xiàn)有的框架整合flex應(yīng)用進(jìn)行闡述。

        2.1 SSH框架概述

        如圖1中所示,按照分層架構(gòu)的形式對(duì)資源進(jìn)行劃分, action包中存放控制器類(lèi),service中存放業(yè)務(wù)接口類(lèi),在impl中存放業(yè)務(wù)實(shí)現(xiàn)類(lèi),utils包中存放實(shí)用程序類(lèi),在vo包中存放實(shí)體類(lèi);其中,applicationContext-dao.xml為spring的配置文件,struts.xml為struts2的配置文件。

        2.2 集成Blazeds

        Flex所負(fù)責(zé)的為表現(xiàn)層的內(nèi)容,只接收java返回的數(shù)據(jù),本文采用Adobe公司的開(kāi)源項(xiàng)目Blazeds作為程序通訊的接口。Blazeds是一個(gè)基于服務(wù)器的 Java 遠(yuǎn)程控制和 Web 消息傳遞技術(shù)。

        將BlazeDS 所需的 jar 包放至web項(xiàng)目的 /WEB-INF/lib/下。BlazeDS需要的jar包包括:

        backport-util-concurrent.jar

        commons-httpclient.jar

        commons-logging.jar

        flex-messaging-common.jar

        flex-messaging-core.jar

        flex-messaging-proxy.jar

        flex-messaging-remoting.jar

        2.3 web.xml配置支持flex

        在web.xml中添加HttpFlexSession和Servlet 映射。HttpFlexSession 是 BlazeDS 提供的一個(gè) Listener,負(fù)責(zé)監(jiān)聽(tīng) Flex 遠(yuǎn)程調(diào)用請(qǐng)求,并進(jìn)行一些初始化設(shè)置:

        flex.messaging.HttpFlexSession

        MessageBrokerServlet 是真正處理 Flex 遠(yuǎn)程調(diào)用請(qǐng)求的 Servlet,我們需要將其映射到指定的URL:

        messageBroker flex.messaging.MessageBrokerServlet

        services.configuration.file /WEB-INF/flex/services-config.xml

        0

        messageBroker

        /messagebroker/*

        2.4 添加BlazeDS的配置文件

        BlazeDS 所需的所有配置文件均放在 /WEB-INF/flex/ 目錄下。BlazeDS 將讀取 services-config.xml 配置文件,該配置文件又引用了remoting-config.xml、proxy-config.xml 和 messaging-config.xml 這 3 個(gè)配置文件。

        由于 BlazeDS 需要將 Java 接口 ResourceService 暴露給 Flex 前端,因此,我們?cè)谂渲梦募?remoting-config.xml 中將 ResourceService接口聲明為一個(gè)服務(wù)。

        spring

        resourceService

        Flex通過(guò) BlazeDS 調(diào)用 ResourceService, ResourceService對(duì)象已經(jīng)被 Spring 管理,在此需要編寫(xiě)一個(gè) FlexFactory 告訴 BlazeDS 如何找到Spring 管理的 ResourceService的實(shí)例。FlexFactory在 services-config.xml 中指定:

        2.5 SpringFlexFactoryp定義

        public class SpringFlexFactory implements FlexFactory {

        private static final String SOURCE = \"source\";

        public void initialize(String id, ConfigMap configMap)

        {……}

        public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {……}

        public Object lookup(FactoryInstance inst) {……}

        ……

        }

        3 Flex客戶(hù)端開(kāi)發(fā)

        使用spring作為粘合濟(jì),可以很方便的將flex整合到現(xiàn)有的web應(yīng)用系統(tǒng)中。在實(shí)際操作中,推薦單獨(dú)創(chuàng)建flex類(lèi)型的項(xiàng)目,與web項(xiàng)目進(jìn)行整合,如圖2所示。

        圖2 flex項(xiàng)目

        3.1 設(shè)置服務(wù)器屬性

        服務(wù)器屬性設(shè)計(jì)如圖3所示。

        其中,在服務(wù)器選項(xiàng)中,選擇的服務(wù)器類(lèi)型為JAVA,遠(yuǎn)程對(duì)像訪問(wèn)為BlazeDS;服務(wù)器位置中的設(shè)置要和web應(yīng)用程序的文件夾位置、根據(jù)URL等位置相對(duì)應(yīng)。已編譯的Flex應(yīng)用程序位置要和web應(yīng)用程序位置相對(duì)應(yīng)。

        3.2 Flex功能實(shí)現(xiàn)

        為了能在 Flex 中實(shí)現(xiàn)遠(yuǎn)程調(diào)用,需要定義一個(gè) RemoteObject 對(duì)象。在MXML中定義一個(gè)RemoteObject 對(duì)象,在Resource.mxml添加遠(yuǎn)程調(diào)用。

        result=\"onResult(event)\" fault=\"onFault(event)\">

        result=\"getResourcePageWraper(event)\"/>

        其中,s:RemoteObject的id的值為在remoting-config.xml中定義的destination的id值,s:method中定義的name值為ResourceService中對(duì)應(yīng)該的方法名稱(chēng)。Result的值為執(zhí)行操作并返回結(jié)果的函數(shù)。

        4 結(jié)束語(yǔ)

        本文描述了在現(xiàn)有的JAVA EE應(yīng)用程序基礎(chǔ)上,進(jìn)行FLEX開(kāi)發(fā)環(huán)境的配置方法和過(guò)程,該框架結(jié)構(gòu)在多個(gè)web系統(tǒng)中得到了應(yīng)用,取得了較好的效果。

        參考文獻(xiàn):

        [1]戴侃,楊小虎.基于J2EE和FLEX技術(shù)構(gòu)建RIA系統(tǒng)的探索與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2003,5:22-24

        [2]將 Flex 集成到 Java EE 應(yīng)用程序的最佳實(shí)踐,2009,8,5.

        [作者簡(jiǎn)介]張海建(1978-),男,北京市,講師,碩士,從事數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)、應(yīng)用軟件開(kāi)發(fā)的研究。

        亚洲大尺度无码无码专区| 中文字幕成人精品久久不卡| 日韩精品成人一区二区三区久久久| 极品精品视频在线观看| 国产内射一级一片内射视频| 国产成人亚洲精品| 久久久免费精品re6| 国产欧美日韩久久久久| 亚洲av日韩精品久久久久久| 免费看一级a女人自慰免费| 黄片午夜免费观看视频国产| 少妇人妻无一区二区三区| 日本免费大片一区二区| 精品国偷自产在线视频九色| 欧美老熟妇欲乱高清视频| 韩日无码不卡| 亚洲av一区二区网址| 伊人久久大香线蕉综合av| 人妻少妇中文字幕在线观看| 蜜臀av性久久久久蜜臀aⅴ| 午夜tv视频免费国产区4| 一本之道加勒比在线观看| 久久无码高潮喷水抽搐| 国产成人精品一区二区三区免费 | 好紧好爽免费午夜视频| 成人性生交大片免费看r| 无码成人AV在线一区二区| 亚洲国产天堂久久综合网| 一进一出一爽又粗又大| 特黄aa级毛片免费视频播放| 精精国产xxx在线视频app| 久久成人永久婷婷99精品| 日日摸天天摸97狠狠婷婷| 中字幕久久久人妻熟女| 熟女少妇丰满一区二区| 精品亚洲一区二区区别在线观看| 无码乱人伦一区二区亚洲一| 亚洲日韩欧美一区二区三区| 一区二区三区在线日本视频| 国内精品久久久久久久97牛牛 | 中文字幕日本女优在线观看|