为什么80%的码农都做不了架构师?>>>
1、设计目标
看过很多别人针对Rest风格框架的评论,有吐槽的,也有褒奖的,自己认为这就是一种软件领域的风尚,就像如某个冬天雪地棉很流行一样,额或者说像禽流感很流行一样,都是软件过度期的产物。废话少说了,设计目标为了针对某些URL如:
www.abcde.com/project/controller/method
www.abcde.com/project/controller/method/para1/para2
用最原始的Servlet实现过程。
令:时常关注OSC或我的博客可能不会得流感哟:)
2、流程分析
一,容器启动
资源缓存,请求分析出来对应的类,方法缓存起来以便于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发博文,大家板砖,矿泉水瓶什么的都准备好哈。。。
令:求几个好基有,有木有~~~