您所在的位置: 首页>>开发>>JAVA>>JAVA专区>>热门框架>>Struts>>

基于Struts和Hibenate的遥感信息发布系统研究(3)

http://developer.51cto.com  2006-10-30 14:47  邵腾/曲利芹  计算机与信息技术  我要评论(0)
  • 摘要:本文分析了传统Web信息系统的缺点,详细阐述了MVC设计模式思想,剖析了当前被广泛应用的开源设计框架:Struts和Hibernate的工作原理,基于以上分析提出将二者结合起来实现优势互补共同开发遥感信息发布系统的思路,最后结合了DAO和工厂设计模式实现了具有良好可扩展性、实用性和可维护性的遥感信息发布系统。
  • 标签:MVC  Struts  Hibernate  遥感数据分发

2.2  用户登录模块设计

用户登录模块,即用户从浏览器输入个人信息,由系统在数据库中检索数据,然后验证用户信息,如果验证成功登陆到系统界面,否则,提示用户信息出错。

2.2.1 数据持久层设计

数据持久层基于Hibernate架构,采用了DAO设计模式。在持久层设计中,包括了以下三个重要设计步骤:

首先,把用户信息封装为VO(Value Object)。VO是一组值对象,只包含了一些属性和getter/setter方法的POJO(Plan Old Java Bean)。典型设计如下:

public class OrAdmin implements Serializable{
private String adminname;
public String getAdminname()
{  return adminname;  }
Public void setAdminname(String adminname)
{  this.adminname = adminname; }
……
}

其次,采用了DAO设计模式和抽象工厂设计模式,完成了 DAO工厂和Hibernate 数据库操作的具体实现,典型设计如下:

public abstract class DAOFactory {
public static DAOFactory getInstance() {}
public abstract AdminDAO createAdminDAO();
}
public class AdminDAOImpl implements AdminDAO {
public OrAdmin getAdmin(String adminName) {
try {
Session s =HibernateUtil.currentSession();
Query query = s.createQuery("from OrAdmin as
oa whereoa.adminname='"+adminName+"'");
}……
return null; } }

最后,利用了Hibernate的配置文件完成从应用程序到数据库的映射,典型设计如下:



org.postgresql.Driver


jdbc:postgresql://127.0.0.1:5432/DBInfo


org.hibernate.dialect.PostgreSQLDialect


……

在该层的设计中,VO的信息封装体现了面向对象设计编程思想;DAO的设计模式和抽象工厂模式减弱了上层调用和具体实现之间的耦合;Hibernate配置实现了数据库高移植性,只需要改变Hibernate配置文件,不用修改程序设计就可以完成不同数据库之间的更换。

2.2.2  业务逻辑层设计

业务逻辑层包含了供客户端程序调用的业务逻辑规则,以帮助客户端完成业务操作。该层采用了业务代理、DAO和抽象工厂设计模式,典型设计如下:

public class ManagerFactory {
public static AdminManager
createAdminManager(){
return new AdminManagerImpl();
}}
public interface AdminManager {
OrAdmin getAdmin(String username);
}
public class AdminManagerImpl implements
AdminManager{
private AdminDAO dao =
DAOFactory.getInstance().createAdminDAO();
public OrAdmin getAdmin(String username)
{ return this.dao.getAdmin(username); }
}

在该层的设计中,业务代理、DAO和抽象工厂设计模式的使用,使业务逻辑更加灵活,如果具体业务发生变化,在表示层和数据持久化层改变很小就可以完成改变,这种设计增强了系统的可维护性和灵活性。

2.2.3  表示层设计

表示层基于Struts框架,采用了JSTL标签库技术。在表示层的设计中,主要包括了以下三个重要设计步骤:

首先,建立用于用户浏览的JSP视图页面,其中最重要的是设计出封装用户表单信息的ActionForm。ActionForm是Struts架构的重要组件,是包含了一些属性和getter/setter方法的POJO,典型设计如下:

public class AdminActionForm extends
ActionForm {
private String adminname;
public String getAdminname()
{ eturn adminname;}
public void setAdminname(String adminname)
{ his.adminname = adminname; }
……
}


共4页: 上一页 [1] [2] 3 [4] 下一页
【内容导航】
Struts框架应用专题
Hibernate开源框架学习
深入Vista应用程序开发
走向银光 —— 一步一步学Silverlight2
让你的代码“炫”起来——WPF开发教程
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有