flex和spring整合(blackmilk)

合集下载

flex 的用法

flex 的用法

flex 的用法“flex”的用法“flex”是一种用于实现响应式布局的CSS工具。

它是“Flexible Box Layout”的缩写,也称为flexbox。

flexbox提供了一种灵活的方式来布置、对齐和分布元素,以适应不同的屏幕尺寸和设备类型。

在本文中,我们将一步一步回答以下关于“flex”的用法的问题:1. 什么是“flex”?2. 如何使用"flex"创建一个简单的布局?3. 如何在flex容器和flex项目中设置属性?4. 如何进行flex项目的对齐和分布?5. 如何在媒体查询中使用“flex”?6. 一些常见的“flex”应用示例。

7. “flex”的浏览器兼容性。

1. 什么是“flex”?“flex”是一种CSS布局技术,用于创建响应式布局。

它基于flexbox模型,其中包含一个flex容器和flex项目。

flex容器是一个包含flex项目的容器,而flex项目则是flex容器中的子元素。

2. 如何使用"flex"创建一个简单的布局?要创建一个简单的flex布局,首先需要创建一个flex容器。

我们使用`display: flex;`来将一个元素设置为flex容器。

接下来,我们可以使用其他属性来设置容器的方向、换行、对齐等属性。

css.container {display: flex;flex-direction: row;justify-content: space-between;align-items: center;}在上面的示例中,我们将一个元素的类名设置为“container”,然后使用`display: flex;`将其设置为flex容器。

接下来,我们使用`flex-direction: row;`设置容器内项目的排列方向为水平方向,使用`justify-content: space-between;`设置项目之间的间距,使用`align-items: center;`设置项目在容器中的垂直方向上的对齐方式。

Flex css完全手册课件.doc

Flex css完全手册课件.doc

flex 各组件对应的样式属性hemeColor 主题颜色:如果对色彩样式配置不想过多的去设置的话,themeColor是一个选择。

它可以让你选择一种基本色彩,然后组件的边框,外观等色彩将会以此色彩为基础构成一组缺省的样式,组件均可使用此样式属性。

Application组件样式属性backgroundImage 背景图使用Embed(source=" ");来应用[新%~&*@版]backgroundColor 背景色backgroundGradientColors 背景渐进色这个属性要设置2个色彩,渐进起始色和渐进结束色,中间以逗号分隔backgroundGradientAlphas 背景渐进色透明度这个属性要设置2个透明度,对应渐进色中的2种颜色值的范围是0.00~1.00,中间以逗号分隔panel组件样式属性cornerRadius 边角度数panel外框边角度数数值从0~28 0时为直角,数值越大,圆角弧度越大headerHeight 标题头高度panel标题头的高度数值从0~50dropShadowEnabled 是否显示投影true和false 2个属性shadowDistance 投影大小dropShadowEnabled为true时有效数值从0~20shadowDirection 投影方向3个属性left right centerdropShadowColor 投影的颜色roundedBottomCorners 底部边角是否为圆角true和false 2个属性若为false,则底部边角为直角,cornerRadius对其无影响;若为true,cornerRadius对底部边角才会起作用textAlign 文字对齐方向3个属性left right centerbackgroundColor 背景色除title外有内容的部分背景色backgroundAlpha 背景透明度除title外有内容的部分背景透明度数值从0.00~1.00borderColor 边框色包括外边框和title与主体内容之间的边框色borderAlpha 边框透明度包括外边框和title与主体内容之间的边框透明度数值从0.00~1.00borderStyle 边框样式undefined,none,solid 3种样式:默认为undefined。

FLEX4_Flex4教程

FLEX4_Flex4教程

Flex 应用的构建形式 尽管用 Flex 开发 RIA 有多种形式,但现在主流的架构是:Flex 作为 Client(客户端),Java、PHP、 Asp、Ruby 等技术作为 Server(服务器端)。
本教程之后的内容主要介绍 Flex 与 Java 技术的整合。
Flex 访问服务器端数据的 3 种方式 既然 Flex 可以和 Java 等 Sever 端技术整合,那么它们之间怎样实现通信的呢?Flex 通过 HTTPService,WebService 和 RemoteObject 这 3 个组件实现与 Server 端的通信。

外观与样式设计 使用 CSS 和图形属性编辑器自定义应用程序外观。快速设置最常用的属性,并在“Design”(设计) 视图中预览结果。使用新的 Theme Browser(主题浏览器)浏览可用主题,并将它们应用于您的项目。

与 Adobe Creative Suite 设计工具集成 导入使用 Adobe Flash Professional、Illustrator®、Photoshop® 或 Fireworks® 软件创建的设计 资源,或导入使用 Flash Catalyst 创建的整个应用程序用户界面。Flash Professional 与 Flash Builder 之间的新工作流程简化了自定义 Flex 组件的导入和更新。

HTTPService 组件
HTTPService 组件允许你与 HTTP 服务交互,可以是接收 HTTP 请求和发送 HTTP 响应的任何 HTTP URI。 你可以通过 HTTPService 组件调用任何类型的 Server 端技术,包括 PHP pages, ColdFusion Pages, JavaServer Pages, Java servlets, Ruby on Rails 和 ASP pages。 HTTPService 组件允许你发送 HTTP GET、POST、HEAD、OPTIONS、PUT、TRACE 和 DELETE 请求,并典 型的以 XML 形式返回。

整合Flex和Java--配置篇

整合Flex和Java--配置篇

3、 将该工程发布到 tomcat 下,并启动 tomcat。 (注:一定要启动 tomcat,因为在后面 的设置中,它要验证工程的路径) 4、 然后在该工程上右键Flex Project NatureAdd Flex Project Nature
配置正确的显示
配置服务器路径
建议不要修改这里的配置
<mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; function gg(evnet:ResultEvent):void{ var ff:String = evnet.result as String; ggg.text = ff; } function remotingSayHello():void{ var sname:String = nameInput.text; h.hello(sname); } ]]> </mx:Script> <mx:RemoteObject destination="hello" id="h" result="gg(event)" endpoint="http://localhost:8080/flexweb/messagebroker/amf" > </mx:RemoteObject>
<listener-class>flex.messaging.HttpFlexSession</listener-class> </listener> <!-- MessageBroker Servlet --> <servlet> <servlet-name>MessageBrokerServlet</servlet-name> <display-name>MessageBrokerServlet</display-name> <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class> <init-param> <param-name>services.configuration.file</param-name> <param-value>/WEB-INF/flex/services-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>MessageBrokerServlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern> </servlet-mapping>

最佳实践:Flex Spring JAVA BLAZEDS整合

最佳实践:Flex Spring JAVA BLAZEDS整合

BlazeDS初始化时用于动态创建services, destinations, and adapters。

SpringRemotingDestinationBootstrapService扩展AbstractBootstrapService。

SpringRemotingDestinationBootstrapService 自动导出包含"@Service标注及以FlexService结尾"的Spring Bean为RemoteObject。

@SuppressWarnings("all")public class SpringRemotingDestinationBootstrapService extends AbstractBootstrapService {public static final String DEFAULT_INCLUDE_END_WITH_BEANS = "FlexService";private static Logger logger =LoggerFactory.getLogger(SpringRemotingDestinationBootstrapService.cla ss);private String destChannel;private String destSecurityConstraint;private String destScope;private String destAdapter;private String destFactory;private String serviceId;private String includeEndsWithBeans;@Override/***初始化入口*/public void initialize(String id, ConfigMap properties) { serviceId = properties.getPropertyAsString("service-id", "remoting-service");destFactory = properties.getPropertyAsString("dest-factory", "spring");destAdapter = properties.getProperty("dest-adapter");destScope = properties.getProperty("dest-scope");destSecurityConstraint =properties.getProperty("dest-security-constraint");destChannel = properties.getPropertyAsString("dest-channel", "my-amf");includeEndsWithBeans =properties.getPropertyAsString("includeEndsWithBeans",DEFAULT_INCLUDE_END_WITH_BEANS);Service remotingService = broker.getService(serviceId);if (remotingService == null)throw createServiceException("not found Service with serviceId:" + serviceId);createSpringDestinations(remotingService);}private ServiceException createServiceException(String message) {ServiceException ex = new ServiceException();ex.setMessage(message);return ex;}/***将Spring的Service Name自动定义为destination*/private void createSpringDestinations(Service remotingService) { WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(broker.getServletContext());List<String> addedBeanNames = new ArrayList();for (String beanName : wac.getBeanDefinitionNames()) {Class type = wac.getType(beanName);logger.debug("{}: {}", new Object[]{beanName,type.getName()});boolean isCreateSpringDestination = !type.isAnnotationPresent(com.grgbanking.platform.core.flex.NoneRemoti ngObject.class)|| beanName.endsWith(includeEndsWithBeans) || isCreateDestination(beanName, type);if (isCreateSpringDestination) {createSpringDestination(remotingService, beanName);addedBeanNames.add(beanName);}}("[Auto Export Spring toRemotingDestination],beanNames={}", addedBeanNames);}protected boolean isCreateDestination(String beanName, Class type) {return false;}/** <!-- 动态生成的配置内容 --> <destination id="sampleVerbose"><channels> <channel* ref="my-secure-amf" /> </channels> <adapter ref="java-object" /> * <security> <security-constraint ref="sample-users" /> </security> * <properties> <source>pany.SampleService</source>* <scope>session</scope> <factory>myJavaFactory</factory></properties>* </destination>*/protected void createSpringDestination(Service service, String destinationId) {flex.messaging.services.remoting.RemotingDestinationdestination = (flex.messaging.services.remoting.RemotingDestination) service.createDestination(destinationId);destination.setSource(destinationId);destination.setFactory(destFactory);if (destAdapter != null) {destination.createAdapter(destAdapter);}if (destScope != null) {destination.setScope(destScope);}if (destSecurityConstraint != null) {destination.setSecurityConstraint(destSecurityConstraint);}if (destChannel != null) {destination.addChannel(destChannel);}service.addDestination(destination);}2)修改SpringFactory并扩展FlexFactory根据destination的id,将Flex的destination映射为Spring的Beanpublic class SpringFactory implements FlexFactory {private static final String SOURCE = "source";/***This method can be used to initialize the factory itself.It is called*with configuration parameters from the factory tag which defines the id*of the factory.*/public void initialize(String id, ConfigMap configMap) {}/***This method is called when we initialize the definition of an instance*which will be looked up by this factory.It should validate that the*properties supplied are valid to define an instance.Any valid properties*used for this configuration must be accessed to avoid warnings about *unused configuration elements.If your factory is only used for *application scoped components,this method can simply return a factory*instance which delegates the creation of the component to the*FactoryInstance's lookup method.*/public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));return instance;} // end method createFactoryInstance()/***Returns the instance specified by the source and properties arguments.*For the factory,this may mean constructing a new instance, optionally*registering it in some other name space such as the session or JNDI, and*then returning it or it may mean creating a new instance and returning *it.This method is called for each request to operate on the given item*by the system so it should be relatively efficient.*<p>*If your factory does not support the scope property,it report an error*if scope is supplied in the properties for this instance.*/public Object lookup(FactoryInstance inst) {SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;return factoryInstance.lookup();}/***Spring工厂实例,执行实际的查找动作.**@author yrliang**/static class SpringFactoryInstance extends FactoryInstance { SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties) {super(factory, id, properties);}@Overridepublic String toString() {return"SpringFactory instance for id="+ getId() + " source=" + getSource() + " scope=" + getScope();}@Overridepublic Object lookup() {Logger logger =LoggerFactory.getLogger(SpringFactory.class);ApplicationContext appContext = WebApplicationContextUtils .getWebApplicationContext(flex.messaging.FlexContext.getServletCo nfig().getServletContext());String beanName = getSource();try {logger.debug("lookup(): bean id=" + beanName);//flex.messaging.FlexContext.getHttpRequest().getSession().getAttribute (arg0);return appContext.getBean(beanName);} catch (NoSuchBeanDefinitionException nexc) {ServiceException e = new ServiceException();String msg = "Spring service named '"+ beanName + "' does not exist.";e.setMessage(msg);e.setRootCause(nexc);e.setDetails(msg);e.setCode("Server.Processing");logger.error("",nexc);throw e;} catch (BeansException bexc) {ServiceException e = new ServiceException();String msg = "Unable to create Spring service named '" + beanName + "' ";e.setMessage(msg);e.setRootCause(bexc);e.setDetails(msg);e.setCode("Server.Processing");logger.error("",bexc);throw e;}}}}3)配置service-config.xml<?xml version="1.0" encoding="UTF-8"?><services-config><factories><factory id="spring"class="com.grgbanking.platform.core.flex.spring.SpringFactory"/> </factories><services><service-include file-path="remoting-config.xml" /><service-include file-path="proxy-config.xml" /><service-include file-path="messaging-config.xml" /><service id="spring-remoting-service"class="com.grgbanking.platform.core.flex.spring.SpringRemotingDestina tionBootstrapService"><!-- 其它生成的RemotingDestination默认属性<adapters><adapter-definition id="java-object"class="flex.messaging.services.remoting.adapters.JavaAdapter"default="true" /></adapters><default-channels><channel ref="my-amf" /></default-channels>--><properties><!--<service-id></service-id><dest-factory></dest-factory><dest-adapter></dest-adapter><dest-scope></dest-scope><dest-channel></dest-channel><dest-security-constraint></dest-security-constraint><includeEndsWithBeans></includeEndsWithBeans>--></properties></service></services>4)FLEX客户端调用this.blogFlexService = new RemoteObject("blogFlexService");//这里需要指定endpoint,因为是动态的RemotingDestination,而静态的RemotingDestination ,flex编译器会将endpoint编译进源代码.//这个也是flex编译器需要指定配置文件而导致使用flex经常会犯的错误之一.this.blogFlexService.endpoint = '../messagebroker/amf';3.公司应用案例这种整合最早是在2010年的FEEL View 5.0中使用,后台的统一平台,FEEL View5.1中都采用这种方法进行整合。

整合flex-spring-mybatis

整合flex-spring-mybatis

整合flex-spring-mybatis开发工具:myeclipse8.5 flash builder 4 jdk1.6运行环境:tomcat6 db2框架:spring3.0 mybatis3 flex blazeDs1.新增web工程2.把blazeDs.war中web-inf的内容覆盖3.更改项目类型,添加flex项目类型4.应用程序服务器类型:J2EE使用远程对象访问服务,选择BlazeDs5.根文件夹:所建工程的WebRoot路径输出文件夹:编译好的flex应用程序的位置6点击finish后,工程有报错信息右键单击,并选择重新生成HTML模板7. 新增文件夹flex-src进入工程属性页面,选择flex构建模块修改主源文件夹:flex-src修改输出文件夹:http://localhost:8080/flexDoc/flexDoc-bin/把flexDoc.mxml移动至flex-src文件夹下面8. 以web application 的方式运行flexDoc.mxml9. 建一个java类,在WebRoot/flex/remoting-config.xml中注册该类例如:<destination id="helloWorld"><properties><source>cn.riahome.java.HelloWorld</source></properties></destination>10.在mxml中调用java类<mx:RemoteObject id="say" destination="helloWorld"></mx:RemoteObject><mx:Script><![CDATA[public function remotingSayHello(event:Event):void{say.getHelloWorld(tiName.text);}]]></mx:Script>11.整合spring(1)导入spring的相关jar包,添加spring的配置文件(2)编写一个工厂类,继承flexFactory(3) 在WebRoot/WEB-INF/flex/services-config.xml中添加<!-- 整合spring--><factories><factory id="spring" class="com.sand.factories.SpringFactory"/> </factories>(4) 在application-façade.xml(spring IOC配置文件)中添加<bean id="loginFacade"class="com.sand.facade.login.LoginFacade"scope="prototype"><property name="loginService"ref="loginService"/></bean>(5) 在WebRoot/WEB-INF/flex/remoting-config.xml中添加<destination id="login"><properties><factory>spring</factory><source>loginFacade</source></properties></destination>12.整合mybatis(1) 导入mybatis的相关jar包,添加与spring整合的配置文件<bean id="loginFacade"class="com.sand.facade.login.LoginFacade"scope="prototype"><property name="loginService"ref="loginService"/></bean>(2) 导入mybatis的相关jar包,添加与spring整合的配置文件<!-- mybatis--><bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation"value="classpath:mybatis-config.xml"/><property name="dataSource"ref="dataSource"/></bean>(3) 在mybatis-config的配置文件中添加映射文件<mappers><mapper resource="com/sand/mapper/FlexDemoMapper.xml"/></mappers>(4) 根据需要编写FlexDemoMapper.xml<!-- 根据usercode pwd查询 --><select id="getFlexDemoForLogin"parameterType="com.sand.pojo.FlexDemo"resultType="com.sand.pojo.FlexDemo"resultMap="flexDemoMap">SELECT * from FLEXDEMO FDWHERE ER_CODE = #{userCode} and FD.PWD = #{pwd} </select>(5)编写接口FlexDemoMapper.javapublic interface FlexDemoMapper {public FlexDemo getFlexDemoForLogin(FlexDemo flexDemo);}(6)编写DAO ,继承SqlSessionDaoSupport后,可以通过getSqlSession,获取mybatis的sessionpublic class LoginDaoImpl extends SqlSessionDaoSupport implements LoginDao{public FlexDemo getFlexDemo(String id){return (FlexDemo)getSqlSession().selectOne("com.sand.mapper.FlexDemoMapper.getFlexDemo ", id);}public FlexDemo getFlexDemo(FlexDemo flexDemo){return(FlexDemo)getSqlSession().selectOne("com.sand.mapper.FlexDemoMapper.g etFlexDemoForLogin", flexDemo);}}(7)在spring的配置文件中添加事物管理功能<!--声明式事务通知--><tx:advice id="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:method name="save*"propagation="REQUIRED"rollback-for="ng.Exception"/><tx:method name="insert*"propagation="REQUIRED"rollback-for="ng.Exception"/><tx:method name="update*"propagation="REQUIRED"rollback-for="ng.Exception"/><tx:method name="delete*"propagation="REQUIRED"rollback-for="ng.Exception"/><tx:method name="import*"propagation="REQUIRED"rollback-for="ng.Exception"/><tx:method name="rcpersist*"propagation="REQUIRED" rollback-for="ng.Exception"/><tx:method name="parse*"propagation="NEVER"rollback-for="ng.Exception"/></tx:attributes></tx:advice><aop:config><aop:pointcut id="serviceOperation"expression="execution(* com.sand.service..*Service.*(..))"/><aop:advisor pointcut-ref="serviceOperation"advice-ref="txAdvice"/></aop:config>。

FLEX4系列教程

FLEX4系列教程

RIA 是什么?RIA 是富网络应用(Rich Internet Application)的缩写,也即丰富互联网应用程序。

它只是一种技术形式而不是具体的技术。

RIA 出现的背景在 RIA 出现之前,软件开发都是基于 C/S(Client/Server)或 B/S(Browser/Server)架构,但两者各有缺点。

C/S 的主要缺点:1.开发、部署成本高传统 B/S 结构的软件需要针对不同 OS 开发对应的版本,且软件更新换代的速度越来越快自然成本会很高。

2.维护成本高服务器和客户端都需要维护管理,工作量较大且技术支持复杂。

B/S 的主要缺点:1.受限于 HTML 技术,很难像 C/S 那样产生丰富,个性的客户端界面;2.存在浏览器兼容性差问题;3.Server 端负荷较重,响应速度慢;绝大多数处理都集中在 Server 端,并且每次响应都要刷新页面(利用 Ajax 技术会有所缓解)。

随着软件的飞速发展,此时需要出现一种能够摒弃上诉缺点的新的技术形式– RIA 出现了。

目前比较流行的 RIA 技术▪Adobe 的Flex▪微软的Silverlight▪Sun 的JavaFX以上三种技术各有优势,本教程只关注目前应用较广泛的 Flex。

Flex 和 Flex SDK 是什么?Flex 是一个开源、免费的框架,用于构建在Adobe® Flash® Player 或Adobe AIR® runtimes 环境内运行的跨浏览器、桌面和操作系统的富网络应用。

Flex SDK(Flex Software Development Kit)除了包括 Flex 框架以外还包括 compilers(编译器)和debugger(调试器)等开发工具。

(这也意味着没有 Flash Builder 等 IDE 同样可以开发 Flex 应用,但效率会很低。

)授权Mozilla Public License, version 1.1 (MPL)开发语言Flex Framework : Action Script 3.0开发者Adobe Systems IncorporatedFlex 应用运行环境–Adobe® Flash® Player 和Adobe AIR® Runtimes两者都是运行环境,前者基于浏览器,后者基于桌面。

基于Flex和Spring的应用开发架构研究

基于Flex和Spring的应用开发架构研究

基于Flex和Spring的应用开发架构研究摘要:传统的java ee应用程序使用采用某种mvc框架作为前端用户界面,随着技术的发展,使用者对用户体验方面有了更高的要求,flex作为富客户端技术在web技术中的应用,在一定程度上提升了用户交互性和用户体验度,为使用者提供了更酷的界面,更短的响应时间及接近于桌面程序的体验。

本文主要讨论如何将flex 技术集成至一个现有的基于spring的java ee应用程序中,阐述了flex技术在java ee应用程序中的实现解决方案。

关键词:java ee;flex;web应用程序;开发框架中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 17-0000-021 引言flex 是一个高效、免费的开源框架,可用于构建具有表现力的web 应用程序,这些应用程序利用 adobe flash player和 adobe air,运行时跨浏览器、桌面和操作系统实现一致的部署。

java ee 是基于组件模型的、分层的、可用于分布式环境下的开发与部署企业级应用程序的一系列服务和规范的集合。

本文结合已有的基于spring的java ee框架应用程序的基础上,对flex开发环境进行配置,使用flex进行程序开发。

2 java ee应用程序加入flex支持现有一个现有的java ee应用程序,程序结构如图1所示此web应用程序是典型的java ee应用的程序。

传统程序交互界面一般采用html的形式,用户在进行操作时,每次点击相应该的链接都需要重新的刷新界面。

如采用flex作为与用户交互的界面,将会给用户带来更好的体验。

本文以系统中权限管理模块中的“资源查询”为例,对现有的框架整合flex应用进行阐述。

2.1 ssh框架概述如图1中所示,按照分层架构的形式对资源进行划分, action 包中存放控制器类,service中存放业务接口类,在impl中存放业务实现类,utils包中存放实用程序类,在vo包中存放实体类;其中,applicationcontext-dao.xml为spring的配置文件,struts.xml为struts2的配置文件。

深度整合Flex和Spring

深度整合Flex和Spring
计算机 光盘 软件 与应 用
2 1 年第 7 00 期
C m u e DS fw r n p t c t o s o p t rC o ta ea dA p i合 Fe l x和 S r g pi n
史 红 军
( 四川建筑职业技 术学院 ,四川德 阳 6 8 0 1 00)
摘 要 : 文讨论 了基 于 S r g l e S nertn 的 H x与 Sn g的整合 方 案 , 出把 来 自 F x的请 求映射 到 b zDS 本 p n b zD it ao i a g i e pn 给 l e le a 的方 法 ,说 明 了在 S r g 配置 文件 中为 F x 露 ba 方法 。 pn 的 i l 暴 e e n的
te m eh n h w o ma t e r q e tfo te Flx t e blz DS,a d e c b w o e po e be n’ e od i t e s in h tod o o t p e u s r m h e o t a e h h n d s r e ho t x s a Sm t n pr g i h h
关键词 :Fe ;p n l e tga o ;p n en l S r gba DSi e rt nS r gb a x i z n i i
中图分类号 :T 3 P1
文献标识码 :A
文章鳊号:10 - 5 9 2l) 7 02 — 3 0 7 9 9 (oo 0 - 15 0
Flx a d S rn n e r t n I - e t e n p i gI t g a i n d p h o
c n g r il st teF e o f u ef e o h l x. i Ke wor : e S i gblz D Si tg ai n;p i gbe y dsF x;prn a e ne r to S rn a l n

j2ee项目整合flex

j2ee项目整合flex

j2ee项目整合flex写了这么多,因此我顺便贴我的空间里吧,校内日志我也摘抄了一份!我用的环境是MyEclipse6.0+JDK5.0+Tomcat5.5+ Flex3.0 Builder For Eclipse Plugin+LCDSMyEclipse6.0的安装,不说了JDK5.0的安装,不说了Tomcat5.5也不说了要注册Adobe账号,只是是免费使用的FlexBuilder3下载去网上找一个FB3_WWEJ_Plugin().exe,安装完成后,在你的MyEclipse中Help->Software Updates->Manage Configuration-> Add an Extension Location指向你FB3_WWEJ_Plugin().exe 的安装路径就能够了!或者在你的Eclipse的安装目录下,有个links文件夹,在里面新建一个com.adobe.flexbuilder.feature.core.link文件,里面写着X:/Program Files/Adobe/Flex Builder 3 Plug-in,“X”表示你安装Flex Builder 3 Plug-in的盘符!1.首先创建一个Web项目,如图所示:2.然后把这个项目部署到Tomcat服务器上的,我用的是Tomcat5.5.。

3.接下来,假如你已把LCDS安装好了的话,那么你就到LCDS文件夹下面把lcds下的WEB-INF里的lib,flex两个文件夹考到你的FlexDemo项目里的WEB-INF下。

4.接下来就是向现有的项目中添加FLEX特性了。

回到你的MyEclipse中在你的项目上右击->Flex Project Nature->add Flex Project Nature ,如图所示:点Next注意了!!!!!这里的Root folder要指向你Tomcat下的Webapps里的项目下面,Root URL是你用来调试用的,localhost后面的FlexDemo名子要与上面Root folder里的FlexDemo要相同,Context root 这里也是的,output folder这里要指向你MyEclipse项目里的WebRoot下面,这样就好了,如图所示:这里点一下Validate Configuration进行校验一下,就能够了!!然后点Finish完成!接下来就是配置环境了,关于初学者来说,这很烦恼也很乱,只是不要紧,你一点点理清了,也不是件难事!呵呵,俺就是这样过来的!回到你的MyEclipse中在你的项目上右击->Properties会出现下面图形:点Flex Build Path选项,在Source path 选项卡中,点Add Folder在弹出的对话框中写上flex_src。

flex 整合spring

flex 整合spring

Flex整合Spring
一个完好的flex与Java工程,加入spring相关的包后,先在web.xml中启动spring,即在web.xml 文件中加入一下代码:
如果我们想让flex前端调用的Java类是通过flex自身的配置文件获得的,那么我们只需要在remoting-config.xml中配置好需要的Java类即可,具体添加如下类似代码:
启动了spring后,如果我们想让容器中的Java类的实例通过spring来管理,则需要先自己写一个类冲当factory,使flex调用java类的时候从spring配置好的容器中去取,当然仍需要给出相关的配置具体步骤如下:
手写Factory类
该类实现FlexFactory接口,并按照图片中的方式覆写其中的两个方法,接着在services-config.xml 中加入以下代码(最好加在末尾):
以上配好了好,我们就可以按常规的方式在spring中配置我们需要的Java类了,如:
注意我们到此为止,只是实现了让Java类的实例的管理归结于spring,而在flex前端调用Java的类,只能识别在remoting-config.xml中进行配置的类,因此我们仍需要在remoting-config.xml进行配置,只不过此时配置的类,最终指向的是spring中类,即在remoting-config.xml中加入如下代码:
到此为止,个完整的flex和spring的整合已经完成,很有成就感吧···。

有关鞋子的英语单词

有关鞋子的英语单词

有关鞋子的英语单词1、鞋子各部位中英文对照帮面-UPPER 后帮-BACK COUNTER 内里-LINING大底-OUTSOLE 中底-INSOLE 中底标-INSOLE LABEL鞋眼-EYELET 鞋眼片-EYELET STAY 鞋带-LACE魔术扣-VELCRO 鞋舌-TONGUE 鞋跟-HEEL靴帮-CUT 高帮-HIGHT CUT 低帮-LOW CUT 边墙-SIDE SHOE 沿条-WELT 刺绣-EMBROIDERY扣子-BUCKLE 拉练-ZIPPER 松紧带-ELASTIC LACE(GROE)饰片-ORNAMENT 铁心-SHANK 加强带-REINFORCE TAPE泡棉-FOAM 飞机板-INSERTER 跟皮-HEEL COVER鞋鞍-SADDLE 满帮-WHOLE VAMP 鞋垫(中底垫皮)-SOCK LINING 鞋面前端-VAMP 鞋头-TOE CAP 套头-TOE BOX鞋领-COLLAR 鞋腰QUARTER 滴塑片-PLASTIC PIECE鞋统-SHAFT 滚边-BINDING 鞋后开口-OPEN BACK2、品名(ITEM)运动鞋-SPORT SHOES 反绒皮-SWEDE SHOES 休闲鞋-CASUAL SHOES皮鞋-LEATHER SHOES 注塑鞋-INJECTION SHOES 时装鞋-FASHION SHOES靴子-BOOT 拖鞋-SLIPPER 毛绒鞋-ANIMAL SHOES(PLUSH)沙滩鞋-BEACH SANDAL 室内鞋-INDOOR SHOES 布鞋-CANVAS SHOES凉鞋-SANDAL3、颜色(COLOUR)深色-DARK/D. 浅色-LIGHT/L. 银色-SILVER灰色-GREY 黑色-BLACK 嫩绿色-SPRING MINT深绿色-AUGUST GREEN 浅绿色-CITRUS GREEN 草绿色GREEN 05(LIT GREEN)鲜绿色-DESERT WEED 青绿色-SUBLE MOSS 绿色-NEW LIGHT MINT(GREEN)水晶色-CRYSTALLINE 白色-WHITE 天蓝色-SUN LIGHT BLUE粉蓝-LILY SKY 蓝色-CLASSIC NAVY 宝蓝-VIVID TURQUOISE(ROYAL ~)蓝色-BLUE 海蓝-NAVY 水蓝色-MEDIUM BLUE深棕色-DERBY BROWN 浅棕色-ZONE NATURAL 棕色-CREAM SODA(BROWN)淡紫-LILAC 紫色-PURPLE 浅紫色-DRY ROSE红色-RED 嫩粉色-LILY BLUSH 铁红色-RUST桔红色-CORAL HAZE 粉红-TAWNY BLUSH(PINK)中国红-MEDIUMRED(COUNTRY ~)浅粉红-PALE PINK KISS 桃红-JCP FUSHCIA 桔色-LILY ORANGE金色-PALE GOLD 银色-SILVER 骨色-TIMBER BORN(IVORY)茶色-TAWNEY 酒色-WINE 镍色-NICKEL深咖啡-AUTUMN MINK 咖啡色-GLOBAL BROWN 冰咖色-ICED COFFEE黄色-SUNKING 深黄色-BUTTER CUP 浅黄色-YES YELLOW米黄色-POLOERE 黄褐色-CAMEL 05 驼色-CAMEL米色-BEIGE KISS 大米色-RICE 象牙色-IVORYKISS柠檬色-LAUREL 奶油色-BUTTER MILK 干草色-PALE HAY烟色-TAUPE SMOKE 原木色-SANDAL WOOD 卡其色-KAKI沙色-TOASTED ALMOND4、材料(MATERIAL)皮-LEATHER 软皮-CASTING LEATHER 反绒皮-SWEDE LEATHER猪皮-PIG SKIN 橡胶-RUBBER 塑料-PLASTIC注塑-INJECTION 纺织布-TEXTILE 打蜡皮-BURNISHED LEATHER帆布-CANVAS 弹力布-LYCRA 水牛皮-BUFFALO HIDE牛皮-COW LEATHER 纳帕PU-NAPA PU 拉米-LAMY合成革-SYNTHE PU牛巴-PU NUBOCK 网布-MESH整片底-UNIT SOLE EVA底-EVA SOLE 钉子-NAIL布类-FABRIC 麻布-JUTE 胶-GLUE/CEMENT皮克隆-PICALON 特丽可得-TRICOT 天皮-TOP LIFT/HELL LIFT打包带-PE TAPE5、包装(PACKAGE)塑料袋-POLY BAG 挂钩-HOOK 彩盒-COLOUR BOX字母扣-NYLON STRING 尺码标-SIZE LABEL 成分标-INGREDIENT LABEL挂牌-HANGTAG 环保标-GREEN POINT 货号-MODEL配码-ASSORTMENT 布标-TEXTILE LABEL 商标-LOGO麦头-MARK 正麦-MAIN MARK 侧麦-SIDE MARK双-PAIR 双数-PAIRAGE 纸箱-CARTON箱-CASE 纸盒-BOX 纸板-CARDBOARD包装纸-TISSUE PAPER 干燥剂-SILICA GEL 价格标签-PRICE TICKET标签-TAG LABEL TICKET 胶带-TEPE 橡皮筋-ELASTIC BAND层-LAYER 长度-LENGTH 立方-CUBIC毛重-GROSS WEIGHT 净重-NET WEIGHT6、鞋类用具名称钳子-PINCER 布尺-TAPE 前帮机-TOE LASTING MACHINE剪刀-SCISSORS 输送带-CONVEROR 针车-STITCHING MACHINE毛刷-BRUSH 斩刀-CUTTING DIE 包装机-PACKING MACHINE铁捶-HAMMER 尺-RULER 后帮机-COUNTER LASTING M~空气枪-AIR GUN 鞋拔-SHOE HORN 裁断机-CUTTING MACHINE打钉机-NAILING M~ 模子-MOLD 压底机-SOLE PRESS MACHINE硬度计-HARDNESS TESTER 厚度计-THICKNESS TESTER 拉力机-TENSILE STRENGH TESTER温度计-MOISTURE TESTER7、制鞋过程裁断-CUTTING 针车-STITCHING 成型-LASTING攀鞋-WRAPPING 入前套-LAY TOE BOX 上糊-CEMENTING后帮-COUNTER LASTING 前帮-TOE LASTING 拔钉-PULL-OUT STAPLE削皮-SKIVING 清洁CLEAN 贴底-SOLE LAYING修边-FOLDING 加热-HEATING 冷却-COOLING入楦-PUT-ON LAST 除楦-TAKE-OURT LAST 贴鞋垫-SOCK LAYING包装-PACKING 磨粗-BUFF 打蜡-WAXING8、定单应用定单号码-ORDER NO. 定单日期-DATE OF ORDER 交货日期-DELIVERY DATE工厂号码-FACTORY NO. 型体-STYLE 客户库存号码-CUST. STOCK NO.制造者-MFG 装船日期-SHIPPING DATE 客户定单号码-CUST. ORDER NO. 进货港口-PORT OF ENTRY9、鞋类缺点发霉-GET MILDEW 碎屑-CHIP 纸样错了-WRONG PATTERN太钝-TOO DULL 起毛-HAIRY 鞋面皱折-VAMP WRINKLE不配双-NOT IN PAIR 鞋面裂开-VAMP SPLIT OFF 线不平均-STITCHING NOT EVEN 鞋面掀开-VAMP OPEN UP 跟不正-HEEL NOT STRAIGHT 中底发角-ANGLE ON INSOLE 裁断错误-WRONG CUTTING 贴底不正确-SOLE LAYING NOT PROPER鞋不平均-WRAPPING NOT EVEN 后带太高/低-BACKSTRAP TOO HIGH/LOW攀脱胶-CEMENT COMES OFF 大底不平-OUTSOLE NOT SMOOTH跟粘上胶-CEMENT ON HEEL 接着力不够-CEMENT NOT GOOD清洁度不够-CLEANESS NOT ENOUGH 鞋头陷下去-TOE BROKEN DOWN钉子露出来-STAPLE COMESOFF 颜色不配合-COLOUR NOT MATCHINE不照记号本-STITCHING NOT ON MARK10、贸易常识批发-WHOLE SALE 储藏-HOARD 成本价-COST PRICE内行-ADEPT 发票-INVOICE 大量生产-MASS PRODUCTION廉价-SALE 验货员-INSPECTOR 检验员-INSPECTION SHEET开发票-BILLING 征收-COLLECTION 航运公司-SHIPPING COMPANY产量-OUTPUT 倾销-DUMPING 装船文件-SHIPPING DOCUMENTS 仓库-WARE HOUSE 生意兴隆-BOOM 上等货-TOP QUALITY正牌货-STANDARD 破产-BANKRUPT 航空邮包-AIR PARCEL POST报价-OFFER 已装船-ON-BOARD 部分损失-PARTIAL LOSS收款人-PAYEE 流程-PROCESS 装船日期-SHIPPING DATE索赔-CLAIN 结关日-CLEAR DATE 装船通知-SHIPPING ADVICE佣金-COMMISSION 收货人-CONSIGNEE 交货期-DELIVERY DATE复查-DOUBLE CHECK 货柜-CONTAINER 装卸码头-SHIPPING DOCK出仓-DELIVERY FROM GODOWN 确认样品-COMFIRMATION SAMPLE(CFM SPL)小心轻放-HANDLE WITH CARE 即期信用证-SIGHT LETTER OF CREDIT试穿样品-FITTING SAMPLE(FITTING SPL)远期信用证-USANCE LETTER OF CREDIT可取消信用证-REVOCABLE LETTER OF CREDIT不可取消信用证-IRREVOCABLE LETTER OF CREDIT可转让信用证-ASSIGNABLE LETTER OF CREDIT不可转让信用证-UNASSIGNABLE LETTER OF CREDIT11、其他确认-CONFIRM/CFM主要-PRIMARY 次要-MAJOR 尺寸-INCH牛仔布-DENIM 药水-PRIMER 二榔皮-SPLIT LEATHER泡棉-FOAM 海绵-SPONG 生产线-PRODUCTION LINE底边-SOLE EDGE 滚边-BINDING 底台包皮-PLATFORM COVER饰片-OVERLAY 拒绝-REJECT 品质管理-QUALITY MANAGEMENT 国际标准组织-ISO 记录-RECORD 外箱贴纸-CARTON LABEL鞋头对鞋跟-TOE TO HEEL 全面品质保证-TQA-TOTAL QUALITY ASSURANCE12、试验仪器耐磨试验机-AKRON ABRASION TESTER 耐候试验机-ACCELERATED WEATHERING TESTER老化试验机-AGING OVEN 皮革耐挠性试验机-BALLY PENETRATION TEST耐弯曲试验机-BENDING TESTER 破裂强度试验机-BURSTING STRENGTH TESTER脱色程度试验机-CROCK METER 磨耗试验机-DIN TYPE ABRASION TESTER耐黄变试验箱-DISCOLORATION METER 曲折试验机-DEMATTIA FLEX-CRACKING TESTER耐寒试验机-FREEZING TESTER 耐挠试验机-FLEXING RESISTANCE TESTER硬度计-HARDNESS TESTER 高压耐水度实验机-HYDROSTATIC HEAD TESTER摩擦染色坚牢度试验机-DYEING RUBBING TESTER发泡橡胶电脑系统无转子硫化实验机-FOAM FORCE RHEOMETER电脑系统鞋子止滑性试验机-COMPUTER SYSTEM NON-SLIP PROPERTY TESTER电脑系统摩尼黏度试验机-COMPUTER MOONEY VISCOMETER。

flex和j2ee整合

flex和j2ee整合

Flex 学习入门Flex+BlazeDS整合j2ee开发环境的配置过程:第一步:下载Flex 配置文件以及Flex需要的jar包/wiki/display/blazeds/BlazeDS/如图1.0所示:图 1.0下载flex 配置文件和flex jar包点击Download BlazeDS now 进入下一步:如图1.1继续点击Download BlazeDS 3.x branch Nightly builds进入下一步:如图1.2图 1.2 下载flex配置文件和flex jar包第二步:新建一个Web Project工程,工程名为:flexDemo、修改Web root folder:WebRoot -> web.第三步:解压刚下载的blazeds-bin-3.2.0.3978.zip ,解压后有一个blazeds.war的文件,把blazeds.war的后缀名重命名为.rar,结果变成rar文件:blazeds.rar,将blazeds.rar再次解压:此时就有两个文件夹META-INF和WEB-INF, 用解压后的WEB-INF直接覆盖项目中的WEB-INF。

第四步:在flexDemo/src目录下新建helloWord类:如图1.3 所示图 1.3 新建java ClassHelloWorld.javapackage com.kpsoft.flexDemo;public class HelloWorld {public String getHelloWorld(String name) {return "Hello World!"+name;}}第五步:部署flexDemo到Tomcat服务器中。

第六步:为项目增加Flex支持,右键项目名称,点击Flex Project Nature/Add Flex Project Nature 如图1.4 所示:图 1.4 添加Flex 支持Application server type :选择j2ee 点击Next 下一步:图1.6 配置flex 信息根据图1.6 视图进行配置,点击Finish 完成.此时有个错误:Severity and Description Path Resource Location Creation Time IdServer SDK: Directory does not contain a Flex SDK.解决办法如图1.7所示:选择Flex Compiler 选中点击Apply 后在点击ok 完成此时还有一个错误:Severity and Description Path Resource Location Creation Time IdCannot create HTML wrapper. Right-click here to recreate folder html-template. 解决办法如图1.7图 1.7 创建Html 模板第七步:在web/WEB-INF/flex/remoting-config.xml 文件中添加:<destination id="helloWorld"><properties><source>com.kpsoft.flexDemo.HelloWorld</source></properties></destination>FlexDome.mxml<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="/2006/mxml" layout="absolute" fontSize="12"><mx:RemoteObject id="say" destination="helloWorld"></mx:RemoteObject><mx:Button x="385" y="132" label=" Click" click="remotingSayHello(event);"/><mx:TextInput x="185" y="132" id="tiName" width="192"/><mx:Label x="113" y="134" text="请输入信息"/><mx:Label text="{stResult}" x="43" y="223" width="448" height="71" id="lblView" color="#FCEE09"fontSize="20" fontWeight="bold" textDecoration="underline" fontStyle="normal"/> <mx:Script><![CDATA[import mx.controls.Alert;import mx.rpc.events.FaultEvent;public function remotingSayHello(event:Event):void{var iname:String=tiName.text;say.getHelloWorld(iname);say.addEventListener(FaultEvent.FAULT,doError);}public function doError(event:FaultEvent):void{Alert.show(event.message.toString());}]]></mx:Script></mx:Application>最后在修改一下services-config.xml 配置文件:<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel"> <endpointurl="http://{}:{server.port}/flexDemo/messagebroker/amf"class="flex.messaging.endpoints.AMFEndpoint"/></channel-definition>修改代码中红色的部分第八步:如图1.8所示开始运行图 1.8 运行程序。

Spring_MVC+ Flex

Spring_MVC+ Flex

一、环境:MyEclipse7.0Felx Builder3.0JDK1.6Flex sdk3.2Tomcat6.0二、创建JAVA We b在MyEclipse中创建Web Project:TestProject将相关JAR包拷贝到WEB-INF/lib下,并引入到项目的Build Path中三、创建FLEX工程在Flex Builder中创建Flex Project :TestProject四、配置web.xml配置JAVA Web工程中WebRoot/WEB-INF/web.xml<!--添加模式文件--><web-app version="2.4"xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"><!--指定欢迎页--><welcome-file-list><welcome-file>index.jsp</welcome-file>1.</welcome-file-list>2.<!--指定初始化文件-->3.<context-param>4.<param-name>contextConfigLocation</param-name>5.<param-value>6.classpath:ApplicationContext.xml, classpath:Application-Flex.xml7.</param-value>8.</context-param>9.<!--添加监听器-->10.<listener>11.<listener-class>.springframework.web.context.ContextLoaderListener13.</listener-class>14.</listener>15.<listener>16.<listener-class>.springframework.security.ui.session.HttpSessionEventPublisher18.</listener-class>19.</listener>20.<!--添加servlet配置-->21.<servlet>22.<servlet-name>flex</servlet-name>23.<servlet-class>org.springframework.web.servlet.DispatcherServlet24.</servlet-class>25.<load-on-startup>1</load-on-startup>26.</servlet>27.<servlet-mapping>28.<servlet-name>flex</servlet-name>29.<url-pattern>/messagebroker/*</url-pattern>30.</servlet-mapping>31.<!--添加session配置-->32.<session-config>33.<session-timeout>30</session-timeout>34.</session-config>35.<!--添加模式文件-->36.<web-app version="2.4"37.xmlns="/xml/ns/j2ee"38.xmlns:xsi="/2001/XMLSchema-instance"39.xsi:schemaLocation="/xml/ns/j2ee40./xml/ns/j2ee/web-app_2_4.xsd">41.<!--指定欢迎页-->42.<welcome-file-list>43.<welcome-file>index.jsp</welcome-file>44.</welcome-file-list>45.<!--指定初始化文件-->46.<context-param>47.<param-name>contextConfigLocation</param-name>48.<param-value>49.classpath:ApplicationContext.xml, classpath:Application-Flex.xml50.</param-value>51.</context-param>52.<!--添加监听器-->53.<listener>54.<listener-class>.springframework.web.context.ContextLoaderListener56.</listener-class>57.</listener>58.<listener>59.<listener-class>.springframework.security.ui.session.HttpSessionEventPublisher61.</listener-class>62.</listener>63.<!--添加servlet配置-->64.<servlet>65.<servlet-name>flex</servlet-name>66.<servlet-class>org.springframework.web.servlet.DispatcherServlet67.</servlet-class>68.<load-on-startup>1</load-on-startup>69.</servlet>70.<servlet-mapping>71.<servlet-name>flex</servlet-name>72.<url-pattern>/messagebroker/*</url-pattern>73.</servlet-mapping>74.<!--添加session配置-->75.<session-config>76.<session-timeout>30</session-timeout>77.</session-config>五、创建ApplicationContext.xml、Application-Flex.xml<!-- [if gte mso 10]> 在web.xml里配置了初始化配置文件(ApplicationContext.xml、Application-Flex.xml),因此需要在src目录下创建相应的xml文件(文件名需要与web.xml中设置的配置文件名相同,否则加载时将会报错)。

将 Flex 集成到 Java EE 应用程序的最佳实践

将 Flex 集成到 Java EE 应用程序的最佳实践

将Flex 集成到Java EE 应用程序的最佳实践传统的Java EE 应用程序通常使用某种MVC 框架(例如,Struts)作为前端用户界面,随着Flex 的兴起,基于RIA 的客户端能够给用户带来更酷的界面,更短的响应时间,以及更接近于桌面应用程序的体验。

本文将讲述如何将Flex 集成至一个现有的Java EE 应用程序中,以及如何应用最佳实践高效率地并行开发Java EE 和Flex。

开发环境本文的开发环境为Windows 7 Ultimate,Eclipse 3.4,Flex Builder 3(从参考资源获得下载链接)。

Java EE 服务器使用Resin 3.2,当然,您也可以使用Tomcat 等其他Java EE 服务器。

现有的Java EE 应用假定我们已经拥有了一个管理雇员信息的Java EE 应用,名为EmployeeMgmt-Server,结构如图1所示:图1. Java EE 工程结构这是一个典型的Java EE 应用,使用了流行的Spring 框架。

为了简化数据库操作,我们使用了内存数据库HSQLDB。

对这个简单的应用,省略了DAO,直接在Façade 中通过Spring 的JdbcTemplate 操作数据库。

最后,EmployeeMgmt 应用通过Servlet 和JSP 页面为用户提供前端界面:图2. EmployeeMgmt Web 界面该界面为传统的HTML 页面,用户每次点击某个链接都需要刷新页面。

由于Employee Management 系统更接近于传统的桌面应用程序,因此,用Flex 重新编写界面会带来更好的用户体验。

集成BlazeDS如何将Flex 集成至该Java EE 应用呢?现在,我们希望用Flex 替换掉原有的Servlet 和JSP 页面,就需要让Flex 和Java EE 后端通信。

Flex 支持多种远程调用方式,包括HTTP,Web Services 和AMF。

flex-java-spring集成

flex-java-spring集成
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
+ "' does not exist.";
e.setMessage(msg);
e.setRootCause(nexc);
e.setDetails(msg);
e.setCode("Server.Processing");
throw e;
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>

flex整合spring,hibernate例子完整版

flex整合spring,hibernate例子完整版

1. 建立数据表Oracle数据库建表语句create table flexuser (userid number(10),username varchar(20),pass varchar(20),email varchar(20), primary key (userid));2. 插入测试数据insert into flexuservalues('1','testuser','testuser','flex@');3. 新建flex项目按NEXT进入下一步1.必须设置J2EE运行服务器目标。

第一次设置时需要新建。

点击New,选择ApacheTomcat v6.0 Server,如图:2.点击下一步,设置apache-tomcat-6.0.16的目录,如图:3.点击完成,J2EE运行服务器目标设为Apache Tomcat v6.0,如图:点击FINISH4 测试flex+bleazeds的web环境是否正确。

在myEclipse视图下在src下构建一个class,模拟服务器端的一个远程对象. package com.surekam.flexandjava;publicclass HelloWorld {public StringsayHelloTo(String name){return"你好!" + name;}}在flex视图下在WEB-INF/flex/remotiong-config.xml中注册这个远程对象<destination id="hello"><properties><source>com.surekam.flexandjava.HelloWorld</source></properties></destination>5 在flexsrc/flexTest.mxml中添加以下代码:<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="/mxml/2009"xmlns:s="library:///flex/spark"xmlns:mx="library:///flex/mx" minWidth="955" minHeight="600"><fx:Script><![CDATA[import mx.controls.Alert;import mx.rpc.events.FaultEvent;import mx.rpc.events.ResultEvent;protected function ro_resultHandler(event:ResultEvent):void{// TODO Auto-generated method stubmessage.text = event.result as String;}protected function ro_faultHandler(event:FaultEvent):void{// TODO Auto-generated method stubAlert.show("失败原因:" + event.toString());}protected functionbutton1_clickHandler(event:MouseEvent):void{// TODO Auto-generated method stubro.sayHelloTo(username.text);}]]></fx:Script><fx:Declarations><!--将非可视元素(例如服务、值对象)放在此处 --><s:RemoteObject id="ro" destination="hello"result="ro_resultHandler(event)" fault="ro_faultHandler(event)" endpoint="/flexTest/messagebroker/amf"></s:RemoteObject></fx:Declarations><s:Button x="355" y="65" label="按钮"click="button1_clickHandler(event)"/><s:Label id="message" x="219" y="125" text="标签" height="32" width="206"/><s:TextInput id="username" x="219" y="65"/></s:Application>工程发布运行,测试一下。

flex 子元素不自动填充高度

flex 子元素不自动填充高度

在网页布局中,flexbox(弹性盒子布局)已经成为了前端开发中常用的技术之一。

Flexbox提供了一种更加灵活的排列方式,使得网页布局更加容易管理和可扩展。

不过,在使用flex布局时,我们可能会碰到flex子元素不自动填充高度的情况,这给我们的布局带来了一些挑战。

我们需要理解flex布局的基本概念。

在flex布局中,父元素成为了flex容器,而其内部的子元素则成为了flex项目。

通过设置容器和项目的属性,我们可以控制其在主轴和交叉轴上的排列和对齐方式。

然而,有时候我们会发现,flex子元素并不会自动填充父元素的高度,这可能会导致布局上的一些问题。

针对这个问题,我们可以通过一些方法来解决。

我们可以利用flex-grow属性来让flex子元素自动填充剩余空间。

通过设置flex-grow 为1,我们可以让flex子元素在父元素的剩余空间中自动扩展,从而达到填充父元素高度的效果。

另外,我们还可以结合使用align-self 属性来对单个flex子元素进行特定的对齐设置,以满足不同的布局需求。

除了以上方法,还可以通过使用flexbox的align-items属性来对齐所有的flex子元素,使它们填充整个父元素的高度。

align-items属性可以设置为stretch,这样flex子元素就会沿着交叉轴方向填满整个父元素的高度。

这种方法适用于需要让所有flex子元素等高的场景。

灵活运用flex布局的属性和方法,我们可以解决flex子元素不自动填充高度的问题,实现更加灵活多变的网页布局。

通过合理地设置flex容器和项目的属性,我们可以达到高质量、深度和广度兼具的布局效果。

对于我个人来说,对于flex布局的理解和使用经验是逐渐积累起来的。

在实际的项目中,我遇到了很多关于flex子元素高度自动填充的问题,而通过不断地学习和尝试,我逐渐找到了解决这些问题的方法,并且也发现了flexbox布局的强大之处。

我相信,随着对flex布局的不断探索和运用,我会对它有着更加深入的理解和掌握。

FLEX提高编译效率解决方案

FLEX提高编译效率解决方案

一.问题描述: (1)二.解决方案: (1)三.编译效率测试 (2)四.推荐方案 (9)编译效率是开发效率中的一个重要环节,下列几种情况使得FlexBuilder 的编译效率低下, 1).开发人员的机器配置太低 (要求 2G 以上内存),2).工程中加载的模块太多甚至模块间有关联, 3).每次修改都自动编译整个项目。

除了机器要求之外,下列分析并提供了四种能够提高编译效率的方式。

1. 使用模块化开发,不开发的就不引用,这样可大大加快编译速度。

开发人员各司其职,最后公布的时候再统一 builder。

2. 把 Build Automatically 选项去掉,模块编译改用手动 Build,修改完善之后才进行 Build,该方式为增量编译。

3. 使用 fsch + ant 编译模块, fsch 是一个编译的后台程序,需要在开发机器上安装,通过 ant 执行 build.xml 文件来调用 fsch 服务, build 文件中的执行如下:<target name="buildfcsh"><fcsh consoleencoding="utf-8"><arg value="mxmlc"/><arg value="${SRC_DIR}/${package}/${file}.mxml" /><arg value="-output=${DEPLOY_DIR}/${package}/${file}.swf"/><arg value="-load-config=${FLEX_HOME}/frameworks/flex-config.xml"/><arg value="-source-path=${SRC_DIR}"/><argvalue="-library-path+=${THIRD_PARTY}/YLZFlex.swc;${THIRD_PARTY}/YLZFlex_core.swc;${THI RD_PARTY}/YLZFlex_report.swc" /><arg value="-defaults-css-url=${SRC_DIR}/style.css"/><arg value="-theme=${FLEX_HOME}/frameworks/themes/Halo/halo.swc" /> </fcsh></target>这种方式产生的模块 swf 文件较使用FlexBuilder 合并代码编译的结果小,但是ant 编译目前无法结合应用程序 Main.mxml 方式编译,因此编译结果的模块需要添加样式文件,如:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

整合Adobe Flex 和SpringAdobe Flash Builder 4 简体中文正式版下载:/adobedownload/index.html随着Adobe Flex 技术的成熟,越来越多的企业开始采用Adobe Flex 技术开发RIA (Rich Internet Application)。

在常见的RIA 应用程序架构中,客户端用Adobe Flex 渲染出漂亮的界面,而渲染界面所需要的数据则从服务器端的应用程序获取。

在Java EE 领域,服务器端的应用程序通常是运行在Java EE 应用服务器中,以获取安全,事务,高可靠性等企业级特性,这直接催生了整合Abode Flex 和Java EE 应用服务器的需求。

而Spring 又是当前应用最广泛的Java EE 应用服务器之一,本文将主要介绍如何整合这两种技术,使你能够轻松构建既健壮又漂亮的Web 应用程序。

整合Adobe Flex 和Spring 的关键就在于提供一种方法使得Adobe Flex 客户端程序可以很容易访问到Spring 管理的Bean,并避免过多的配置。

利用开源框架BlazeDS 和Spring BlazeDS Integration 来集成Adobe Flex 和Spring 可以帮助你做到这一点。

BlazeDS 和Spring BlazeDS IntegrationBlazeDS, BlazeDS 是Adobe 公司的一个开源项目,用于实现基于Flex 的前端与基于Java 的后端应用程序之间的远程调用和消息传送。

而Spring BlazeDS Integration 是Adobe 和Spring 联合开发的一个开源集成项目,目标是使得开发人员可以轻松创建前端采用Flex 而后台采用Spring 的RIA 应用程序,同时避免过多的配置。

图1展示了Spring BlazeDS Integration 的工作原理。

首先,在web.xml 中注册Spring Web MVC 框架的DispatcherServlet,用于处理Spring 请求,通常DispatcherServlet 只是将接收到的Spring 请求转给相应的处理器(handler),处理器会处理接收到的请求并返回一个响应。

而这些处理器需要在Spring Web MVC 框架的配置文件中进行装配,BlazeDS 就是在这里被装配为Spring Web MVC 框架的一个处理器,用于处理Flex 的远程调用请求,装配后的BlazeDS 可以把Spring 管理的Bean 封装成Flex 客户端可以远程调用的服务对象。

整个过程会涉及到3个配置文件,如图1中的白色折角框所示。

下面会一步一步介绍如何使用Spring BlazeDS Integration 整合Flex 和Spring。

图1 – Spring BlazeDS Integration 示意图软件环境要求Java 1.5或更高版本Tomcat 6或更高版本Spring 2.5或更高版本BlazeDS 3.2或更高版本Spring BlazeDS Integration 1.0 或更高版本Internet Explorer 6/7/8 或Firefox 3.0/3.5Flash player 9.0或更高版本Flex Builder 3.0或更高版本下面我们要用Flex Builder 创建一个基于Spring 的服务器端应用程序和一个基于Flex 的客户端应用程序,我们可以用Flex Builder 的Java/Flex 组合工程将二种应用程序合并到一个工程中。

创建一个Java/Flex 组合工程首先,启动Flex Builder,新建一个Flex 工程,选择Application server type为J2EE ,并选中Create combined Java/Flex project using WTP 复选框,该复选框的意思就是把基于Java 的服务器端应用程序和基于Flex 的客户端应用程序放在同一个工程中。

如图2所示。

图2 –新建Flex 工程点击按钮Next,这里我们选择Target runtime 为Apache Tomcat v6.0, 设置好Context root 和Content folder,如果Target runtime下拉框没有想要的J2EE server ,可以点击按钮New… 创建一个。

点击按钮Finish ,一个新的Flex 工程就创建好了。

接下来我们要把所依赖的Spring, BlazeDS 和Spring Blaze Integration 的jar 文件加入到WEB-INF/lib 目录下面。

下面清单列出了这些jar 文件。

backport-util-concurrent.jarcfgatewayadapter.jarcommons-codec-1.3.jarcommons-httpclient-3.0.1.jarcommons-logging.jarconcurrent.jarflex-messaging-common.jarflex-messaging-core.jarflex-messaging-opt.jarflex-messaging-proxy.jarflex-messaging-remoting.jarorg.springframework.flex-1.0.0.M1.jarspring-beans.jarspring-core.jarspring-web.jarspring-webmvc.jarspring.jarxalan.jar配置Spring DispatcherServletSpring 本身自带了一个Web MVC 框架,这个Web MVC 框架的入口点是DispatcherServlet,它用来分发Spring 请求到相应的处理器。

为了在Web 应用程序中使用Spring Web MVC 框架,我们需要在web.xml里面注册这个DispatcherServlet。

在上面新创建的Flex 工程中,打开WebContent/Web-INF/web.xml , 加入如清单1所示的代码。

按照清单1的配置,当请求是发送给以/spring 开头的URL 时,Tomcat 会派发给Spring Web MVC 框架来处理。

另外,在清单1中把Spring Web MVC 框架的配置文件设置为WEB-INF/config/web-config.xml, 我们需要手动创建这个文件,接下来我们还要在这里配置BlazeDS。

清单1 –配置Spring DispatcherServlet<servlet><servlet-name>SpringDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherSer vlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/web-config.xml</param-value> </init-param></servlet><servlet-mapping><servlet-name>SpringDispatcherServlet</servlet-name><url-pattern>/spring/*</url-pattern></servlet-mapping>集成Spring 和BlazeDS首先我们需要在Spring Web MVC 的配置文件WEB-INF/config/web-config.xml 中配置MessageBrokerFactoryBean,MessageBrokerFactoryBean 会在Spring Web MVC 的应用程序上下文中创建一个MessageBroker 的实例,这意味着这个MessageBroker 实例会被Spring 管理,初始化MessageBroker 实例的时候会解析BlazeDS 的配置文件并将配置信息应用到MessageBroker 实例。

MessageBroker 实例可以用来把Spring 管理的Bean 封装成Flex 客户端可直接远程调用的服务。

将清单2所示的代码加入到WEB-INF/config/web-config.xml 即可配置好MessageBrokerFactoryBean。

清单2 –配置MessageBrokerFactoryBean<bean id="mySpringManagedMessageBroker"class="org.springframework.flex.messaging.MessageBrokerFactoryBe an"/>默认情况下,MessageBrokerFactoryBean 会在WEB-INF/flex/services-config.xml 搜索BlazeDS 的配置文件。

如果我们想把BlazeDS 的配置文件放在其它位置,可以给MessageBrokerFactoryBean 的servicesConfigPath 属性赋值。

如清单3所示。

清单3 –配置BlazeDS 的配置文件的路径<bean id="mySpringManagedMessageBroker"class="org.springframework.flex.messaging.MessageBrokerFactoryBe an" ><property name="servicesConfigPath"value="/WEB-INF/flexConfig/servicesconfig.xml"/></bean>Flex 客户端请求首先经由Spring Web MVC 框架的DispatcherServlet,DispatcherServlet 负责把Flex 请求交给相应的处理器处理。

为了让DispatcherServlet 知道要把Flex 客户端请求转交给Spring 管理的MessageBroker 处理,还需要在Spring Web MVC 的配置文件中注册一个处理器,即把MessageBrokerHandlerAdapter 配置为Spring 管理的Bean,如清单4所示。

相关文档
最新文档