Django 和 struts 對比

qinfengxiaoyue發表於2014-08-12

轉自:http://www.blogjava.net/shaofan/archive/2007/04/06/109007.html

假設:用兩者寫一個最小的WEB程式。
過程可以參照:
1.struts的就太多了,隨便哪個都可以
2.python/django可以看limodou寫的Django step by step

 

  Java/Struts/JSP  Python/Django
開發步驟 1.在web.xml裡配置struts的servlet
2.在struts-config.xml裡配置URL和action的對映
3.寫action
4.寫JSP
1.在urls.py裡配置URL到方法的對映
2.寫相應的方法
3.寫HTML模板
呼叫過程 1.根據web.xml的對映呼叫struts的servlet controller
2.servlet controller根據struts-config.xml的對映呼叫相應的action
3.action處理請求
4.JSP渲染顯示
1.根據urls.py的對映呼叫相應的方法
2.方法處理請求
3.HTML渲染顯示



相比之下前者用了兩層才把一個HTTP請求對映到實際處理的方法:第一次是servlet的對映,第二次是struts action的對映。
而django則一次就從URL對映到相應的方法了。

另外一個比較顯著的區別,也是基於java和python的語言上的區別吧,java的所有方法必需包含在一個類中,因此action mapping配置時是對映到類,而action在實現類則應實現事先約定的方法(通過繼承或實現介面)。而django則直接得多,可以直接在配置裡寫明處理請求的方法名。

相關文章