Posted on 2007-04-06 19:11
shaofan 閱讀(4975)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
Java 、
Python
假設(shè):用兩者寫(xiě)一個(gè)最小的WEB程序。
過(guò)程可以參照:
1.struts的就太多了,隨便哪個(gè)都可以
2.python/django可以看limodou寫(xiě)的
Django step by step
|
Java/Struts/JSP |
Python/Django |
開(kāi)發(fā)步驟 |
1.在web.xml里配置struts的servlet 2.在struts-config.xml里配置URL和action的映射 3.寫(xiě)action 4.寫(xiě)JSP |
1.在urls.py里配置URL到方法的映射 2.寫(xiě)相應(yīng)的方法 3.寫(xiě)HTML模板 |
調(diào)用過(guò)程 |
1.根據(jù)web.xml的映射調(diào)用struts的servlet controller 2.servlet controller根據(jù)struts-config.xml的映射調(diào)用相應(yīng)的action 3.action處理請(qǐng)求 4.JSP渲染顯示 |
1.根據(jù)urls.py的映射調(diào)用相應(yīng)的方法 2.方法處理請(qǐng)求 3.HTML渲染顯示 |
相比之下前者用了兩層才把一個(gè)HTTP請(qǐng)求映射到實(shí)際處理的方法:第一次是servlet的映射,第二次是struts action的映射。
而django則一次就從URL映射到相應(yīng)的方法了。
另外一個(gè)比較顯著的區(qū)別,也是基于java和python的語(yǔ)言上的區(qū)別吧,java的所有方法必需包含在一個(gè)類(lèi)中,因此action mapping配置時(shí)是映射到類(lèi),而action在實(shí)現(xiàn)類(lèi)則應(yīng)實(shí)現(xiàn)事先約定的方法(通過(guò)繼承或?qū)崿F(xiàn)接口)。而django則直接得多,可以直接在配置里寫(xiě)明處理請(qǐng)求的方法名。