【问题标题】:How do Django concepts map to Java, servlets, Struts 1 and JSP pages?Django 概念如何映射到 Java、servlet、Struts 1 和 JSP 页面?
【发布时间】:2013-06-20 07:31:10
【问题描述】:

我正在学习 Java Web 开发课程,但我对 Django 的经验要丰富得多。我知道有些概念是相似的,但它们被组合在不同的层和不同的名称中。

Django 概念如何映射到 Java 或反之亦然,JSP 页面、Struts 1.x 动作和 FormBeans 在哪里适合 Django 层?

【问题讨论】:

  • 将 Django 与 Java、servlet、JSP 和 Struts 进行比较有点奇怪。 Struts 只是众多Java Web Application frameworks中的一个。
  • @informatik01 正如我所说,我正在上课,它正在使用 Struts 向我们介绍 Java Web 开发。这也是我将答案设为社区 wiki 答案的原因,因此可以添加有关其他框架的更多信息。
  • 好的,现在我明白你的意思了。除了您的问题中的 Struts 之外,看到不同技术之间的相似性/等效性非常有趣。 +1。
  • 正确回答这个问题需要知道您所针对的 Struts 版本。你明确提到了form beans,这让我相信你的意思是Struts 1——一个最近停产的产品,多年来没有看到任何新的发展,永远不应该考虑用于新项目或教育:它的发展模式落后于时代十年。 Struts 2 完全是一个不同的框架。

标签: java django jsp servlets struts-1


【解决方案1】:

Django 概念

Django's documentation 列出了这些概念:

  • 型号
  • 查看课程
  • 模板
  • 模板标签
  • url conf,url 路由
  • 表格

Java Web 开发概念

对于 Java EE 和 servlet,我们有以下想法:

  • 小服务程序
  • 动作(支柱)
  • JSP 页面
  • FormBean
  • DynamicFormBean
  • web.xml
  • struts-config.xml

将 Java 映射到 Django

重要提示:这些概念映射只是近似值。 Java 概念可能允许更多或更少的功能。

JavaBeans 是您的模型,业务逻辑发生在这里。

Django 中的 URLConf 近似于 web.xml 和 struts-config.xml 文件。 web.xml 文件允许您将 url 映射到 servlet 和 JSP 页面 among other thingsstruts-config.xml 文件将 URL 映射到 Struts Action 类 among other things。这是how to write Action mappings

Action 类和 servlet 类是 视图。在 Django 术语中,struts Action class 和 servlet 接近于处理最基本调度方法的 View 类。 The struts ActionForm classes 更接近于 FormView,请求参数被处理成表单并进行验证。

ActionForm bean 类似于 Django Form 类。您可以在struts-config.xml 文件中定义这些表单,这是在 Django 中无法做到的。

JSP 页面类似于模板并且可以访问模板标签。模板语言称为Expression Language,内置模板标签和过滤器是JSTL (JavaServerPages Standard Tag Library 的一部分。您可以通过关注this guide来实现自定义模板标签。

在使用 Struts 时,Struts Tag Library 也可以视为一组内置模板标签。

Struts Tiles 组件与 Django 模板语言更相似,具有可扩展和替换的组件(也称为“块”)。

Internationalization is handled by using a properties file。这类似于在 Django 中使用 GNU gettext 文件并为您想要支持的每种语言创建新的翻译文件。

可以阅读this answer for information about session management,相当于Django的Sessions中间件。

【讨论】:

  • 注意:传统上 servlet 与 MVC 模式中的 Controllers 相关,而 JSP 与 View 相关。
  • 是的,django 有一个奇怪的 MVT 模式,当你在其他地方使用 MVC 时会感到困惑:/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
  • 2017-02-21
相关资源
最近更新 更多