RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论

Java网络编程精解之基于MVC和RMI的分布式应用二(1)

来源: 作者: 时间:2007-05-25 点击:

第3章 ServerSocket用法详解 第10章 Java语言的反射机制 第13章 基于MVC和RMI的分布
ServerSocket用法详解一
Java语言的反射机制一
基于MVC和RMI的分布式应用一
ServerSocket用法详解二
Java语言的反射机制二
基于MVC和RMI的分布式应用二
ServerSocket用法详解三
   
数据挖掘实验室

相关文章链接:Java网络编程精解之基于MVC和RMI的分布式应用一 数据挖掘实验室

13.4  创建控制器 数据挖掘实验室

StoreControllerImpl类实现了StoreController接口。每个StoreControllerImpl对象与一个StoreModel对象和一个StoreView对象关联。如例程13-8所示是StoreControllerImpl类的源程序。 数据挖掘实验室

例程13-8  StoreControllerImpl.java

数据挖掘实验室

package store;

import java.util.*;

public class StoreControllerImpl implements StoreController{

private StoreModel storeModel;

private StoreView storeView;

public StoreControllerImpl(StoreModel model, StoreView view ) {

try{

storeModel=model;

storeView=view;

view.addUserGestureListener(this);  //向视图注册控制器自身

}catch(Exception e){

reportException(e);

}

}



/** 报告异常信息 */

private void reportException(Object o){

try{

storeView.showDisplay(o);

}catch(Exception e){

System.out.println("StoreControllerImpl reportException"+e);

}

}



/** 处理根据ID查询客户的动作 */

public void handleGetCustomerGesture(long id){

Customer cust=null;

try{ 数据挖掘研究院

cust=storeModel.getCustomer(id);  

storeView.showDisplay(cust);

}catch(Exception e){

reportException(e);

cust=new Customer(id);

try{

storeView.showDisplay(cust);

}catch(Exception ex){

reportException(ex);

}

}

}



/** 处理添加客户的动作 */

public void handleAddCustomerGesture(Customer c){

try{

storeModel.addCustomer(c);

}catch(Exception e){

reportException(e);

}

}



/** 处理删除客户的动作 */

public void handleDeleteCustomerGesture(Customer c){…}



/** 处理更新客户的动作 */

public void handleUpdateCustomerGesture(Customer c){…}



/** 处理列出所有客户清单的动作 */

public void handleGetAllCustomersGesture(){…}

}

数据挖掘研究院

StoreControllerImpl类的handleGetCustomerGesture(long id)方法处理用户在界面上按下【查询客户】按钮的事件,该方法先调用StoreModel对象的getCustomer(id)方法获得相应的客户信息,然后调用StoreView对象的showDisplay(cust)方法显示客户信息:

try{

cust=storeModel.getCustomer(id);  //调用模型去处理业务逻辑

storeView.showDisplay(cust);  //调用视图去显示数据

}catch(Exception e){

reportException(e);



} 数据挖掘研究院

数据挖掘研究院

由此可见,控制器是视图与模型之间的调度者,控制器调用模型去处理业务逻辑,并且调用视图去显示数据。 数据挖掘研究院

StoreControllerImpl类会捕获模型抛出的各种异常,然后由reportException()方法在图形界面上向用户报告异常: 数据挖掘实验室

private void reportException(Object o){

try{

storeView.showDisplay(o);  //调用视图去显示异常

}catch(Exception e){

System.out.println("StoreControllerImpl reportException"+e);

}

} 数据挖掘研究院

数据挖掘研究院

数据挖掘研究院

StoreViewImpl类的showDisplay()方法不仅能显示客户信息,还能显示异常信息。异常信息在StoreGui的日志面板logPan中显示。 数据挖掘研究院

13.5  创建模型

数据挖掘研究院

StoreModelImpl类实现了StoreModel接口。StoreModelImpl类需要通过JDBC API访问数据库。本范例创建了一个DBService接口,它对JDBC API做了轻量级的封装,主要是封装了Connection接口,如图13-8所示。

数据挖掘研究院

498)this.style.width=498;" onmousewheel = "javascript:return big(this)" height=391 alt="" src="/files/uploadimg/20070212/0952390.jpg" width=450 border=0> 

图13-8  DBService接口对JDBC API做了轻量级封装


共5页: 1 [2] [3] [4] [5] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?
热点关注
相关文章