承接上篇的简单介绍,下面详细介绍整个框架的大致结构。
先来看一下整个框架包的结构:
可以看出框架包含的包很少,包的结构也超简单。这里 涉及Filter、ActionSupport、Router等三个概念,他们之间的关系,通过下图来表示:
图也不规范,说不上来是哪个UML图,不过通过它也能看出一个请求到达时,框架基本的处理流程。首先由Filter拦截到所有请求,然后把请求交给所有注册的Router类,如果请求的Url正好是一个Router要拦截的,则把此请求交给这个Router,框架不再把请求向下传递。Router得到请求后,分析Url,通过Url里的信息把请求交给对应的ActionSupport的子类来处理。
这里拦截采用Filter来处理,这跟多数的web框架一样,使用Filter比Servlet有更多的能力进行请求的分发。首先在一个web工程的web.xml文件中配置框架的UrlFilter类来拦截所有的请求。需要注意的一点是dispatcher 要设置为request,如果设置了forward的话,由框架内部进行的forward又会被框架拦截,从而造成无限的循环。Url-pattern设置为/*,表示所有的请求都会拦截,从而把对url分发的权利交由框架本身,而不是采用jsp规范里的url分发策略。框架在处理所有请求的url 时,依次交给各个Router类来处理,如果Router类判断是符合自己的url格式,则分发给 action 处理。如果不能处理再交给下一级的Router,最后url经由所有Router处理完,剩下的资源文件的url,如http://xxx.xxx.xxx.jpg,则框架调用filter的doChain()方法,通过filter的过滤去访问web里的资源。
<filter>
<filter-name>unicornWeb</filter-name>
<filter-class>com.mh.mvc.filter.UrlFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>unicornWeb</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
|
大致的原理就是这样,在下篇介绍框架的详细实现。
分享到:
相关推荐
使用RESTful Web Service实现转账业务,包括事务处理和并发控制
大神的Restful Web Service 详细介绍,Objectives By the end of this class, you should be able to: Give a working definition of RESTful Web Services actions, Enable a RESTful user in the SM operator ...
《Java RESTful Web Service实战》PDF版本下载
Building a RESTful Web Service with Spring 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权...
RESTful Web Services 中文版 高清 PDF 电子书
RESTful Web Service Primer RESTful Web Service Primer
Java RESTful Web Service实战.pdf Java RESTful Web Service实战.pdf
Restful web service cook book 中文版
Restful Web Service电子书 英文版
restful web service with sse, totourial
rest风格的web service实例,采用java语言编写完成,可为不同客户端提供CURD服务,连接数据表customer后可运行。
restful web service cookbook
因為剛入職 公司要求會使用struts2 restful風格,剛開始都沒聽說過restful,然後在網上找了N久的講解或demo,都沒找到,花了一週 在老大的指導下搞出來了,希望可以幫助到想學restful風格的同學們
本文展示了Http 协议的强大能力, 如何定义什么是Restful Web Service 架构以及以当今RPC 式Web 服务的对比,并解析了Restful web Service 架构的四个特征:可寻址性、无状态性、连通性和统一接口。
使用Spring 实现RESTful Web 服务 demo
Building a RESTful Web Service with Spring
本文展示了Http协议的强大能力,如何定义什么是Restful Web Service架构以及以当今RPC式Web服务的对比,并解析了Restful Web Service架构的四个特征:可寻址性、无状态性、连通性和统一接口.
使用Java创建RESTful Web Service
已经测试可用的,2018最新谷歌浏览器RESTful Web Service离线版包含definitions.json文件
building a restful web service