欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机网络 > 利用开源框架Struts+Hibernate实现Web应用程序

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

日期:2023-01-24 阅读量:0 所属栏目:计算机网络


摘 要:本文主要介绍了利用目前的开源框架来开发一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类对应的配置文件,以用户登录系统为例,二配置文件主要内容如下:
:(使用mysql数据库)

public "-//hibernate/hibernate configuration dtd//en"
"">



jdbc:mysql:///user
root

100
ialect





:

"-//hibernate/hibernate mapping dtd 2.0//en"
"" >

name=" "
table="user"
> name="id"
type=""
column="id"
>

name="name"
type=""
column="name"
not-null="true"
length="20"
/>
name="psw"
type=""
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方法,在其中添加相关的业务逻辑处理代码。
五、配置与文件
在设计完数据层、视图层和控制层后,还要对与文件进行配置,文件是mvc各层联系的纽带,它主要定义了form表单的名称及对应的具体类,配置了与表单对应的处理action类及执行后转发的页面,配置了请求范围和错误提示页面等。只有一个登录模块的文件可能会象下面这样:

"-//apache software foundation//dtd struts configuration 1.2//en"
"">






type="ction"
name="loginactionform"
scope="request"
input="/">


……

是一个通用的配置文件,适用于所有web应用,它主要配置了actionservlet的声明和初始化,系统启动是创建servlet的实例数目,系统初始化参数配置,默认显示的页面等。鉴于篇幅具体文件内容在此省略。
六、中文问题
由于浏览器与java采用的字符编码不同,所以在进行中文存储与显示时常出现乱码,常用的解决方法是编写一个过滤器组件,进行编码的转换,然后在文件中对过滤器进行配置。
七、其他问题
由于数据源的多样性,如:oracle,mysql,sql server等,一旦数据源发生变化,或将来由于某种原因而不再使用hibernate,在数据层会有较大改动,为保证系统的灵活性,通常的做法是在数据层使用dao模式,即在业务核心方法与具体数据源之间再增加一层,用这一层来连接业务逻辑与数据源,实现二者的解藕。
八、结束语
通过对一个通用的web应用程序的设计,我们可了解使用struts+hibernate框架设计web应用系统的一般过程,表面看来使用struts+hibernate框架比单独使用jsp+javabean方式还要复杂,但这样做的好处也显而易见,那就是设计的程序层次清晰,程序的可维护性与可扩充性大大加强,各层次间的耦合性非常小,将来一旦有需求变化,可以很容易更改。我想在程序设计的初期多做一些工作来换取程序良好的可维护性、可扩充性及可移植性是值得的。
参考文献:
[1] 邬继成.struts与hibernate实用教程.电子工业出版社.2006.
[2] 张桂元 贾燕枫. struts开发入门与项目实践.人民邮电出版社.2005.
[3] 梁立新.项目实践精解:基于struts-spring-hibernate的java应用开发.电子工业出版社.2006. 本文链接:http://www.qk112.com/lwfw/jsjlw/jsjwl/240075.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学