一、设计目标
看过不少别人针对Rest风格框架的评论,有吐槽的,也有褒奖的,本身认为这就是一种软件领域的风尚,就像如某个冬天雪地棉很流行同样,额或者说像禽流感很流行同样,都是软件过分期的产物。废话少说了,设计目标为了针对某些URL如:
www.abcde.com/project/controller/method
www.abcde.com/project/controller/method/para1/para2
用最原始的Servlet实现过程。 web
令:时常关注OSC或个人博客可能不会得流感哟:)
ajax
二、流程分析
一,容器启动 缓存
资源缓存,请求分析出来对应的类,方法缓存起来以便于url的映射(暂时没作) 框架
二,动做流程 url
1,URL解析 设计
url的处理是在UrlFilter中作的,这是借鉴红薯老爹的方式,之前觉得用Servlet的方式在配置与实现上 很简单,其实否则,对于大量静态请求的处理Servlet显得很疲软,因此改用filter的方式实现,这个须要在web.xm中配置。
url被拦截后咱们会进行解析,将解析好的Action(本身封装的一个类,其中包含URL对应的Method, 还有其它一些基本属性)接下来要判断url来源方是否有权限操做,个人设计思路是在须要的Controller 中加入Annotation如@Auth(99)等权限标识。若是符合权限继续操做。
接下来要进行方法的调用,在对应的Action类中我定义了一个字段actionType,它能够帮咱们判断是什么类型的调用(前提是在解析URL实要设定),有ajax的,有转向资源模版路径的,下载的,上传的等,根据这些状况要作相应处理,这个下章会详细介绍。
额,已经很晚 了,明天还要赶飞机,写不动了,明天我会继续写,只当是对完成工做的一种总结吧,源码在作好后会发上了,以上都是针对像我这样用多了框架,已经忘了什么是Servlet的人的体会,高手不要看不起哦,第一次在OSC发博文,你们板砖,矿泉水瓶什么的都准备好哈。。。
令:求几个好基有,有木有~~~