快速业务通道

基于Struts和Hibenate的发布系统研究 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
mplements 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;   } }

基于Struts和Hibenate的发布系统研究(4)

时间:2011-01-04 计算机与信息技术 邵腾 曲利芹

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

<session-factory >   <property name="connection.driver_class">    org.postgresql.Driver   </property>   <property name="connection.url">    jdbc:postgresql://127.0.0.1:5432/DBInfo   </property>   <property name="dialect">    org.hibernate.dialect.PostgreSQLDialect   </property>   <mapping resource="OrAdmin.hbm.xml" />   …… </session-factory>

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

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.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; }   …… }

基于Struts和Hibenate的发布系统研究(5)

时间:2011-01-04 计算机与信息技术 邵腾 曲利芹

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号