英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
基于JFinal框架的Java Web应用开发研究
杨宁,刘丹军
(中国科学院国家科学图书馆成都分馆,四川成都610041)
摘要:在对Java Web这一系统进行开发的过程中,恰当选择正确的开发框架具有不可小觑的重要意义,常见的Java Web开发框架像Struts、Spring、Hibernate 等虽然使用人数较多,但是它们在使用上较为复杂,整合过程较为繁琐。现在提出使用Jfinal框架作为SSH框架的替代方 案,不但可以提高项目代码的可维护性和可扩展性,更可以大幅度的提高开发效率。本文主要是把Jfinal作为主要的开发框架,并对其进行研究。
关键词:Jfinal框架;Java web;应用开发
随着信息技术和网络技术的发展,基于Java的Web技术也得到了广泛的应用。然而,Java Web开发者在进行开发的时候经常 要考虑多方面的因素,例如采用哪种开发模式、划分几个层次、各个层次分别使用哪些框架和技术、如何实现各个业务模块之间的松耦合以及系统的扩展性等等[1]。为了减轻开发人员的负担,提高代码的重用性,各种Java Web应用框架应运而生。比如流程控制 层我们经常采用Struts或Spring MVC框架,它们主要用于控制程序的逻辑关系;数据持久层我们经常采用Hibernate或Myfbatis,它们用于提供数据表到Java类的映射,大大减少数据操作的复杂度;在控制程序之间的依赖关系方面通常选择Spring,它是一个轻量 级的控制反转和面向切面的容器框架,采用面向接口的编程方式,由容器控制程序之间的依赖关系[2]。虽然在近些年,这些框架得 到了大范围的应用,但是不难看出,由于使用框架较多,不但开发效率较低,也会给后期的升级和维护带来极大困难。同时对于想 人门的开发者来说,要学习多个开发框架极大的提高了学习成本[3]。
JFinal是一款基于Java语言的开源Web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展[4]。在拥有Java语言所有优势的同时再拥有Ruby、Python等动态语言的开发效率。使用它不但能实现多个开发框架的功能,效率方面也会得到极大的提升。
1 JFinal 框架
1.1系统架构
JFinal框架的架构由空间建构和逻辑架构组成。其中,空间架构采用微内核全方位扩展架构,它由Handler、Interceptor、Controller、Render 和 Plugin 五大部分组成[5]。每个部分都基于接口实现,支持完整的自定义,扩展性强,使用灵活,设计精巧且使用简 单。而JFinal的逻辑架构采用经典的MVC架构,其中包括HttpServletRequest(客户端请求)、HttpServletResponse(客户端响应)、所有 请求的拦截器、请求处理器(对所有请求的公共处理)、动作处理器(它是一个AOP Command模式变种,由ActionInvocation进行调度, 先执行拦截器,最后执行具体方法),这样的逻辑架构使得系统层次分明,便于开发人员理解和使用[6]。
1.2系统特点
JFinal框架为系统开发的每个阶段都提供了大量便捷特性和支持,总结来说JFinal的特点如下:
- 采用MVC架构,设计精巧,使用简单;
- 遵循COC原则,无Xml实现零配置;
- 支持ActiveRecord,使得数据库开发效率极高;
- 修改Java文件后自动重加载无需重启服务;
- 支持A0P,提供配置灵活功能强大的拦截器;
- 采用Plugin插件体系结构,扩展性强;
- 支持多种视阁类型,包括FreeMarker、sp、Velocity等等;
- 提供强大的Validator后端校验功能;
- 体积小,且无第三方依赖。
2与其他框架对比
2.1JFinal WEB MVC 与 Struts 对比
Struts需要通过配置Xml来支持Action、Result、Interceptor的使用,这样不但增加了开发的工作量和代码量,开发效率和程序 执行效率也大大降低了。而JFinal遵循COC原则,实现了无Xml的零配置,开发代码量相比Struts能够节省50%以上,同时效率得到了 5倍以上的提升[7];
Struts不支持Restful,虽然可以通过REST插件来支持Restful,但支持的不够彻底使用起来也不够方便。而JFinal自身就遵 循Restful规范;
Struts作为MVC框架提供了对Model、View和Controller的支持组件,但是并未提供数据库等方面的支持。而JFinal属于一站 式解决方案,对于数据库操作的支持相当强大;
Struts虽然属于轻量级框架,但是其核心jar文件1.5MB的大小已经是JFinal的jar文件173KB的8倍,这还不包括Struts的相 关依赖jar文件[8]。
2.2JFinal ORM 与 Hibernate 对比
JFinal采用ActiveRecord实现数据库操作支持,相比于Hibernate的开发效率提高了 6倍以上;
JFinal对数据库操作采用零配置,无Xml、Annotation、Getter、Setter、Attribute,极大降低了开发代码量,提高了开发效率[9]。
JFinal采用原生Sql操作数据库,相对Hibernate采用的HQL不但学习成木低,而且功能强大、性能更高、操作更为灵活。
3 JFinal框架开发方法
使用JFinal框架无需配置,只需要在使用时在web.xml中初始化JFinal即可。在整个开发过程中,Final提供了一站式的开发 支持,如表单数据自动绑定、事务提交、拦截器、缓存、DB ActiveRecord等,真正体现了 JFinal快速开发的设计[10]。要使用JFinal进行项目开发,具体的步骤如下:
3.1 新建 Java EE项目并导入 JFinal的 jar文件
在Eclipse 中新建Dynamic Web Project,如图1:
图1 新建 Dynamic Web Project
项目建好后,需要将JFinal-bin-with-src-1.5.jar(当前JFinal最新版本为1.5)导入项目或拷贝至项目WEB-INFlib目录下,这就 完成了 JFinal项目的建立。
3.2 修改并检查web.xml
首先要对代码进行仔细认真地检查和监测,发现代码中存在错误,必须进行及时有效地更改,以免对日后用户的使用造成困难。 由于该项目中的全部的请求都必须通过JFinalFilter进行过滤才能够 进入到控制和调控的阶段,因此必须要对这一步进行着重地监测和检查,引起重视,并提升对于web.xml修改的效率和质量。
lt;filtergt;
lt;filter-namegt;jfinallt;/filter-namegt;
lt;filter-classgt;com.jfinal.core.JFinalFilterlt;/filter-classgt;
lt;init-paramgt;
lt;param-namegt;configClasslt;/param-namegt;
lt;param-valuegt;com.demo.common.DemoConfiglt;/param-valuegt;
lt;/init-paramgt;
lt;/filtergt;
lt;filter-mappinggt;
lt;filter-namegt;jfinallt;/filter-namegt;
lt;url-patterngt;/*lt;/url-patterngt;
lt;/filter-mappinggt;
以上代码就配置了项目中所有请求都需要通过JFinalFilter过滤才能进入控制器的调度。核心配置通过以上代码实现后,JFi- nal还需配置路由、插件等信息。
3.3配置其他信息
由于在对JFinal框架进行开发的过程中,必须要对与之相关的 所有的其他信息进行设置,而这些设置,比如说,路由设置、插件设置以及常量设置等都是需要在核心的配置文件的操控中进行的, 因此,必须要对这些操作重视起来[11]。JFinal的路由配置、插件配置、常量设置等均在核心配置文件中完成,新建DemoConfig文件,该文件所在包及文件名必须与 web.xml中的param-value标签内的配置一致,文件中的配置如下:
//配置常量
public void configConstant(Constants me) { me.setDevMode(true);
}
//配置路由
public void configRoute(Routes me) { me.add(n/hello', HelloController.class);
}
//配置插件
public void configPlugin(Plugins me) {
}
3.4 创建 Controller 文件
通过上述的三个步骤,JFinal框架大体上就搭建完成了。最后一 个需要进行处理的相关问题就是,对于JFinal框架的使用。想要使用 JFinal框架,必须要创办Controller文件。
package demo;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index() {
renderText('Hello JFinal World.');
}
到此为止,JFinal项目的框架就已搭建完毕,在浏览器中输人:http://localhost/hello,就可以看到页面上输丨出“Hello JFinal World”说明项目搭建成功。
4结束语
本文对JFinal框架的优点和使用方法进行了研究,通过研究发现JFinal不但可以很好的代替SSH作为Java Web开发的首选框架,对于开发人员的人门和提高也有很大的帮助,在很大程度上解决了Java开发门槛高、开发效率低、开发框架杂乱等问题。随着Web技术和Internet的迅速发展,Web应用需求快速增加,开发也变得越来越复杂。为了方便相关的从业人员的对JFinal框架进行编程设计,也为了方便后期的维修和使用,选用适合的Java作 为开源框架则显得更为重要。在诸多的开源框架中,只有JFinal框架开发容易、配置灵活,不论是对程序设计师,还是对用户来说,都是极其方便的。
参考文献
[1] 苏小平. 基于Jfinal Shiro框架的Web应用系统开发研究[J].电脑知识与技术:学术交流, 2016, 12(10乂): 68-70.
[2] 王循. Java Web快速开发框架中部分关键技术初步研究[D]. 吉林大学, 2015.
[3] 赵利庆. Java/Web架构中数据库优化模式的研究与实现[D]. 北京邮电大学, 2015.
[4] 夏艳秋, 袁汝华.基于JFinal框架和HTML5技术的手机应用开发平台设计[J]. 计算机与现代化,2014(1):201-205,210.
[5] 胡启敏, 薛锦云,钟林辉.基于Spring框架的轻量级J2EE架构与应用[J].计算机工程与应用, 008, 44(5).
[6] 刘军, 戴金山. 基于Spring MVC与iBATIS的轻量级Web应用研究[J].计算机应用, 2006, 26(4): 840-843.
[7] 李峰, 刘彦隆. 基于SSH框架与jQuery技术的JavaWeb开发应用[J].科技情报开发与经济, 2010(6): 106-108.
[8] 许鑫, 费翔林.基于MVC模式的应用软件开发框架研究[J].计算机工程与应用,2006,41(30):102-104.
[
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22820],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。