转自: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则直接得多,可以直接在配置里写明处理请求的方法名。

Django 和 struts 对比的更多相关文章

  1. 对spring,struts,hibernate及MVC的理解

    对于spring,hibernate,struts等框架,刚开始的时候总是会很迷茫,不知道他们是用来做什么的. 1.对框架的作用理解 个人认为框架的作用是把代码进行了分类,减少了代码的耦合性. 如果不 ...

  2. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  3. 【SSH之旅】一步学习的步Struts1相框(三):分析控制Struts1示例

    部分博客,,先后实施了Struts抽样.现在我们来分析这个样本.具体解释Struts1. Struts1的几个核心组件是值得我们注意的: (1)ActionServlet(核心控制器). (2)Act ...

  4. SpringMVC-简单总结

    要学习一项技术,首先要知道, 它是什么, 为什么要用它 , 它由哪些东西组成, 每个东西是干什么的, 它们怎么综合在一起的 参考博客: 平凡希: https://www.cnblogs.com/xia ...

  5. 一篇博客带你入门Flask

    一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不 ...

  6. 第一篇 Flask初始

    Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用 ...

  7. 第一篇 Flask

    第一篇 Flask     一. Python 现阶段三大主流Web框架 Django Tornado Flask 对比 1.Django 主要特点是大而全,集成了很多组件,例如: Models Ad ...

  8. Flask最强攻略 - 跟DragonFire学Flask - 第一篇 你好,我叫Flask

    首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 一. Python 现阶段三大主流Web框 ...

  9. flask 基本操作 模板语言 session

    Django web:优点:大而全,ORM models ,model Form ,admin ,csrf ,session缺点:资源浪费 Flask web:优点:小而精,ORM:x , Form: ...

随机推荐

  1. mysql统计字段中某一字符串出现的次数

    (LENGTH(t.`range_00`) - LENGTH(REPLACE (t.`range_00`, "false", ""))) / LENGTH(&q ...

  2. Comparación para 2019 Nueva Lonsdor K518S y K518ISE

    Comparación para 2019 Nueva Lonsdor K518S y Lonsdor K518ISE: Igual: Capacidades de Immo y cobertura ...

  3. mysql 03

    CREATE TABLE class(    empno INT,    ename VARCHAR(4),    job VARCHAR(4),    mgr INT,    hiredate DA ...

  4. Sql数据库收缩 语句特别快

    数据库在收缩的时候..使用菜单 >> 任务 >> 收缩 >> 文件 >> 数据,  特别慢..还会报错失败.. 但使用脚本 USE [dbName] G ...

  5. Linux学习(1)

    Linux操作系统核心"Kernel",位于操作系统底层,是连接Shell.KDE.应用和硬件的接口,核心必须支持的管理事物: 1)系统调用接口(System Call Inter ...

  6. 常用Oracle的SQL语句20181206更新

    --clob转字符串:dbms_lob.substr() --锁表:select object_name,machine,s.sid,s.serial# from v$locked_object l, ...

  7. [Visual studio code 常见问题解决] ——中文乱码、

    中文乱码问题解决 描述:刚开始安装VScode要打开含中文的文件,都会出现乱码,这时只要点击右下方的“UTF-8”改成“GB2312”即可.但每次都改是很麻烦的,所以要使得VScode默认支持GB23 ...

  8. angularjs 判断是否包含 permIDs|filter:'10'

    <div class="span12 tools">                <ul class="row-fluid" id=&quo ...

  9. 【转】mvc

    又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联系到一起了. 这两个东西我接触有几年了,有一点体会,表达一下: ...

  10. 启停无线网卡bat脚本

    @echo off color 2 title 启停无线网卡 echo 启动无线网卡=======>按1键 echo 关闭无线网卡=======>按2键 set /p n= if /i & ...