技术前沿 深入剖析Tomcat和JSP与Flex结合

开发 后端
Flex有很多值得学习的地方,它的更能也比较强大,那么他和其他程序相结合的话是不是功能更加强大呢,这里和大家一起来看一下Flex结合的概念。

本文和大家重点讨论一下Flex结合的概念,主要包括Flex结合tomcat和Flex结合JSP两大部分内容,相信通过本文的学习你对Flex结合的概念一定会有深刻的认识。

Flex结合

最近一直在做有关JSP开发的网站,重复的登陆验证页面,重复的语法以及重复的跳转页面,熟悉的不能再熟悉的struts构建流程。

做项目的期间,还自己学习了HIBERNATE,ajax等等,所以在写JSP代码的同时,也考虑到了JSP可以不可以和特效Flex结合起来,于是在工作完成的时候,自己会去看一些Flex的东西,很有好的界面,很炫的组件,真是被Flex所深深吸引。

1.Flex结合tomcat

Flex只是个运行库或者说是webapplication,用来处理mxml类型的文件,其运行库就是Flex.war,所以它可以部署到任何一个兼容的jsp服务器上:比如Tomcat,weblogic、websphere、Jrun,Jboss等,而Coldfusion目前也是运行库或者说是webapplication,用来处理cfml类型的文件,其运行库就是cfusion.war,所谓standalone版本的coldfusion只是把jrun和cfusion.war一起打包安装而已,所以就没有Flex和Coldfusion结合之说了。

所以要想tomcat做Flex的服务器,很简单的说安装完FlexDadaServices,目前名字叫Adobe_LiveCycle_Data_Services,我本人安装的版本是(Adobe_LiveCycle_Data_Services_ES_2.5.1)

需要的话可以共享给大家,你也可以自己去下载,下载完不用去找序列号,因为我差了半天也没查到,默认可以有60天的试用期。

下一步需要做的就是把Flex项目下的Flex.war和samples.war拷贝到tomcat下的webapp目录里,考完后,tomcat会自动部署文件,不需操作,这样输入项目路径:http://localhost:8080/samples就可以看到里面的Flex程序了,就是这么简单。

2.Flex结合JSP

其实Flex里夹杂了ajax异步调用的技术,因为本身ACTIONSCRIPT就和JAVASCRIPT有着异曲同工之妙。我做了一个例子是参考手册上面的,不过自己改了一下,大概的程序就是这样的,首页当然是Flex服务器来解析hxml,然后后台通过jsp文件交互数据库,然后把数据动态的封装成xml格式,最后在把xml标签与Flex程序绑定在一起,就可以了。这样当运行Flex前端程序的时候,后台就会把绑定好的数据显示到了Flex的组件里。
我的mxml代码:

  1. <?xmlversionxmlversion="1.0"encoding="utf-8"?> 
  2. <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"creationComplete="feedRequest.send()
  3. "backgroundGradientColors="[#000000,#000000]"> 
  4. <mx:HTTPServiceidmx:HTTPServiceid="feedRequest"url="http://localhost:8080/test/index.jsp"useProxy="false"> 
  5. <mx:requestxmlnsmx:requestxmlns=""> 
  6. <directory>{test.text}</directory> 
  7. </mx:request> 
  8. </mx:HTTPService> 
  9. <mx:Panelidmx:Panelid="blog"width="359"height="520"title="{feedRequest.lastResult.rss.channel.title}"verticalCenter="188.5"horizontalCenter="179"> 
  10. <mx:DataGrididmx:DataGridid="dgPosts"dataProvider="{feedRequest.lastResult.rss.channel.item}"width="340"height="167"> 
  11. <mx:columns> 
  12. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="题目"dataField="title"/> 
  13. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="路径"dataField="url"/> 
  14. </mx:columns> 
  15. </mx:DataGrid> 
  16. <mx:TextAreawidthmx:TextAreawidth="388"height="129"htmlText="{dgPosts.selectedItem.description}"/> 
  17. <mx:LinkButtonlabelmx:LinkButtonlabel="查看详细"click="navigateToURL(newURLRequest(dgPosts.selectedItem.url));"/> 
  18. <mx:Labeltextmx:Labeltext="选择ID号"/> 
  19. <mx:TextInputidmx:TextInputid="test"width="115"height="23"/> 
  20. <mx:Labeltextmx:Labeltext="{test.text}"/> 
  21. <mx:Buttonlabelmx:Buttonlabel="登陆"id="Submit"click="feedRequest.send();"/> 
  22. </mx:Panel> 
  23. <mx:Imagewidthmx:Imagewidth="717"height="151"top="31"horizontalCenter="0"> 
  24. <mx:source>file:///C|/DocumentsandSettings/Administrator/桌面/banner.gif</mx:source> 
  25. </mx:Image> 
  26. <mx:MenuBarxmx:MenuBarx="188"y="203"width="539"height="45"></mx:MenuBar> 
  27. </mx:Application> 
  28.  

 注释:
(1).application里creationComplete="feedRequest.send()"这一属性是每次程序运行时,调用httpservice里的Send()方法,在这个程序里实际上是请求http://localhost:8080/test/index.jsp,把得到的数据以xml形式返回,把内容绑定到DataGrid的组件上。

(2).dataProvider="{feedRequest.lastResult.rss.channel.item}"此句的语法,应该是,得到最后的返回结果,按照rss,channel,item此三层标签去绑定所遍历的数据。
 

  1. <mx:columns> 
  2. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="题目"dataField="title"/> 
  3. <mx:DataGridColumnheaderTextmx:DataGridColumnheaderText="路径"dataField="url"/> 
  4. </mx:columns> 

以上代码就是创建分别叫题目和路径的2个列,title和url即为遍历出来的信息源标签。

(3).click="navigateToURL(newURLRequest(dgPosts.selectedItem.url));"linkbutton的属性,强调一点的是dgPosts是datagrid中所产生的选项,而navigateToURL(newURLRequest(url))此句就是另外打开一个url。
 

【编辑推荐】

  1. 评点Flex结合J2EE的开发与架构
  2. Flex安全沙箱问题解决方法
  3. 技术前沿 看Flex客户端缓存技术如何使用
  4. 解析Flex全屏模式设置方法
  5. Flex内存泄露解决方法和内存释放优化原则

 

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-08-09 09:09:43

Flex技术

2010-08-09 12:59:15

Flex4beta

2010-07-29 17:26:54

Flex富客户端技术

2010-07-29 09:08:20

Flex客户端缓存

2010-08-10 15:55:20

FlexHTML页面

2010-08-10 15:38:32

Flex2.0

2010-08-11 12:50:04

Flex4

2010-08-09 13:05:24

Flex4beta

2010-08-04 08:42:28

Flex和Flash

2010-08-06 15:20:25

Flex Builde

2009-07-06 10:44:45

JSP charset

2010-06-30 16:52:23

UML数据建模

2010-08-04 13:52:53

Flex事件机制

2010-09-27 15:26:17

JVM for Lin

2010-08-11 10:16:24

FlexRIA

2010-08-10 16:41:54

FlexJSP

2014-08-08 15:36:39

Apdex

2010-08-04 16:24:08

FlexSDK4

2010-08-09 16:01:37

Flex字体
点赞
收藏

51CTO技术栈公众号