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

http://tech.ddvip.com   2006年11月20日    社区交流

本文详细介绍基于Struts和Hibenate的发布系统研究

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

  其次,搭建用户请求和业务逻辑之间的桥梁——Action组件,该组件负责把用户信息和具体的业务逻辑处理联系在一起,典型设计如下:

public class AdminAction extends Action {
 AdminActionForm adminActionForm =(AdminActionForm) actionForm;
 adminname=adminActionForm.getAdminname();
 adminpasswd=adminActionForm.getAdminpd();
 AdminManager adminManager=ManagerFactory.createAdminManager();
 OrAdmin orAdmin=adminManager.getAdmin(adminname);
 if(orAdmin == null||!orAdmin.getAdminpasswd().equals(adminpasswd)){
  servletRequest.getSession().setAttribute("loginfail","Invalid name or password. Login failture");
  return actionMapping.findForward("logout");
 }else{
  servletRequest.getSession().setAttribute("adminname",adminname);
  return actionMapping.findForward("success"); 
 }
}

  最后,通过Struts配置连接ActionForm和Action,完成一个业务设计,典型配置如下:

<form-beans>
 <form-bean name="adminActionForm" type="com.rice.web.struts.from.AdminActionForm" />
</form-beans>
<action-mappings>
 <action name="adminActionForm" path="/adminAction" scope="session" type="com.
rice.web.struts.action.AdminAction"validate="false">
  <forward name="success" path="/manager/main.jsp" />
  <forward name="logout" path="/manager/index.jsp" />
 </action>
</action-mappings>

  该层设计中,JSTL标签的使用简化了JSP页面,使页面设计和表示层业务逻辑分离,提高了应用程序的可维护性;Struts架构的引入,使应用程序实现了MVC设计模式,结构清晰,提高了系统的可扩展性。

  总结

  本文介绍了MVC设计模式以及Struts和Hibernate框架的工作原理,利用了他们的优点互补,有机地将Struts+Hibernate框架结合起来构建了一个遥感信息发布系统,克服了传统Web信息系统的缺点,提高了系统的可维护性、可扩展性,降低了系统地耦合性。

来源:计算机与信息技术    作者:邵腾 曲利芹    责编:豆豆技术应用

正在加载评论...