5

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

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

4

1 回答 1

8

Django 概念

Django 的文档列出了这些概念:

  • 楷模
  • 查看课程
  • 模板
  • 模板标签
  • url conf,URL 的路由
  • 形式

Java Web 开发概念

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

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

将 Java 映射到 Django

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

JavaBeans 是您的模型,业务逻辑发生在其中。

Django 中的 URLConf 近似于 web.xml 和 struts-config.xml 文件。该web.xml文件允许您将 url 映射到 servlet 和 JSP 页面。该struts-config.xml文件将 URL 映射到 Struts Action 类等等。以下是如何编写动作映射

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

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

JSP 页面类似于模板并且可以访问模板标签。模板语言称为表达式语言,内置模板标签和过滤器是JSTL(JavaServerPages 标准标签库)的一部分。您可以按照本指南实现自定义模板标签。

在使用 Struts 时,Struts 标签库也可以被认为是一组内置的模板标签。

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

国际化是通过使用属性文件来处理的。这类似于在 Django 中使用 GNU gettext 文件并为您想要支持的每种语言创建新的翻译文件。

您可以阅读此答案以获取有关会话管理的信息,该信息等效于 Django 的 Sessions 中间件。

于 2013-06-23T20:27:17.970 回答