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]

你可能感兴趣的:(mvc,Web,框架,servlet)