基于组件的机制的技术概述-SimpleFramework

开发 后端
Web应用中,无论服务器端采用(Java EE或.Net),客户端的请求(Request)经Web或应用服务器解析后,最终返回客户端的响应(Response)内容主体都是HTML(含Javascript脚本、CSS等)。

框架模式:

Web应用中,无论服务器端采用(Java EE或.Net),客户端的请求(Request)经Web或应用服务器解析后,最终返回客户端的响应(Response)内容主体都是HTML(含Javascript脚本、CSS等)。由此,就提供了解决问题的契机,那就是在响应内容返回客户端(浏览器)之前,“拦截”响应,解析响应HTM,并进行“再处理”,此即“后处理”应用模式。其实现方案可有服务器端(过滤器、拦截器等)和客户端(插件等)两种。在Java EE体系下,各种Web或应用服务器(Weblogic、Websphere、JBoss、Tomcat等)恰好提供了“过滤器(Filter)”或“拦截器(Interceptor)”机制,为上述模式的实现奠定了技术基础,提供了技术途径。

SimpleFramework提供了net.simpleframework.web.page.PageFilter类来实现Filter机制,需要注意的是:该Filter应该处在顶层,如下图所示

 

 

基于过滤器的后处理模式,实际上是利用过滤器机制对MVC2的扩展,是两个MVC2模式的有机组合:先由“Filter”作为“Controller”,以另一MVC2作为其“虚模型”,再将此“Model”分解为一完整的MVC2,分别由原Model和作为Post-View(基于XML定义)的解析器(Parser)及逻辑处理器(HandleClass)的Post-Controller构成。

如下图所示

 

开放架构:

基于过滤器的实现机制和声明式组件应用,使得SimpleFramework可以适应未来Java EE新技术的发展---仅需升级框架实现,无需大规模应用代码整改

基于过滤器和后处理模式的实现机制,决定了其“开放”的“资源”应用特性,使得SimpleFramework既可整合已有应用资源,也可整合现有框架及组件资源

SimpleFramework实现了开放的组件架构(组件注册、组件实例、组件资源提供者、组件生命周期管理等),使得Web应用开发者按照组件规范即可随需定制应用组件,或基于现有组件构建复合应用组件

 

遵循标准:

  • SimpleFramework采用的实现技术后端为Java EE,前端为HML+Javascript+CSS,皆为业界标准
  • SimpleFramework并未创建自己专有标签或其他标准,它所遵循的标准就是Java EE的原生或固原标准,即JSP、Servlet、TagLib(不建议采用标签库)等
  • SimpleFramework采用了类JSF的XML式组件声明,但语义更加简洁
  • SimpleFramework“不是重新发明轮子”,而是以其特有的“后处理” 特色可作为现有Web框架的有机补充和无损扩展
  • SimpleFramework基于过滤器的实现机制决定了其既可以支撑Web应用的全程开发,可也以与其他Web框架技术整合或部分应用SimpleFramework的组件或功能

 

 

关于事件:

SimpleFramework是基于组件的MVC框架,所有的事件都是通过客户端HTML和Javascript体现的。

与其它基于Request的MVC框架(Struts、SpringMVC等)不同,SimpleFramework通过$Actions自动为客户端生成组件的Javascript对象,这些对象高度封装,事件代码可以更简单、更灵活的直接调用。

与基于事件驱动的Web框架(JSF、Wicket等)相比,SimpleFramework尽量采用现有的Web规范,没有定义标签库,符合Web的编程习惯,效率也更高。以下是相关的比较:

 

 

 

责任编辑:金贺 来源: simpleframework.net
相关推荐

2011-04-22 10:13:35

SimpleFrame

2011-04-22 10:01:59

SimpleFrame

2011-04-22 10:34:09

SimpleFrame

2011-04-29 14:53:56

SimpleFrame

2017-09-08 10:59:05

2011-04-22 10:45:14

SimpleFrame

2011-06-17 10:26:29

PONEPONGPON

2009-12-23 16:40:53

无线MIMO技术详解

2011-04-29 10:58:11

SimpleFrame

2011-04-21 10:59:44

SimpleFrameWeb

2022-09-29 23:53:06

机器学习迁移学习神经网络

2009-07-17 12:54:13

2011-04-28 10:45:39

SimpleFrame

2009-06-29 13:22:19

JSF技术JSF组件

2011-08-03 09:52:19

IT运维管理ITIL

2009-07-14 18:05:28

轻量级Swing组件

2011-04-29 09:33:22

SimpleFrame

2011-05-19 10:57:45

DNSSEC密钥加密

2009-08-26 09:36:03

C#泛型

2009-08-04 15:22:33

ASP.NET缓存机制
点赞
收藏

51CTO技术栈公众号