摘要:
在第一篇时就说过框架要在URL上作文章,是的,本文就框架怎样充分利用url上作尽可能详细的说明。 做web开发的不可能对url陌生,早在web1.0时代,url作为统一资源定位符,在对web中资源的如何获得上起到巨大作用。不论用户请求的时静态页面或者是各种图片、脚本文件,通过url总能从web网站获取要访问的资源。Web2.0更是常常使用url作为get请求时参数的传递,如http://xxx.xxx.xxx/xxx.jsp?user=admin。以及近几年很火restfulwebservice摒弃soap而使用url传递请求参数都说明合理利用url的可行和流行。 当然不止是使用... 阅读全文
摘要:
上篇说过,所有提交到web程序的url都被此UrlFilter拦截。拦截到请求后,UrlFilter则召集它的好多个得力干将Router们,询问他们:“谁能处理此URL啊?”这时一位叫做AMP的Router首当其冲说:“这个url交给我了”。这时filter就会把此url全权交给AMPRouter来办,至于如何去处理,filter也不再过问,它觉得:“我把任务都交给你了,怎么解决是你的事”。 根据单一职责的原则,UrlFilter就负责上面情景中的分发url到Router中的差事,url如何分发交给Router处理。并且Router实际是一个接口,使用框架的用户完全可以自己实现Rou... 阅读全文
摘要:
承接上篇的简单介绍,下面详细介绍整个框架的大致结构。 先来看一下整个框架包的结构: 可以看出框架包含的包很少,包的结构也超简单。这里涉及Filter、ActionSupport、Router等三个概念,他们之间的关系,通过下图来表示: 图也不规范,说不上来是哪个UML图,不过通过它也能看出一个请求到达时,框架基本的处理流程。首先由Filter拦截到所有请求,然后把请求交给所有注册的Router类,如果请求的Url正好是一个Router要拦截的,则把此请求交给这个Router,框架不再把请求向下传递。Router得到请求后,分析Url,通过Url里的信息把请求交给对应的Acti... 阅读全文