admin 管理员组文章数量: 1086019
2024年3月28日发(作者:如何制作电话号码二维码)
・
研究与开发・
农业网络信息
AG砌C【JL : E M明W.0RK/NFORMA刀l0Ⅳ
2013年第5期
探讨Struts+HIbemate框架技术的应用
何鑫
(黑龙江农业经济职业学院,黑龙江牡丹江157041)
摘要:以Struts与Hibernate两大框架应用为例结合一个登录小程序,浅析框架技术在web开发中的应用,重点表述了
两大框架的配置文件,并分析了两种框架对于Web开发的优势,最后对框架技术进行了一些学习性、对比性的总结。
关键词:框架;MVC;Struts;Hibernate;Web开发;程序
中图分类号:TP315 文献标识码:A 文章编码:1672—6251(2013)05—0043—03
Application of Struts+Hibernate Frame Technology
HE Xin
(Heilongjiang Agricultural Economy Vocational College,Helongjiang Mudanjiang 157041)
Abstract:with the applications of Struts and Hibernate as example,in combin ̄ion of a small login—in program,in this article the
application of f ame technology in web development was briefly introduced.with the emphasis on the configuration files of the two
major ̄ames.The two frames’advantage for web development Was analyzed.Finally the summary of frame technology on learning
and comparison was given.
Key words:frame;MVC;Struts;Hibernate;Web development;program
1概述
使用Java语言进行Web程序开发多会采用MVC
模式,MVC是一种软件设计典范,应用其模型(mod.
是一个开放源代码的对象关系映射框架,将JDBC非
常轻量级的进行了封装,通过其对象属性与数据库字
段的映射。使得开放人员可以随心所欲的使用对象编
程思想来操作数据库。同时Hibernate提供数据查询
e1)一视图(view)一控制器fcontroller)组织代码将业务
逻辑和数据显示进行分离。在开发过程中按其职责一
般可被划分为四层,表现层、业务逻辑层、持久化层
和数据库,每一层相互独立,表现层依赖业务逻辑
层,业务逻辑层依赖持久化层,持久化则直接对数据
和获取数据的方法,大大的减少了SQL语句与JDBC
的编译处理时间。当前Struts框架与Hibernate框架组
合来开放Web项目已成为Java语言Web服务开发十
分流行的解决方案。本文将简单介绍采用Stntrs+Hi.
bernate实现Web开发。
库进行操作,上层依赖其下层,依赖关系不能跨层,
下一层不能调用上一层,下一层不依赖上一层,同时
在上一层中也不出现下一层的概念。此种开发模式分
2实现过程
以Hibernate来实现持久化.通过Hibernate完成
工明确,各司其职,职责划分清晰,能复用代码,并
能降低系统内部的依赖程度。而Struts则是MVC模式
的一种具体框架.采用拦截器的机制处理用户的请
求,从而来解决Web开发中的职责分配问题。使得显
示与逻辑分开。这样可使开发人员更好把精力能集中
对数据库的增、删、改、查,让开发人员从容采用面
向对象的编程思想来设计代码。同时可根据数据库中
先设计好的表和字段来方向生成对应实体类。框架的
应用在某种程度上可以理解为是对配置文件的应用。
故此先来配置Hibernate配置文件和实体类的映射文
件。以用户登录系统为例,配置内容如下(以
到实际业务处理问题上.同时Struts框架也极其容易
进行个性化配置.从而更好地适应用户的需要。在数
据持久层上,Hibernate则是目前最好的框架之一,它
作者简介:何鑫(1978一),男,硕士,讲师,研究方向:软件技术。
收稿日期:2013—04—10
SQLServer2005为例):
hibernate.cfg.xml:
一
43—
《农业网络信息》2o13年第5期 研究与开发
<?xml ve ̄ion= 1.0 encoding= UTF-8 ?> <,id>
<!DOCTYPE hibernate-configuration PUBLIC
-
<property name=”name”type=”java.1ang.String”>
<column name=”name”length=”50”,>
/proper<ty>
//Hibernate/Hibernate Configuration DTD 3 |l
EN”
”http://hibernate.sourceforge.net/hibernate-conigu—f
ration一3.0.dtd’’>
<property name=”password”type=”java.1ang.Stirng”>
<column name=”password”,>
/proper<ty>
<1一Generated by MyEclipse Hibernate Tools.一>
<hibernate——coniguration> f
<session-factory>
<property name=” myeclipse.connection.profile” >
/cl<ass>
</hibernate。‘mapping>
以登录操作为例,Struts2可以选择使用POJO类
来封装请求的参数,或使用Action的属性ion,在配
置文件中定义一个action如下图所示name=“login”
的action,在页面的提交路径名称一定要与action的
SQLServer</property>
<property name=”connection.url”>
jdbc:sqlserver://localhost:1 433;databaseName=house
</property>
<property name=”connection.username’’>sa</property>
<property name=”connection.password”>sa</property>
<property name=”connection.driverclass”>
_
name一致,同时登录表单中的数据应与实体类的属性
一
致。
控制器组件的核心是一个Action类,它主要负责
访问业务逻辑层。类中的Execute方法负责处理用户
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name=’’dialect”>
的请求,改写Execute方法,在其中添加相关的业务
逻辑处理代码。在编写完持久化层、视图层和业务逻
辑层后,还要对Struts.xml与Web.xml文件进行配置,
Struts.xml文件是MVC各层联系的纽带.它主要定义
org.hibernate.dialect.SQLServerDialect
/proper<ty>
<property name=”show
sql”>true</property>
_
了form表单的名称及对应的具体类.配置了与表单对
应的处理Action类及执行后转发的页面,配置了请求
范围和错误提示页面等。如以下程序所示:
Struts.xml
<mapping resource ̄”com/house/dao/Users.hbm.xml”,>
/session-factory> <
</hibernate——coniguration> f
User.hbm.xml:
<?xml version=”1.0”encoding=”utf-8”?>
<!DOCTYPE hibernate-mapping PUBLIC”一/,Hi—
bernate/Hibernate Mapping DTD 3.O//EN”
<?xml version=”1.0”encoding=”UTF-8”?>
<!DOCTYPE Struts(View Source for full doctype…)>
..
<Struts>
<constant name=”Struts.ui.theme”value=”simple”/>
一
<package name=”default”namespace=”/”ex—
”http://hibernate.sourceforge.net/hibernate-map—
ping-3.0.dtd。’>
<!一一
tends=”Struts—default”>
一
<action name=”login”class=”com.house.Ac-
tion.LoginAction’’>
Mapping file autogenerated by MyEclipse Persis—
tence Tools
--
<result name=”input”>login.jsp</resuh>
<result name=”Success”>success.jsp</resuh>
/acti<on>
>
<hibernate-mapping>
<class name=”corn.house.dao.Users”
Users”schema=”dbo”catalog=”house”>
table=’
/package> <
/Struts> <
Web.xmh
<?xml version=”1.0”encoding=”UTF-8”?>
<id name=”id”type=”java.1ang.Integer”>
<column name=”id”,>
<Web-app version=”2.5”xlnlns=”http://java.sun.
com/xmYns/javaee”
<generator class=”identity”,>
一
44—
《农业网络信息》2013年第5期 研究与开发
xmlns:xsi=”http://www.w3.org/2OO1/XMLSchema—
instance”
Struts+Hibemate框架设计Web应用系统的一般过程.
设计层次非常的明晰,程序具有强大的可维护性和可
扩充性,各层之间的耦合度非常小,使得整个程序非
常容易被修改,根据不同的使用需要应用到不同的环
xsi:schemaLocation:”http://java.sun.com]xml/ns/
javaee
http://java.sun.condxmYns ̄avaee/Web-ap
<display-name>Struts2</display——name>
<filter>
.xsd”>
境中。框架技术是为了在Web开发中解决一些问题而
诞生的,不同的问题可采用不同的框架解决,可以将
框架技术理解为是为解决开发问题的一个Jar包而已,
<filter——name>Struts2</filter.—name>
学习框架技术不能简单掌握其应用层面,更要了解其
<filter-class>
核心原理,了解其本质,掌握mvc的精髓才能更好的
org.apache.Sturts2.dispatcher.ng.iflter.StrutsPrepare—
去应用框架技术,来提高程序开发的效率。
AndExecuteFilter
/<filter..class>
参考文献
/<filter>
【1】陈天河.Struts2.1+Hibernate3.5+Spring3.0整合开发【M】.北京:电
<filter-mapping>
子工业出版社.2011.
<filter——name>Struts2</fiher-name>
【2】张桂元,贾燕枫.Struts开发入门与项目实践【M】.北京:人民邮电
<url—pattern>/ </url-pattem>
出版社。2005.
/<filter-mapping>
【3】甘森林.基于Struts+Hibernate+Spring框架的Web应用与实现
<welcome-file——list>
【M】.湖北:武汉理工大学,2008.
<welcome-file>/heUoWorld.jsp</welcome-file>
[4】邬继成.Struts与Hibernate实用教程【M】.北京:电子工业出版社,
/<welcome-file..1ist>
2005.
</Web-app>
【5】梁立新.项目实践精解:基于Struts—Spring—Hibernate的Java应
3结论
用开发[M】.北京:电f-z:业出版社,2006.
通过以上的代码及xml文件配置.可以看出
.--——
45・—-——
版权声明:本文标题:探讨Struts+Hibernate框架技术的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1711630308a602659.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论