我正在上 Java Web 开发课程,但我对 Django 的经验要丰富得多。我知道有些概念是相似的,但它们被组合在不同的层和不同的名称中。
Django 概念如何映射到 Java 或反之亦然,JSP 页面、Struts 1.x 动作和 FormBeans 在哪里适合 Django 层?
Django 的文档列出了这些概念:
对于 Java EE 和 servlet,我们有以下想法:
重要提示:这些概念映射只是近似值。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 中间件。