一、設計目標
看過不少別人針對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發博文,你們板磚,礦泉水瓶什麼的都準備好哈。。。
令:求幾個好基有,有木有~~~