您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > JFinal框架应用与实践
1单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级JFinal框架应用与实践2单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级2目录页第二章核心技术(架构、原理)第三章项目实战第一章认识JFinal第四章常见问题3单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级3第一章认识JFinal4单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级4WhatisJFinal?第一章认识JFinalJFinal是基于Java语言的极速web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、Python、PHP等动态语言的开发效率。(为您节省更多的时间去陪恋人、家人和朋友o(^▽^)o)5单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级5JFinal特点(一)1)MVC架构,设计精巧,使用简单2)遵循COC原则,零配置,无xml3)独创Db+Record模式,灵活便利4)ActiveRecord支持,使数据库开发极致快速第一章认识JFinal5)自动加载修改后的java文件,开发过程中无需重webserver大道至简,微内核全方位扩展架构6单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级6JFinal特点(二)6)AOP支持,拦截器配置灵活,功能强大7)Plugin体系结构,扩展性强8)多视图支持,支持FreeMarker、JSP、Velocity9)强大的Validator后端校验功能第一章认识JFinal10)功能齐全,拥有struts2的绝大部分功能11)体积小仅670K,且无第三方依赖7单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级7第一章认识JFinal1)有java基础2)想往javaweb方向转的开发人员3)受够了SSH,想学一门简单实用的框架4)需求极速开发解决方案的开发者1234什么样的人适合这门课程8单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级8第一章认识JFinalJFinal能做什么类型的项目WEB项目-使用jsp+servlet都能开发,更何况...-对Servlet的极薄封装,理论上来说Servet能做到的就可以做到JFinalORM部分可以单独拿出来用于非web项目移动设备项目-JFinalActiveRecordPlugin用于android的sqlite综上所述,JFinal最擅长的应用场景是Web项目,Web之外ActiveRecord应用最为常见开发什么项目不仅框架选型决定,还涉及到个人对项目和技术的驾驭能力9单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级9更简洁,更轻松,更极速开发项目重在业务逻辑,框架只是提供工具而已做同一个类型的项目,不同技术系的开发者只会选择自己熟悉的框架而已第一章认识JFinal10单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级10第一章认识JFinal学会了Jfinal,我们能做什么?11单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级11第二章核心技术12单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级12第二章核心技术微内核全方位扩展架构Handler(处理器)Interceptor(拦截器)Controller(处理器)Render(渲染VIEW)Plugin(插件扩展)13单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级13第二章核心技术逻辑架构14单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级14运作原理1.首先是客户端点击新增按钮,提交一个新增请求,请求中会带上服务端处理地址url2.所有请求都会被JFinalFilter拦截,然后调用Handler进行详细处理3.Handler是一个链条形式的调用,包括0-n个自定义Handler,以及最后一个ActionHandler,依次执行,当然可以自定义跳出。4.进入ActionHandler后,首先会根据请求的target从缓存的ActionMapping中映射获取到具体操作对应的Action对象,这个对象里面封装了方法名、方法上面的拦截器,方法所在的Controller,controller上面的拦截器等。然后根据Action以及Controller实例构造出ActionInvocation。5.接下来通过ActionInvocation的invoke进行具体处理,这是一个明显的Command模式的实现。首先是拦截器的调用,拦截器调用中会重新回调ActionInvocation的invoke,当拦截器调用完毕后,会调用当前操作的method6.当进入具体controller的新增方法时,调用基类的getModel(Systemparam.class);这个方法会从request中解析出所需要的数据,通过反射设置给具体的Model实体类,最终通过ActiveRecord来进行数据存储7.最后是页面渲染rerender第二章核心技术15单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级15Aop:拦截器Config:通用配置Core:核心处理,主要是Controller的调度Ext:扩展包Handler:全局处理器I18N:国际化Json:json数据的一些常用操作kit:一些工具类Log:日志类Plugin:插件处理Render:渲染处理,比如对于FreeMark的支持Server:服务器Token:令牌Upload:文件上传处理Validate:验证处理,主要是数据持久化时的验证第二章核心技术包简介16单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级16第二章核心技术关注关键的核心类JFinalConfigControllerActiveRecordAOPEhCachePluginValidatorJfinal体积虽小,但“麻雀虽小五脏俱全”,而且功能体系还是很庞大的→17单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级17第二章核心技术1.JFinalConfig用于对整个web项目的整体配置18单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级18第二章核心技术1.JFinalConfigconfigConstant(Constantsme)19单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级19第二章核心技术1.JFinalConfigconfigRoute(Routesme)20单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级20第二章核心技术1.JFinalConfigconfigRoute(Routesme)21单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级21第二章核心技术1.JFinalConfigconfigRoute(Routesme)22单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级22第二章核心技术1.JFinalConfigconfigPlugin(Pluginsme)23单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级23第二章核心技术1.JFinalConfigconfigInterceptor(Interceptorsme)24单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级24第二章核心技术1.JFinalConfigconfigHandler(Handlersme)25单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级25第二章核心技术2.ControllerMVC模式中的控制器26单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级26第二章核心技术2.ControllergetPara系列方法27单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级27第二章核心技术2.ControllergetModel与getBean系列方法getModel用来接收页面表单域传递过来的model对象,表单域名称以”modelName.attrName”方式命名。除了getModel以外,还提供了一个getBean方法用于支持传统的JavaBean。28单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级28第二章核心技术29单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级29第二章核心技术2.ControllersetAttr方法和session操作方法30单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级30第二章核心技术2.ControllerRender系列方法31单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级31第二章核心技术3.ActiveRecord用于操作数据,将极大减少代码量32单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级32第二章核心技术3.ActiveRecordJFinal独创Db+Record模式33单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级33第二章核心技术3.ActiveRecord声明式事务34单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级34第二章核心技术3.ActiveRecordCache缓存机制35单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级35第二章核心技术3.ActiveRecord复合主键36单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级36第二章核心技术3.ActiveRecord多数据源支持37单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级373.ActiveRecord多数据源支持第二章核心技术38单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级384.AOP面向切面编程第二章核心技术39单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级394.AOPInterceptor-拦截方法添加切面第二章核心技术40单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级40第二章核心技术4.AOPInterceptor-invocation参数妙用……41单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级414.AOPBefore-拦截器的注解配置第二章核心技术42单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级»第五级42第二章核心技术4.AOPBefore-全局拦截器和inject拦截器JFinal还支持全局拦截器以及Inject拦截器。全局拦截器需要在YourJFinalConfig进行配置,以下是配置示例:43单击此处编辑母版标题样式•单击此处编辑母版文本样式–第二级•第三级–第四级
本文标题:JFinal框架应用与实践
链接地址:https://www.777doc.com/doc-3377907 .html