现在流行的ssh怎么和flex整合呢? 上个文章已经可以合并flex和javaweb了。我们现在来合并ssh
Flex和Spring的整合
1.先把spring支持的包拷贝到lib下
2.web.xml注册spring
<!-- Spring configuration file (Not needed if you don't use Spring) -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- Spring ContextLoaderListener (Not needed if you don't use Spring) -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3.增加SpringFactory.java
package com.samples.factories;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;
public class SpringFactory implements FlexFactory
{
private static final String SOURCE = "source";
public void initialize(String id, ConfigMap configMap) {}
public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
{
SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
System.out.println("SpringSpringSpring" + instance.toString());
return instance;
}
public Object lookup(FactoryInstance inst)
{
SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
return factoryInstance.lookup();
}
static class SpringFactoryInstance extends FactoryInstance
{
SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
{
super(factory, id, properties);
}
public String toString()
{
return "SpringFactory instance for id=" + getId() + " source=" + getSource() + " scope=" +
getScope();
}
public Object lookup()
{
ApplicationContext appContext =
WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
String beanName = getSource();
try
{
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");
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");
throw e;
}
}
}
}
4、在services-config.xml中注册SpringFacotry,配置如下:
<factories>
<factory id="spring" class="com.samples.factories.SpringFactory"/>
</factories>
当进行到这步 就完成了对spring的配置 你再启动tomcat 会看到spring已经加载到了工程中
启动了spring 只要tomcat日志不报错 说明spring添加完成
4.配置数据源 在
applicationContext.xml中增加datasource的配置
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://127.0.0.1:3306/shop?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="sa" />
</bean>
5.、增加业务层代码,
bean:
package bean;
public class Usersinfor {
private int id;
private String name ;
private String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
dao
package dao;
import java.util.Collection;
import org.springframework.dao.DataAccessException;
public interface UserDao {
public Collection findAll() throws DataAccessException ;
}
imp
package daoImp;
import java.util.Collection;
import java.util.List;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import dao.UserDao;
public class UserDaoImp extends HibernateDaoSupport implements UserDao{
public Collection findAll() throws DataAccessException {
// TODO Auto-generated method stub
List list = this.getHibernateTemplate().find("from Usersinfor as a");
return list;
}
}
6、在applicationContext.xml中配置bean
<bean id="UserDAOBean" class="daoImp.UserDaoImp">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
7、在remoting-config.xml中配置向Flex客户端公开的bean
<destination id="userService">
<properties>
<factory>spring</factory>
<source>UserDAOBean</source>
</properties>
</destination>
、接下来就是Flex客户端的代码了
你主程序中代码 页面显示的
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*" >
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
private function findAllFaultHandler(event:FaultEvent):void
{
Alert.show(event.fault.faultString, "Error");
}
]]>
</mx:Script>
<mx:RemoteObject id="srv" destination="userService">
<mx:method name="findAll" fault="findAllFaultHandler(event)"/>
</mx:RemoteObject>
<mx:HDividedBox width="100%" height="100%">
<mx:Panel title="Inventory Management" width="100%" height="100%">
<mx:DataGrid id="list" width="100%" height="100%" dataProvider="{srv.findAll.lastResult}">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="pwd" headerText="password"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
<!--<ProductForm product="{Product(list.selectedItem)}"/>-->
</mx:HDividedBox>
</mx:Application>
注意一点:
注意:-services "C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\Flex_SSH\WEB-INF\flex\services-config.xml" -locale en_US
这个的配置 是tomcat下的工程的位置 如果这个错误页面就找不到数据源了
这样ssh和flex的整合就完成了
谢谢观赏
分享到:
相关推荐
《Flex与SSH项目集成详解》 在现代的Web开发中,Flex作为一个强大的富客户端技术,常常需要与服务器端的框架进行交互,SSH(Struts、Spring、Hibernate)作为经典的Java Web开发框架,提供了强大的后端支持。将Flex...
本项目名为“flex4.5+SSH项目搭建”,其核心是将Adobe Flex与SSH(Struts2、Spring、Hibernate)框架集成,利用Tomcat作为应用服务器。接下来,我们将详细讨论这个项目中涉及的关键知识点。 1. **Flex 4.5**: Adobe...
总结来说,SSH+Flex项目结合了前端的富客户端技术与后端的强大框架,实现了复杂的业务逻辑和高效的数据库操作。通过这样的架构,开发者能够构建出既美观又功能完善的Web应用,满足用户的各种需求。在实际开发过程中...
在Flex+SSH项目中,前端的Flex应用通过HTTP或AMF通信协议与后端的SSH服务交互。数据和服务通常通过BlazeDS或LiveCycle Data Services (LCDS)在客户端和服务器之间传递。开发者可以在Flex应用中定义服务调用,对应到...
下面将详细介绍Flex与SSH整合的关键步骤、技术要点以及如何在MyEclipse环境中进行项目配置。 1. **Flex介绍**: Flex是一种基于Adobe Flash Player或Adobe AIR运行时的开源框架,用于构建和部署跨平台的富互联网...
在Flex和SSH的整合中,Flex通常作为客户端,负责展示用户界面和与用户的交互。SSH则作为服务器端,处理业务逻辑和数据访问。这种结合通常通过AMF(Action Message Format)协议实现,它允许Flex客户端高效地与服务器...
### 基于Flex与SSH的富互联网企业级技术及其云架构的研究 #### Flex与SSH在富互联网应用中的角色 Flex是一种开源框架,用于构建高性能、高质量的客户端应用程序。它结合了HTML、CSS以及JavaScript等Web标准技术,...
flex整合ssh 原创亲手录像!附上文档
在本实例中,我们将探讨如何将Flex前端与SSH后端进行有效整合,以实现高效的数据交互和功能丰富的Web应用。 首先,让我们深入理解Flex的核心概念。Flex使用MXML和ActionScript来创建用户界面,MXML是一种声明式语言...
在实际开发中,为了实现“FLEX整合ssh”,开发者需要配置Blazeds服务器,设置Flex与Java的通信通道,编写Flex客户端的MXML和ActionScript代码来调用后端服务,同时在Java后端编写Struts2 Action、Spring Bean和...
SSH+Flex是指结合了Spring、Struts2、Hibernate这三个流行的Java企业级应用框架(通常称为SSH框架)与Adobe Flex客户端技术的一种开发模式。本篇文章将详细介绍如何在MyEclipse环境中搭建一个使用SSH+Flex框架的Web...
flex整合ssh 视频 part2 亲手录制的,请使用最新版的flashplay10播放
Flex+SSH在线换物网站 这是例子是一个在线换物的网站。有兴趣的可以看看。 Flex+SSH+SQLServer写的。 文件解压缩以后会有两个文件夹 FBarter 和 JavaBarter ,分别把两个文件夹部署到 MyEclipse 中, 先启动 ...
SSH2是指Struts2、Spring和Hibernate这三个开源框架的组合,它们分别是MVC模式的实现、依赖注入(DI)与面向切面编程(AOP)的支持以及持久层的解决方案。Flex是一种用于创建富互联网应用程序(RIA)的开源框架,...
这个项目不仅提供了基本的数据展示,还涉及到用户身份验证和权限管理,对于学习Web开发,特别是Flex与SSH集成应用的开发者来说,具有较高的参考价值。 首先,Flex是Adobe开发的一种富互联网应用程序(RIA)开发工具...
SSH与Flex的整合,使得后端的强大功能与前端的丰富交互性得以完美融合。 **1. Spring框架** Spring是Java企业级应用的核心框架,它的核心特性包括依赖注入(DI)和面向切面编程(AOP)。在SSH整合Flex中,Spring...
综上所述,这个项目是一个使用Flex作为前端展示,SSH作为后端处理的自动排课系统。它利用现代Web技术实现了用户友好的交互界面,并通过复杂的算法处理课程安排的约束,为学校提供高效、灵活的排课解决方案。开发过程...
通过上述步骤,可以在MyEclipse中成功搭建Flex SSH框架整合项目。这种整合不仅充分利用了Flex在构建富客户端方面的优势,同时也发挥了SSH框架在Java EE领域的强大能力,为开发者提供了高效、灵活的应用程序开发解决...
**FLEX教程码源集合** FLEX,全称为Flexible Application Framework,是由Adobe公司推出的一种用于构建富互联网应用程序(RIA)的开发平台。FLEX以其强大的数据可视化能力、丰富的用户界面组件以及与后端服务器的...
标题“flex+java 项目创建 和 例子”指的是使用Adobe Flex和Java技术进行Web应用程序开发的一个教程或示例集合。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIAs),而Java则是一种...