`
leadyu
  • 浏览: 52203 次
  • 性别: Icon_minigender_1
  • 来自: 广州,福州
文章分类
社区版块
存档分类
最新评论

Jwebap项目(三)——plugin视图框架设计(2)

阅读更多
二,plugin视图框架

上面一篇说了,jwebap为了部署方便,所有的视图都放在jar包,那么就需要提供一套视图框架,给plugin的实现者开发视图。
视图的实现通过封装第三方的模版引擎实现,相应的提供分发和mvc框架实现,我们先看一看,一个具体的jwebap视图请求,会是怎么样的:



dispatcher层
视图框架提供了类似filter的实现机制,这对我们有什么用呢,我们看看上图。对于静态文件的请求,比如图片,我们可以通过
FileDispatcher分发处理,而对于需要进行运算的业务视图处理,可以通过ActionDispatcher进行分发处理。

细心的话,我们还会发现对于同一mapping,Dispatcher的实现还存在一个链。这主要是可以让Plugin实现者可以对请求进行额外的处理
比如上图的EncodingSetterDispatcher,可以在处理视图前处理编码。

另外,如果plugin实现者不想使用这套视图框架,他完全可以实现自己的Dispatcher,把请求分发到他自己的视图框架中。

processor层
处理逻辑层。FileProcesser读取静态文件,返回。ActionProcesser根据URL映射到action上,进行视图处理。

action层
处理具体的视图请求。Action又分:模版视图处理Action,动态图片处理Action,等等,各种Action通过Support类
进行支持,如

TemplateActionSupport:调用模版引擎,action实现者只需要计算好模版Comtext,具体的展现交给了
TemplateActionSupport。

PicActionSupport:动态视图Action,有些图片的请求是需要计算的,比如统计图表,这种图片需要运算生成,所以只要继承实现
PicActionSupport,实现图片的计算,具体的输出也交给了PicActionSupport。
[img][/img][img]
  • 大小: 107.1 KB
分享到:
评论
2 楼 leadyu 2007-12-28  
javatar 写道
Dispatcher和Servlet的设计风格很相似, Processer和Action更像一个Web框架, jwebap提供这些会不会跃位了?
不提供这些不行,plugin的开发者需要视图,那么需要有手段能够让他们自己编写视图嵌入到web console中,当然可以采用其他的视图技术,但是我更希望所有的plugin都是以jar包的形式提供,部署简易。

而采用模版技术,MVC框架是不可避免的。
1 楼 javatar 2007-12-28  
Dispatcher和Servlet的设计风格很相似, Processer和Action更像一个Web框架, jwebap提供这些会不会跃位了?

相关推荐

    J2EE项目实训——Struts框架技术.rar

    11. ** strut2-struts1-plugin**:如果项目中还包含Struts1的遗留代码,可以通过Struts2提供的Struts1插件无缝集成两个框架。 12. ** strut2-dojo-plugin**:Struts2还提供了Dojo插件,便于与Dojo JavaScript库集成...

    jwebap_0.6.1

     2) 部署和使用非常的简单,整个Jwebap的部署只需要部署jwebap_core_**.jar以及需要使用的各种plugin_**.jar,然后配置 jwebap.xml和web.xml就可以完成所有的部署,比起绝大多数的profiling容易的多。 同时Jwebap...

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...

    Struts2.1零配置——convention-plugin

    Struts2.1引入了Convention Plugin,以实现框架的零配置目标,替代之前的Codebehind Plugin。这个插件通过约定优于配置的原则简化了Struts2的应用开发,减少了XML配置文件的需求。以下是对Convention Plugin主要特性...

    jwebap_0.5.9_1.jar

    core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的人群按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻...

    Tangram Plugin FrameWork基于Delphi的模块化插件框架..rar

    6. **扩展性**:Tangram Plugin Framework的开放架构使得开发者可以方便地扩展框架功能,以适应特定项目的需求。 在实际开发过程中,通过Tangram Plugin Framework,开发者可以创建高度定制化的应用程序,同时保持...

    m2e —— maven to eclipse plugin 1.5 最新离线安装版

    **m2e——Maven到Eclipse插件1.5最新离线安装版** M2E,全称为m2eclipse,是Eclipse IDE中一个非常重要的插件,它为Eclipse提供了对Apache Maven项目的集成支持。Maven是一个强大的项目管理和构建工具,广泛应用于...

    VS2010——MayaPluginWizard2.0不能用的解决方法

    5. **修复Visual Studio安装**:如果MayaPluginWizard未显示在Visual Studio的“新建项目”对话框中,可能是因为VS安装出现问题。尝试修复或重新安装VS2010,确保选择了"Visual C++"工作负载,因为插件开发通常涉及...

    hadoop-eclipse-plugin1.2.1 and hadoop-eclipse-plugin2.8.0

    本文将详细介绍这两个版本的Hadoop Eclipse Plugin——1.2.1和2.8.0。 首先,Hadoop-Eclipse-Plugin 1.2.1是针对较早期的Hadoop版本设计的。这个版本的插件支持Hadoop 1.x系列,适配的是Hadoop MapReduce的旧版API...

    DroidPlugin 插件化框架源码

    《DroidPlugin插件化框架源码解析》 DroidPlugin,由360公司研发,是一款针对Android系统的强大插件框架。它以其创新性的插件机制,使得应用程序无需安装或修改即可运行APK文件,这在提升大型APP的可维护性、扩展性...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    在Java Web开发领域,Struts2 是一个应用广泛的框架,它作为 Apache 基金会下的一个项目,是继 Struts 1 之后的一个全新版本。Struts2 构建在WebWork 的技术基础上,它为开发者提供了一套完备的MVC(Model-View-...

    基于Cocos Creator 3.x的oops-plugin-framework插件式游戏框架设计源码

    该项目为基于Cocos Creator 3.x开发的oops-plugin-framework插件式游戏框架设计源码,包含533个文件,其中包括207个元数据文件、184个TypeScript源代码文件、124个HTML文件、6个JavaScript文件、4个JSON文件、2个...

    hiprint for Vue2/Vue3 打印、打印设计、可视化设计器、报表设计、元素编辑、可视化打印编辑

    本篇文章将深入探讨“hiprint for Vue2/Vue3”,这是一个专为Vue.js设计的扩展组件,旨在提供打印、打印设计、可视化设计器、报表设计、元素编辑以及可视化打印编辑等功能。 首先,我们要理解hiprint的核心功能。它...

    基于Java的smart-doc-maven-plugin官方maven插件设计源码

    本项目是基于Java的smart-doc-maven-plugin官方maven插件设计源码,包含43个文件,其中包括27个Java源文件、7个Markdown文档、2个JSON文件、1个gitignore文件、1个LICENSE文件、1个NOTICE文件、1个PNG图片文件、1个...

    旺旺教师————Struts2

    - **插件示例**:struts2-spring-plugin-2.1.8.1.jar 是一个典型的插件文件,用于实现Struts2与Spring框架的整合。该插件文件通常位于Struts2发行版的lib目录下。 - 插件文件**必须包含一个名为struts-plugin.xml的...

    hadoop-eclipse-plugin-2.6.0.jar.zip_2.6.0_hadoop_hadoop plugin

    这个插件是针对Hadoop 2.6.0版本设计的,主要目标是集成Eclipse IDE,使得开发者可以在本地环境中便捷地创建、调试和管理Hadoop MapReduce项目。 一、插件功能详解 1. **项目创建与导入**:通过Hadoop Eclipse插件...

    axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codege-plugin.zip

    标题中的"axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codegen-plugin.zip"指出这是一个Axis2的Eclipse插件,主要用于代码生成工具。在 Axis2 的开发环境中,此插件扮演着至关重要的角色,它能帮助开发者...

    DroidPlugin框架集成

    DroidPlugin框架是一款针对Android平台设计的插件化框架,旨在实现应用的模块化和动态加载功能。在Android开发中,插件化技术允许开发者将应用程序拆分成多个独立的模块,这些模块可以在运行时动态加载,提高代码...

    maven-site-plugin和 maven-scr-plugin同时使用时site plugin不能删除target中OSGI-INF\\serviceCo

    在本文中,我们将深入探讨这两个插件的用途以及它们在实际项目中的交互问题,特别是当它们同时使用时可能出现的问题——site plugin无法删除target目录下的OSGI-INF/serviceComposite目录。 首先,让我们了解maven-...

Global site tag (gtag.js) - Google Analytics