- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
学习
学习 好资料
更多
更多
JFinal
JFinal技术架构浅析
1.1
1.1空间架构
框架承受微内核全方位扩展架构,全方位是指其扩展方式
在空间上的表现形式。整
个空间架构由Handler、Interceptor、Controller、Render、
Plugin五大局部组
成。每个局部都是基于接口实现的,支持完整的自定义,
使用敏捷,扩展性强。空间架构图。
HandlerInterceptorControllerRenderPlugin
1.2
1.2规律架构
框架的规律架构格外简洁,就是一个经典的MVC模式演
化、大致分成以下6个步骤:
包括ServletRequest、ServletResponse,即客户
端恳求与响应
Filter
全部恳求的拦截器,相当于是一个闸口
Handler
恳求处理器,是对全部恳求的公共处理,在这里我们可以做权限掌握、安全验证等。
它是一个责任链模式变种,由初始配置的Handler以及框架默认的ActionHandler
构成一个链条,依次执行。
Action
动作处理器,它是一个AOP+Command模式变种。由ActionInvocation进展调度,
先执行拦截器,最终执行具体方法。
Model
模型层。在这个层面包括实体模型的定义、
DB+ActiveRecord模式数据库操作的支持、从恳求中解析出对应参数构造Model实例,可以把它看成是DAO。
Render
渲染层。负责将效劳端的数据组装成客户端需要的数据格式,然后response到客户端。支持多种视图的渲染:FreeMark、Jsp、VELOCITY以及自定义。
ServletRequestServletResponse
JFinalFilter(全部恳求的拦截器)
Interceptorn(拦截器)Method(具体的方法)
ActionActionInvocation(动作调度器)ActionHandler(动作处理器)Handler(处理器)
HandlerModelInjector(模型构造器)
Model(模型定义)
DB(数据库操作工具)Render(渲染器)
JSPFreeMarkVeloCity自定义View
1.3
1.3代码架构
包构造
包简介
Aop:拦截器Config:通用配置
Core:核心处理,主要是Controller的调度
Ext:扩展包
Handler:全局处理器I18N:国际化util:一些工具类
Log:日志类
Plugin:插件处理Render:渲染处理,比方对于FreeMark的支持Server:效劳器
Token:令牌
Upload:文件上传处理
Validate:验证处理,主要是数据长久化时的验证
1.4运作原理
我们从一次增页面的add操作恳求来看:
首先是客户端点击增按钮,提交一个增恳求,恳求中会带上效劳端处理地址url
全部恳求都会被JFinalFilter拦截,然后调用
Handler进展具体处理
Handler是一个链条形式的调用,包括0-n
个自定义Handler,
以及最后一个ActionHandler,依次执行,固然可以自定义跳出。
进入ActionHandler后,首先会依据恳求的target从缓存的ActionMapping
中映射猎取到具体操作对应的Action对象,这个对象里面封装了方法名、方法
上面的拦截器,方法所在的Controller,controller上面的拦截器等。然后
依据Action以及Controller实例构造出
ActionInvocation。
接下来通过ActionInvocation的invoke进展具体处理,这是一个明显的
Command模式的实现。首先是拦截器的调用,拦截器调用中会重回调
ActionInvocation的invoke,当拦截器调用完毕后,会调用当前操
作的method
当进入具体controller的增方法时,调用基类
getModel(Systemparam.class);
这个方法会从request中解析出所需要的数据,通过反射设置给具体的
Model实体类,最终通过ActiveRecord来进展数据存储.
最终是页面渲染render
核心代码简介
核心代码简介
我们还是从一次增恳求的流程来看涉及到的核心类有哪
些
本身就是一个的过滤器,主要有3
您可能关注的文档
最近下载
- 《营养与健康》》课件.ppt VIP
- 2024年海洋知识竞赛题库及答案(共60题) .pdf VIP
- Q/GDW+13028.2—2018+330kV电压互感器采购标准(第2部分:330kV电容式电压互感器专用技术规范).docx VIP
- 分布式光伏电站智能运维技术方案.docx VIP
- PSSR化工项目启动前安全检查表.docx VIP
- Q/GDW+13029.1—2018+500kV电压互感器采购标准(第1部分:通用技术规范).docx VIP
- 人工挖孔桩安全施工专项方案.docx VIP
- Q/GDW+13032.1—2018+6kV~35kV组合互感器采购标准(第1部分:通用技术规范).docx VIP
- NTF管理流程课件.pdf VIP
- DB12T 1444-2025博物馆消防安全管理导则.pdf VIP
文档评论(0)