上回有一段時間,做了個.net的項目, 于是就上網查了一些.net的開源框架,發現很多都是Java下的開源框架改寫的。而正如spring在Java語言的地位,.net下比較火的開源框架蠻多是Castle出的。看了一個叫MonoRails的MVC框架,是從ROR下吸收了一些思想。大致看了一下,發現還是有很多特性是比較好的。
于是有感而發,就在Java下也做了一個類似MonoRails的框架,大致是具有了以下的一些特性:
Webwork的Interceptor機制。
具有IOC,用Setter的注射法,不用配置文件,加annotation即可
而比較主要的就是,一次請求的流程是,servlet自動根據請求尋找以名字匹配的Model和Control,將參數和值注入Model中,轉到Control去處理,再根據Control的結果去找相應的頁面。而這里有些是從MonoRails學來的特性:缺省的,頁面的文件名就是Control中的方法名,頁面所在的文件夾就是Control的類名。這樣就省了很多配置和寫跳轉結果的代碼。
如果url中請求的方法名在這個Control中不存在的話,就經過interceptor后直接去找頁面,也就是說,不經過Control處理了。
還有一點,很爽的就是Layout的功能:在Control里面的方法加個Annotation,Layout,Layout寫上頁面框架的文件名,則每個跳轉出來的頁面,自動內嵌到頁面框架中。這點就有點類似sitemesh了。
這個MVC框架做完后,大致就這些功能。可惜,這個框架就是一個自己寫著好玩的框架,并沒有用在實際的開發項目中,如果有機會的話,還真希望將這個框架做完整,到網上開源。

文章來源:
http://blog.csdn.net/Wingel/archive/2006/11/26/1414832.aspx