当前所在位置: 首页 > 计算机 > 正文

利用开源框架Struts+Hibernate实现Web应用程序

本文共计3858个字,预计阅读时长13分钟。【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

  利用开源框架Struts+Hibernate实现Web应用程序

  摘 要:本文主要介绍了利用目前的开源框架来开发一MVC结构Web程序的主要过程,对作为Struts与Hibernate核心的配置文件作了简单介绍,最后提出了在开发类似项目时可能会遇到的一些问题和解决方案。

  关键词:Web;开源框架;解决方案;Struts;Hibernate;MVC;计算机

一、概述

  大多数Web应用在职责上至少可被分成四层,表示层、持久层、业务层和域模块层,每一层相互独立,在功能上与其他层互不混合,这样为程序的后期维护及扩充提供了方便,而在Web应用的分层设计中,MVC模式成为一种十分流行的结构,Struts则是MVC模式的一种具体实现,他让开发人员可以把主要精力集中在如何解决实际业务处理问题上,同时Struts框架也允许开发人员根据实际需求进行扩展和定制,从而更好地适应用户的需要。在数据持久层上,Hibernate是目前最好的框架之一,Hibernate不仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅减少开发时人工使用SQL和JDBC处理数据的时间。Struts架构与Hibernate相结合实现Web应用已成为Web Service十分流行的解决方案。下面我们将简要介绍一下采用Struts+Hibernate实现Web应用的主要方法。

二、数据库设计及持久化

  大多数Web应用都要涉及到数据库,数据库的设计是系统设计首先要考虑的问题,数据库设计得是否合理对系统的设计有着直接的影响,数据库如果设计的不好,有可能会使整个系统在最后阶段推倒重建。这里我们不打算详细讨论数据库的设计细节,只要遵循一般的数据库设计原则即可。包括找出所有实体,建立关系,画ER图,建立数据库表等。持久化是通过Hibernate来实现的,Hibernate对数据库的`增加、删除、更新、查找操作进行了封装,使程序员可以使用面向对象的方式来设计程序,而不用为写大量的SQL语句而苦恼。因此我们需要建立相应的配置文件来帮助程序完成数据持久化,其中包括一个Hibernate基本配置文件和若干个数据库表与基本Java类对应的配置文件,以用户登录系统为例,二配置文件主要内容如下:

  hibernate.cfg.xml:(使用Mysql数据库)

  PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"

  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

  com.mysql.jdbc.Driver

  jdbc:mysql:///user

  root

  100

  org.hibernate.dialect.MySQLDialect

  User.hbm.xml:

  "-//Hibernate/Hibernate Mapping DTD 2.0//EN"

  "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

  name=" hibernate.User"

  table="user"

  >

  name="id"

  type="java.lang.String"

  column="id"

  >

  name="name"

  type="java.lang.String"

  column="name"

  not-null="true"

  length="20"

  />

  name="psw"

  type="java.lang.String"

  column="psw"

  not-null="true"

  length="20"

  />

三、视图(View)组件的实现

  当用户提交表单时(如当用户登录时)Struts会把请求参数封装到动作表单(Form Bean)里,所以我们需要建立一个动作表单类,它继承ActionForm类,这个表单类实际上是一个JavaBean,类中需要创建与HTML提交表单中字段对应的相同名称的属性,并创建每一个属性的set和get方法,如登录表单中有用户名(name)和密码(psw)两个字段,则在表单类中应创建与之对应的属性name和psw,同时创建对应的方法setName()、getName()、setPsw()、getPsw(),另外还可以有Validate方法对输入字段进行验证。

  其他的视图页面文件只需使用简单的Jsp文件即可。

四、控制器(Control)组件的实现

  控制器是Struts的核心,主要负责接受客户端的HTTL请求,更新属性以及生成Jsp页面呈现在客户端浏览器上,它位于试图组件(V)与模型组件(M)之间,将二者有机地联系起来,发挥协调作用。控制器组件的核心是一个Action类,它主要负责访问业务逻辑层,类中的execute方法负责处理用户的请求,所以我们主要的工作就是改写execute方法,在其中添加相关的业务逻辑处理代码。

阅读全文