版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级2单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级2目录页第二章第二章 核心技术(架构、原理)第三章第三章 项目实战第一章第一章 认识jfinal第四章第四章 常见问题3单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级3第一章 认识jfinal4单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级4what is what is jfinaljfinal? ? 第一章 认识jfinaljfinal是基于java 语
2、言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、restful。在拥有java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率。(为您节省更多的时间去陪恋人、家人和朋友o()o)5单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级5jfinal特点(一)1)mvc架构,设计精巧,使用简单2)遵循coc原则,零配置,无xml3)独创db+record模式,灵活便利4)activerecord支持,使数据库开发极致快速第一章 认识jfinal5)自动加载修改后的java文件,开发过程中无需
3、重webserver大道至简,微内核全方位扩展架构6单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级6jfinal特点(二)6)aop支持,拦截器配置灵活,功能强大7)plugin体系结构,扩展性强8)多视图支持,支持freemarker、jsp、velocity9)强大的validator后端校验功能第一章 认识jfinal10)功能齐全,拥有struts2的绝大部分功能11)体积小仅670k670k,且无第三方依赖7单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级7第一章 认识jfinal1 1)有java基础2 2)想往
4、javaweb方向转的开发人员3 3)受够了ssh,想学一门简单实用的框架4 4)需求极速开发解决方案的开发者1 12 23 34 4什么样的人适合这门课程8单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级8第一章 认识jfinaljfinal能做什么类型的项目nweb项目项目 - 使用jsp+servlet都能开发,更何况. - 对servlet的极薄封装,理论上来说servet能做到的就可以做到njfinal orm 部分可以单独拿出来用于非部分可以单独拿出来用于非web项目项目n移动设备项目移动设备项目 - jfinal activerecordplug
5、in用于android的sqlite综上所述,jfinal最擅长的应用场景是web项目,web之外activerecord应用最为常见开发什么项目不仅框架选型决定,还涉及到个人对项目和技术的驾驭能力9单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级9更简洁,更轻松,更极速u 开发项目重在业务逻辑,框架只是提供工具而已u 做同一个类型的项目,不同技术系的开发者只会选择自己熟悉的框架而已第一章 认识jfinal10单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级10第一章 认识jfinal学会了jfinal,我们能做什么?11单击
6、此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级11第二章 核心技术12单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级12第二章 核心技术微内核全方位扩展架构handler(处理器)interceptor(拦截器)controller(处理器)render(渲染view)plugin(插件扩展)13单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级13第二章 核心技术逻辑架构14单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级14运作原理1.首先是客户端点击新增按
7、钮,提交一个新增请求,请求中会带上服务端处理地址url2.所有请求都会被jfinalfilter拦截,然后调用handler进行详细处理3.handler是一个链条形式的调用,包括0-n个自定义handler,以及最后一个actionhandler,依次执行,当然可以自定义跳出。4.进入actionhandler后,首先会根据请求的target从缓存的actionmapping中映射获取到具体操作对应的action对象,这个对象里面封装了方法名、方法上面的拦截器,方法所在的controller,controller上面的拦截器等。然后根据action以及controller实例构造出actio
8、ninvocation。5.接下来通过actioninvocation的invoke进行具体处理,这是一个明显的command模式的实现。首先是拦截器的调用,拦截器调用中会重新回调actioninvocation的invoke,当拦截器调用完毕后,会调用当前操作的method6.当进入具体controller的新增方法时,调用基类的getmodel(systemparam.class);这个方法会从request中解析出所需要的数据,通过反射设置给具体的model实体类,最终通过activerecord来进行数据存储7.最后是页面渲染rerender第二章 核心技术15单击此处编辑母版标题样式
9、 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级15u aop:拦截器u config:通用配置u core:核心处理,主要是controller的调度u ext:扩展包u handler:全局处理器u i18n:国际化u json:json数据的一些常用操作u kit:一些工具类u log:日志类u plugin:插件处理u render:渲染处理,比如对于freemark的支持u server:服务器u token:令牌u upload:文件上传处理u validate:验证处理,主要是数据持久化时的验证第二章 核心技术包简介16单击此处编辑母版标题样式 单击此处编辑母版文本样式
10、 第二级 第三级 第四级 第五级16第二章 核心技术关注关键的核心类njfinalconfigncontrollernactiverecordnaopnehcachepluginnvalidatorjfinal体积虽小,但“麻雀虽小五脏俱全”,而且功能体系还是很庞大的17单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级17第二章 核心技术1.jfinalconfig用于对整个用于对整个webweb项目的整体配置项目的整体配置18单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级18第二章 核心技术1.jfinalconfigco
11、nfigconstantconfigconstant(constants me)(constants me)19单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级19第二章 核心技术1.jfinalconfigconfigrouteconfigroute(routes me)(routes me)20单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级20第二章 核心技术1.jfinalconfigconfigrouteconfigroute(routes me)(routes me)21单击此处编辑母版标题样式 单击此处编辑母版文
12、本样式 第二级 第三级 第四级 第五级21第二章 核心技术1.jfinalconfigconfigrouteconfigroute(routes me)(routes me)22单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级22第二章 核心技术1.jfinalconfigconfigpluginconfigplugin (plugins me) (plugins me)23单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级23第二章 核心技术1.jfinalconfigconfiginterceptorconfiginterc
13、eptor (interceptors me) (interceptors me)24单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级24第二章 核心技术1.jfinalconfigconfighandlerconfighandler (handlers me) (handlers me)25单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级25第二章 核心技术2.controllermvcmvc模式中的控制器模式中的控制器26单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级26第二章 核心技术
14、2.controllergetparagetpara 系列方法系列方法27单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级27第二章 核心技术2.controllergetmodelgetmodel与与getbeangetbean系列方法系列方法getmodel 用来接收页面表单域传递过来的 model 对象,表单域名称以”modelname.attrname” 方式命名。 除了 getmodel 以外, 还提供了一个 getbean 方法用于支持传统的 java bean。28单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级
15、28第二章 核心技术29单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级29第二章 核心技术2.controllersetattrsetattr方法和方法和sessionsession操作方法操作方法30单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级30第二章 核心技术2.controllerrenderrender系列方法系列方法31单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级31第二章 核心技术3.activerecord用于操作数据,将极大减少代码量用于操作数据,将极大减少代码量3
16、2单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级32第二章 核心技术3.activerecordjfinaljfinal 独创独创 db + record db + record 模式模式33单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级33第二章 核心技术3.activerecord声明式事务声明式事务34单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级34第二章 核心技术3.activerecordcachecache缓存机制缓存机制35单击此处编辑母版标题样式 单击此处编辑母版文本样
17、式 第二级 第三级 第四级 第五级35第二章 核心技术3.activerecord复合主键复合主键36单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级36第二章 核心技术3.activerecord多数据源支持多数据源支持37单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级373.activerecord多数据源支持多数据源支持第二章 核心技术38单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级384.aop面向切面编程面向切面编程第二章 核心技术39单击此处编辑母版标题样式 单击此处编辑母版
18、文本样式 第二级 第三级 第四级 第五级394.aopinterceptor-interceptor-拦截方法拦截方法 添加切面添加切面第二章 核心技术40单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级40第二章 核心技术4.aopinterceptor-invocationinterceptor-invocation参数妙用参数妙用41单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级414.aopbefore-before-拦截器的注解配置拦截器的注解配置第二章 核心技术42单击此处编辑母版标题样式 单击此处编辑母版文本样
19、式 第二级 第三级 第四级 第五级42第二章 核心技术4.aopbefore-before-全局拦截器和全局拦截器和injectinject拦截器拦截器jfinal 还支持全局拦截器以及 inject 拦截器。全局拦截器需要在 yourjfinalconfig 进行配置, 以下是配置示例:43单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级434.aopclear-clear-清除拦截器清除拦截器第二章 核心技术44单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级444.aopclear-clear-无参无参 有参清楚有参清楚
20、第二章 核心技术45单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级454.aopinterceptor interceptor 的触发的触发第二章 核心技术jfinal 中的 aop 被划分为控制层 aop 以及业务层 aop,严格来说业务层 aop 并非仅限于在业务层使用,因为 jfinal aop 可以应用于其它任何地方。46单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级46第三章 项目实战47单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级47第三章 项目实战1.eclipse/my
21、eclipse或者intellijidea2.jfinal的jar包3.jdk1.7+4.jetty server(jfinal自带的一个服务器)搭建前准备搭建前准备工欲善其事,必先利其器eclipse下载地址/downloadsjdk下载地址http:/ http:/ 当前最新的版本为jfinal-2.2-all.aip48单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级485、jfinal配置类创建6、web.xml配置7、项目分包8、启动服务器调试1、web项目创建2、jfinal版本选择3、导入依赖包4、创建数
22、据库开发环境搭建流程第三章 项目实战49单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级49第三章 项目实战web项目创建项目创建注意: target runtime 一定要选择50单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级50第三章 项目实战第三章 项目实战jfinal版本选择版本选择当前官方最新是2.2版本51单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级51第三章 项目实战导入依赖导入依赖jar包包轻量轻量快捷快捷可拓展可拓展52单击此处编辑母版标题样式 单击此处编辑母版文本样式
23、 第二级 第三级 第四级 第五级52第三章 项目实战第三章 项目实战创建数据库创建数据库选择oracle数据库53单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级53第三章 项目实战jfinal配置类创建配置类创建54单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级54第三章 项目实战web.xml配置配置主要是配置jfinal过滤器55单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级55第三章 项目实战项目分包项目分包jfinal mvc架构:跟普遍的mvc架构一样56单击此处编辑母版标题样
24、式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级56第三章 项目实战启动服务调试启动服务调试jetty-server-8.1.8.jar拷入。直接runas启动即可:看看jfinal的环境是否搭建成功:以下是成功的范例57单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级57第三章 项目实战项目实操预估耗时预估耗时1525分钟分钟58单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级58第四章 常见问题59单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级59常见问题1、can not
25、create instance of class: demo.democonfig一、应该是你的路径有问题, 打开你项目的java build path面板, 然后找到default output folder, 把这里的输出改为your_project/webroot/web-inf/classes。二、java build path面板中的libraries中有部分库导入异常,检查出来修复就行。60单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级60常见问题2、如果更改jfinal的web.xml 拦截后缀名 jfinal /* “/*”不能正确处理“.h
26、tml”这种后缀的动态请求。 新增一个htmskiphandler文件 public class htmskiphandler extends handler public void handle(string target, httpservletrequest request, httpservletresponse response, boolean ishandled) int index = target.lastindexof(.htm); if (index != -1) target = target.substring(0, index); nexthandler.handle(target, request, response, ishandled); 在jfinalconfig文件中的confighandler新增me.add(new htmskiphandler();61单击此处编辑母版标题样式 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级61常见问题3、jfi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黏膜白斑的临床护理
- 《政府的宗旨和原则》课件
- 《保险费率策略》课件
- 建立高效团队合作的前台策略计划
- 《数字分析》课件
- 班级心理剧的实践与反思计划
- 设计方案委托合同三篇
- 地震前兆观测仪器相关行业投资规划报告
- 《液压与气动》课件 3气动-压力控制阀
- 高档零售商场租赁合同三篇
- 山东省济南市济阳区三校联考2024-2025学年八年级上学期12月月考语文试题
- 手术室的人文关怀
- 2024合作房地产开发协议
- 糖尿病酮酸症中毒
- 农贸市场通风与空调设计方案
- Unit 6 Food Lesson 1(说课稿)-2024-2025学年人教精通版(2024)英语三年级上册
- 第25课《周亚夫军细柳》复习课教学设计+2024-2025学年统编版语文八年级上册
- 2024年广东省深圳市中考英语试题含解析
- 金蛇纳瑞2025年公司年会通知模板
- 有限空间应急预案演练方案及过程
- GB/T 16288-2024塑料制品的标志
评论
0/150
提交评论