- 4
- 0
- 约4.51千字
- 约 8页
- 2016-02-19 发布于北京
- 举报
利用开源框架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数据库)
lt;?xml version=1.0 encoding=utf-8?gt;
lt;!DOCTYPE hibernate-configuration
PUBLIC -//Hibernate/Hibernate Configuration DTD//EN
/hibernate-configuration-3.0.dtdgt;
lt;hibernate-configurationgt;
lt;session-factorygt;
lt;property name=hibernate.connection.driver_classgt;com.mysql.jdbc.Driverlt;/propertygt;
lt;property name=hibernate.connection.urlgt;jdbc:mysql:///userlt;/propertygt;
lt;property name=hibernate.connection.usernamegt;rootlt;/propertygt;
lt;property name=hibernate.connection.passwordgt;lt;/propertygt;
lt;property name=hibernate.connection.pool_sizegt;100lt;/propertygt;
lt;property name=dialectgt; org.hibernate.dialect.MySQLDialectlt;/propertygt;
lt;!-- Mapping files --gt;
lt;mapping resource=user.hbm.xml/gt;
lt;/session-factorygt;
lt;/hibernate-configurationgt;
User.hbm.xml:
lt;?xml version=1.0?gt;
lt;!DOCTYPE hibernate-mapping PUBLIC
-//Hibernate/Hibernate Mapping DTD 2.0//EN
/hibernate-mapping-2.0.dtd gt;
lt;hibernate-mappinggt;
lt;class
name= hibernate.User
table=user
gt; lt;id
name=id
type=java.
原创力文档

文档评论(0)