1.在JSP中调"Session Facade"类 在JSP文件中插入下列标签: <jsp:useBean id="sessionBean" scope="session" 2.SessionBean类 package com.company.demo.web; import com.company.demo.datamodule.*; import com.company.demo.thread.*; import com.company.demo.facade.*; /** * <p>Title: Struts+Hibernate开发模板</p> * <p>Description: 通用开发模板</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 优势科技</p> * @author 段洪杰 * @version 1.0 */ public class SessionBean { private DataModule dataModule;//数据模型 private Auth auth; //登录的用户信息 private Business business; //系统中的业务逻辑主线 private Line line; //保存模块中的关联状态 /** * 构函数,初始化业务逻辑中的类(单例) */ public SessionBean(){ try { dataModule=SessionBeanSingletonFactory.getDataModule(); auth=SessionBeanSingletonFactory.getAuth(); business=SessionBeanSingletonFactory.getBusiness(); line=SessionBeanSingletonFactory.getLine(); } catch (Exception ex) { ex.printStackTrace(); } } /** * 门面模式调用的公共应用模块 * @return Utility */ public Utility getUtility() { return SessionBeanFactory.getUtility(); } } 3.SessionBeanFactory类 package com.company.demo.web; import com.company.demo.datamodule.*; import com.company.demo.thread.*; import com.company.demo.facade.*; import net.sf.hibernate.HibernateException; /** * SessionBean门面模式的抽象工厂类 * <p>Title: Struts+Hibernate开发模板</p> * <p>Description: 通用开发模板</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 优势科技</p> * @author 段洪杰 * @version 1.0 */ public class SessionBeanFactory { /** * 生成业务逻辑状态实例(facade) * @return LineImpl * @throws HibernateException */ private SessionBeanFactory(){} public final static Utility getUtility(){ return new UtilityImpl(); } } 4.SessionBeanSingletonFactory类 package com.company.demo.web; import com.company.demo.datamodule.*; import com.company.demo.thread.*; import com.company.demo.facade.*; import net.sf.hibernate.HibernateException; /** * <p>Title: Struts+Hibernate开发模板</p> * <p>Description: 通用开发模板</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 优势科技</p> * @author 段洪杰 * @version 1.0 */ public class SessionBeanSingletonFactory { /** * 生成用户认证实例(单例) * @return AuthImpl * @throws HibernateException */ private SessionBeanSingletonFactory(){} public final static Auth getAuth() throws HibernateException{ return new AuthImpl(); } /** * 生成商务逻辑实例(单例) * @return BusinessImpl * @throws HibernateException */ public final static Business getBusiness() throws HibernateException{ return new BusinessImpl(); } /** * 生成数据模型实例(单例) * @return DataModuleImpl * @throws HibernateException */ public final static DataModule getDataModule() throws HibernateException{ return new DataModuleImpl(); } /** * 生成业务逻辑状态实例(单例) * @return LineImpl * @throws HibernateException */ public final static Line getLine() throws HibernateException{ return new LineImpl(); } } |