JFinal框架应用与实践.ppt_第1页
JFinal框架应用与实践.ppt_第2页
JFinal框架应用与实践.ppt_第3页
JFinal框架应用与实践.ppt_第4页
JFinal框架应用与实践.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JFinal框架应用与实践 目录页 第二章核心技术 架构 原理 第三章项目实战 第一章认识JFinal 第四章常见问题 第一章认识JFinal WhatisJFinal 第一章认识JFinal JFinal是基于Java语言的极速web开发框架 其核心设计目标是开发迅速 代码量少 学习简单 功能强大 轻量级 易扩展 Restful 在拥有Java语言所有优势的同时再拥有ruby Python PHP等动态语言的开发效率 为您节省更多的时间去陪恋人 家人和朋友o o JFinal特点 一 第一章认识JFinal 大道至简 微内核全方位扩展架构 JFinal特点 二 第一章认识JFinal 第一章认识JFinal 1 2 3 4 什么样的人适合这门课程 第一章认识JFinal JFinal能做什么类型的项目 WEB项目 使用jsp servlet都能开发 更何况 对Servlet的极薄封装 理论上来说Servet能做到的就可以做到JFinalORM部分可以单独拿出来用于非web项目移动设备项目 JFinalActiveRecordPlugin用于android的sqlite综上所述 JFinal最擅长的应用场景是Web项目 Web之外ActiveRecord应用最为常见 开发什么项目不仅框架选型决定 还涉及到个人对项目和技术的驾驭能力 更简洁 更轻松 更极速 开发项目重在业务逻辑 框架只是提供工具而已做同一个类型的项目 不同技术系的开发者只会选择自己熟悉的框架而已 第一章认识JFinal 第一章认识JFinal 学会了Jfinal 我们能做什么 第二章核心技术 第二章核心技术 第二章核心技术 逻辑架构 运作原理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 第二章核心技术 Aop 拦截器Config 通用配置Core 核心处理 主要是Controller的调度Ext 扩展包Handler 全局处理器I18N 国际化Json json数据的一些常用操作kit 一些工具类Log 日志类Plugin 插件处理Render 渲染处理 比如对于FreeMark的支持Server 服务器Token 令牌Upload 文件上传处理Validate 验证处理 主要是数据持久化时的验证 第二章核心技术 包简介 第二章核心技术 关注关键的核心类 JFinalConfigControllerActiveRecordAOPEhCachePluginValidator Jfinal体积虽小 但 麻雀虽小五脏俱全 而且功能体系还是很庞大的 第二章核心技术 1 JFinalConfig 用于对整个web项目的整体配置 第二章核心技术 1 JFinalConfig configConstant Constantsme 第二章核心技术 1 JFinalConfig configRoute Routesme 第二章核心技术 1 JFinalConfig configRoute Routesme 第二章核心技术 1 JFinalConfig configRoute Routesme 第二章核心技术 1 JFinalConfig configPlugin Pluginsme 第二章核心技术 1 JFinalConfig configInterceptor Interceptorsme 第二章核心技术 1 JFinalConfig configHandler Handlersme 第二章核心技术 2 Controller MVC模式中的控制器 第二章核心技术 2 Controller getPara系列方法 第二章核心技术 2 Controller getModel与getBean系列方法 getModel用来接收页面表单域传递过来的model对象 表单域名称以 modelName attrName 方式命名 除了getModel以外 还提供了一个getBean方法用于支持传统的JavaBean 第二章核心技术 第二章核心技术 2 Controller setAttr方法和session操作方法 第二章核心技术 2 Controller Render系列方法 第二章核心技术 3 ActiveRecord 用于操作数据 将极大减少代码量 第二章核心技术 3 ActiveRecord JFinal独创Db Record模式 第二章核心技术 3 ActiveRecord 声明式事务 第二章核心技术 3 ActiveRecord Cache缓存机制 第二章核心技术 3 ActiveRecord 复合主键 第二章核心技术 3 ActiveRecord 多数据源支持 3 ActiveRecord 多数据源支持 第二章核心技术 4 AOP 面向切面编程 第二章核心技术 4 AOP Interceptor 拦截方法添加切面 第二章核心技术 第二章核心技术 4 AOP Interceptor invocation参数妙用 4 AOP Before 拦截器的注解配置 第二章核心技术 第二章核心技术 4 AOP Before 全局拦截器和inject拦截器 JFinal还支持全局拦截器以及Inject拦截器 全局拦截器需要在YourJFinalConfig进行配置 以下是配置示例 4 AOP Clear 清除拦截器 第二章核心技术 4 AOP Clear 无参有参清楚 第二章核心技术 4 AOP Interceptor的触发 第二章核心技术 JFinal中的AOP被划分为控制层AOP以及业务层AOP 严格来说业务层AOP并非仅限于在业务层使用 因为JFinalAOP可以应用于其它任何地方 第三章项目实战 第三章项目实战 1 Eclipse MyEclipse或者IntelliJIDEA2 JFinal的jar包3 JDK1 7 4 JettyServer JFinal自带的一个服务器 搭建前准备 工欲善其事 必先利其器 Eclipse下载地址http www eclipse org downloadsJDK下载地址 5 JFinal配置类创建 6 Web xml配置 7 项目分包 8 启动服务器调试 1 Web项目创建 2 JFinal版本选择 3 导入依赖包 4 创建数据库 开发环境搭建流程 第三章项目实战 第三章项目实战 Web项目创建 注意 Targetruntime一定要选择 第三章项目实战 第三章项目实战 Jfinal版本选择 当前官方最新是2 2版本 第三章项目实战 导入依赖jar包 轻量 快捷 可拓展 第三章项目实战 第三章项目实战 创建数据库 选择oracle数据库 第三章项目实战 Jfinal配置类创建 第三章项目实战 Web xml配置 主要是配置Jfinal过滤器 第三章项目实战 项目分包 JfinalMVC架构 跟普遍的mvc架构一样 第三章项目实战 启动服务调试 jetty server 8 1 8 jar拷入 直接RunAs启动即可 看看Jfinal的环境是否搭建成功 以下是成功的范例 第三章项目实战 项目实操 预估耗时15 25分钟 第四章常见问题 常见问题 1 Cannotcreateinstanceofclass demo DemoConfig 一 应该是你的路径有问题 打开你项目的javabuildpath面板 然后找到defaultoutputfolder 把这里的输出改为your project WebRoot WEB INF classes 二 javabuildpath面板中的Libraries中有部分库导入异常 检查出来修复就行 常见问题 2 如果更改JFinal的web xml拦截后缀名 jfinal 不能正确处理 html 这种后缀的动态请求 新增一个HtmSkipHandler文件publicclassHtmSkipHandlerextendsHandler publicvoidhandle Stringtarget HttpServletRequestrequest HttpServletResponseresponse boolean isHandled intindex target lastIndexOf htm if index 1 target target substring 0 index nextHandler handle target request response isHandled 在JfinalConfig文件中的configHandler新增me add newHtmSkipHandler 常见问题 3 JFinal设置404和500等页面 publicvoidconfigConstant Constantsme me setError404View TEMPLATE PATH error 404 html me setError500View TEMPLATE PATH error 500 html 常见问题 4 Jfinal中文乱码问题 1 1 Config配置 YourJFinalConfig configConstant Constantsme me setEncoding utf 8 2 数据库连接配置 jdbcUrl jdbc mysql 127 0 0 1 jfinal characterEncoding utf8 3 假设是页面发送GET请求 中文字符须要encoding 除非在tomcat的server xml中的Connector标记中加入了URIEncoding UTF 8 属性 常见问题 4 Jfinal中文乱码问题 2 4 假设是jsp页面 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论