Flex 的 Java端

本文探讨了在Flex表现层中使用Java作为数据提供层的实现方式,包括Dao层和Service层的设计,以及如何通过数据绑定实现Flex与Java的交互。

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层的接口

这里直接写出了具体类,是为了简单起见

【3D应力敏感度分析拓扑优化】【基于p-范数全局应力衡量的3D敏感度分析】基于伴随方法的有限元分析和p-范数应力敏感度分析(Matlab代码实现)内容概要:本文档介绍了基于伴随方法的有限元分析与p-范数全局应力衡量的3D应力敏感度分析,并结合拓扑优化技术,提供了完整的Matlab代码实现方案。该方法通过有限元建模计算结构在载荷作用下的应力分布,采用p-范数对全局应力进行有效聚合,避免传统方法中应力约束过多的问题,进而利用伴随法高效求解设计变量对应力的敏感度,为结构优化提供关键梯度信息。整个流程涵盖了从有限元分析、应力评估到敏感度计算的核心环节,适用于复杂三维结构的轻量化与高强度设计。; 适合人群:具备有限元分析基础、拓扑优化背景及Matlab编程能力的研究生、科研人员与工程技术人员,尤其适合从事结构设计、力学仿真与多学科优化的相关从业者; 使用场景及目标:①用于实现高精度三维结构的应力约束拓扑优化;②帮助理解伴随法在敏感度分析中的应用原理与编程实现;③服务于科研复现、论文写作与工程项目中的结构性能提升需求; 阅读建议:建议读者结合有限元理论与优化算法知识,逐步调试Matlab代码,重点关注伴随方程的构建与p-范数的数值处理技巧,以深入掌握方法本质并实现个性化拓展。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值