Flex 做表现层,需要Java提供数据
这个是自然也必然的选择
(当然可以用PHP,但是...觉得合适吗?)
Java端如何写才好?
下面是我的写法:
UserDao层,就是Dao,数据访问对象
/**.
* 用户实体交互对象
* @author eMavaj
* 2010-5-28
*/
public class UserDao {
/**日志对象.*/
private static Log log = LogFactory.getLog(UserDao.class);
/**.
* 根据用户名密码得到用户实体
* @param username 用户名
* @param password 密码
* @return 当前用户
*/
public User loadUserByUsernameAndPassword(final String username, final String password) {
/**得到结果集.*/
ResultSet rs = DataBaseUtil.getInstance().executeQuery(
"select * from t_user as u where u.username = ? and u.password = ?",
new Object[]{username, password});
User u = new User();
/**取第一条记录.*/
try {
rs.next();
u.setUsername(rs.getString("username_"));
u.setPassword(rs.getString("password_"));
u.setId(rs.getInt("id"));
u.setMailbox(rs.getString("mailbox_"));
u.setRegisterDate(rs.getDate("registerDate_"));
u.setEndDate(rs.getDate("endDate_"));
} catch (SQLException e) {
log.error("ResultSet游标错误,没有下一条记录");
e.printStackTrace();
}
return u;
}
/**.
* 取得所有用户对象
* @return 返回对象集合
*/
@SuppressWarnings("unchecked")
public ArrayList loadAllUsers() {
/**查询得到结果集.*/
ResultSet rs = DataBaseUtil.getInstance().executeQuery(
"select * from t_user as u", new Object[]{});
/**返回的集合.*/
ArrayList users = new ArrayList();
try {
while (rs.next()) {
users.add(new User(
rs.getInt("id"),
rs.getString("username_"),
rs.getString("password_"),
rs.getDate("registerDate_"),
rs.getString("mailbox_"),
rs.getDate("endDate_")));
}
} catch (SQLException e) {
log.error("ResultSet游标错误,没有下一条记录");
e.printStackTrace();
}
return users;
}
}
这一层是必不可少的,是和数据库交互的一层
上面的例子代码,有了2种返回
一种是对象,一种是集合
当这2中返回,到了Flex的时候,分别是Object 和 ArrayCollection
可以使用 dataField 进行绑定的所需要的地方
但是,Flex 不直接使用这一层的数据
而是再加入一层
Service层:
/**.
* 用户服务 Flex调用方法
* @author eMavaj
* 2010-5-28
*/
public class UserService {
/**用户实体操作对象.*/
private static UserDao userDao = new UserDao();
/**.
* 用户登录服务
* @param username 用户名
* @param password 密码
* @return 返回当前用户信息
*/
public User login(String username, String password) {
return userDao.loadUserByUsernameAndPassword(username, password);
}
/**.
* 取得所有用户实体
* @return 实体集合
*/
@SuppressWarnings("unchecked")
public ArrayList loadAllUsers() {
return userDao.loadAllUsers();
}
}
这一层,相当于公开的服务,展示了Java端可以给Flex远程调用的方法
这一层的原则只有一个,尽量简单
可以看到我上面的代码都是直接返回了Dao层的返回值,几乎没有什么逻辑
至于其它什么大道理,如何设计,由于篇幅有限,就不在这里写了
PS:
其实这个例子的Dao层,本应该是一个接口,然后再到实现类
而Service层持有的不是Dao层的具体类,而是Dao层的接口
这里直接写出了具体类,是为了简单起见
分享到:
相关推荐
3. Java后台处理:在Java端,你需要创建一个对应的Servlet或Spring MVC控制器来处理来自Flex的请求。这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行...
在Flex Java实例中,Java作为服务器端技术,处理业务逻辑和数据管理。通常,Java Web应用会使用Spring MVC或Struts等框架来组织和管理控制器、模型和服务。Java后端负责与数据库交互,执行CRUD操作,然后通过HTTP...
在Java端,我们需要部署一个符合WSDL(Web Services Description Language)规范的服务。在Flex客户端,配置WebService组件,指定WSDL URL,然后可以像调用本地方法一样调用Web服务的方法。 ```xml <!-- Flex代码 -...
3. **定义数据模型**:在Java端创建数据模型类,这些类将用于传输数据到Flex客户端。 4. **搭建Java服务**:使用Java Servlet或Spring MVC等框架创建一个处理Flex请求的服务。这个服务会接收Flex发送的AMF请求,...
Java_Flex技术结合了Java的强大后端处理能力和Flex的富互联网应用程序(RIA)前端展示功能,为开发跨平台、交互性强的Web应用提供了强大的解决方案。本文将深入探讨Java与Flex的集成,以及如何利用这两项技术的优势...
在Java端创建RESTful服务,如使用JAX-RS(Java API for RESTful Web Services)标准或Jersey框架,然后在Flex端使用HTTPService组件来发送HTTP请求和接收响应。这种方式虽然效率稍低,但具有更好的跨平台性和可伸缩...
而Java作为后端开发语言,提供了强大的服务器端处理能力和稳定的安全性。本实例旨在为初学者和开发者提供一个直观的学习平台,通过实际项目案例,深入理解Flex与Java的集成开发。 一、Flex简介 Flex是一个基于...
5. **JOTO对象映射**:了解如何在Flex客户端声明Java对象,以及在服务器端如何处理这些对象。这涉及到数据类型的映射和对象的序列化。 6. **事件驱动编程**:在Flex中,事件驱动模型是主要的编程模式。学习如何监听...
BlazeDS是Adobe提供的一个免费的服务器端解决方案,它提供了AMF(Action Message Format)协议,使得Flex客户端能够与Java应用服务器进行低延迟、高性能的数据交换。AMF是一种二进制数据格式,它比传统的HTTP或XML更...
在“JavaFlex项目”这个压缩包中,很可能包含了使用Java和Flex进行通信的示例代码,包括Java端的服务实现、BlazeDS配置以及Flex端的HTTPService或WebService调用。通过分析和学习这些代码,你可以更好地理解和掌握...
这些例子会展示如何在Flex中创建UI组件,定义事件处理程序,以及如何在Java端处理请求和返回响应。 5. **部署和测试**:介绍如何将Flex应用打包成SWF文件并部署到Web服务器,以及如何与Java应用程序进行集成测试,...
Flex与Java通信是Web开发中的一个重要技术组合,它允许用户在浏览器端利用Flash的富互联网应用(RIA)特性,通过ActionScript与服务器端的Java应用程序进行数据交互。本压缩包包含了一个完整的Flex与Java通信的示例...
9. **数据模型和服务接口**:在Java端定义业务实体类和数据访问接口,比如DAO(Data Access Object)和Service类,它们负责与数据库交互和提供业务逻辑。 10. **数据库连接**:后端通常需要与数据库交互,如MySQL、...
- BlazeDS/LCDS:Adobe提供的免费服务器端组件,支持AMF协议,使得Flex客户端可以高效地与Java服务器进行数据交换。 - 创建Java服务:在Java服务器端创建服务类,定义需要暴露的方法。 - 配置BlazeDS:在服务器...
2. Java:Java是一种广泛使用的面向对象的编程语言,特别适合于服务器端开发。在这个项目中,Java可能作为后端服务,处理来自Flex前端的HTTP请求,如用户的登录验证。开发者可能使用了Servlet或者Spring MVC等框架来...
4. **Flex+Java简单例子.doc**:这个文档可能包含了一些基础的Flex与Java集成的例子,可能涵盖如何创建Flex客户端,定义服务接口,以及如何在Java服务器端实现这些接口,最后展示如何在Flex应用中调用这些服务。...
在Java端,我们可以使用Servlet来接收和响应Flex的请求。对于更复杂的业务逻辑管理,Spring框架提供了集成BlazeDS的解决方案,可以轻松地将Flex与Spring服务和DAO层连接起来。 6. **Security and Cross-Domain ...
BlazeDS是一个开放源代码的服务器端Java远程处理和Web消息传递技术,它允许开发者轻松地将Flex和AIR应用程序连接到后端服务器上运行的Java对象。通过BlazeDS,开发者可以: - 实现客户端与服务器之间的实时通信。 -...
这涉及到Flex客户端与Java服务器端的通信机制,如使用AMF(Action Message Format)进行二进制数据传输,实现高效的远程方法调用。AMF能提高数据交换的效率,并且使得Java对象可以直接在Flex中序列化和反序列化。...