【问题标题】:Why is putting Java code inside JSP encouraged?为什么鼓励将 Java 代码放入 JSP 中?
【发布时间】:2018-09-19 06:19:09
【问题描述】:

晚上好,

我目前正在德国的一所学术机构(不是大学)获得编程学位。我们还在那里使用 Java ee 进行 Web 开发。这个特定的课程从使用 Servlet 开始,然后发展到 JSP。使用 servlet 处理业务逻辑,然后使用 jsp 打印这些结果并使用 jsps 提供的一些基本内容(例如循环集合)似乎是有意义的。但是最近我们更深入地研究了 JSP 的世界并做了 scriptlet 和类似的事情,归结为将越来越多的业务逻辑放入 jsp 文件并完全放弃 servlet。而这种Java代码和业务逻辑的纠葛,以及这样做的赞誉,有些超出我的想象。我一直认为 Web 应用程序开发的主要目标之一是将主要业务逻辑与前端事务分离(这是 django 及其模板语言做得很好的事情,恕我直言)。

我觉得这个想法有点令人难以置信,一方面他们教导我们在一个主题中编码时要牢记松散耦合,而在另一个主题中,我们被教导将越来越多的业务逻辑移动到模板中。 更让我困扰的是,如果有人在谷歌上搜索一些 java ee 问题的解决方案,大量的结果显示了模板文件中发生大量逻辑的解决方案,这在某种程度上证实了模板和编程语言的这种混合似乎是在 ee 世界中一种公认的做事方式/鼓励有抱负的开发人员采用这种做法。

现在,据我所知,用于 web 的 java 似乎不再那么重要了,如果您查看最流行的 webapps,几乎没有一个是用 java 实现的,但前面提到的方面总是让我感到惊讶。

所以这里的具体问题是,为什么模板和业务逻辑之间的这种高度耦合在 java ee 中被认为是好的实践?

您好, 脱发性

【问题讨论】:

  • 我认为相反,在 JSP 页面中包含 java 代码是一种非常糟糕的做法。有一种特定技术 (JSTL) 可以方便地在没有 Java 代码的情况下创建 JSP 页面。 JSTL 1.0 版可以追溯到 2004 年!

标签: java jsp web-applications


【解决方案1】:

实际上,这不是一个好习惯。我认为您可以在 Internet 上找到的许多代码都是以错误的方式编写的,原因有很多:可能是为了测试某些功能而开发的,而不是在生产环境中部署,没有评估松散耦合、质量问题等。此外,对于各种问题,我总是要在互联网上搜索。大多数时候我找到了解决方案,它缺乏类耦合、不安全的方法等。关键是:不要把你可以在互联网上找到的这段代码作为如何完成某事的例子。只需将此代码用作如何解决您遇到的问题的建议,并在您的生产代码中应用该代码的改进版本。这不仅适用于 JSP 或 Java,而且更普遍地适用于您可以阅读的每一种代码。永远记住,您在 Google 的帮助下在某处找到的代码可能是一个快速的“反复试验”驱动的代码,它永远不会投入生产,也永远不会改变。作为开发人员,您的工作不是复制和粘贴该代码,而是以尽可能可维护的方式组织该代码。我鼓励你看看 SOLID 原则。对我来说,SOLID 原则强制执行解耦和其他有助于编写更好代码的方面,当您编写真实世界的产品时,这一点非常重要,因为您可能会在未来很多时间对其进行更改。互联网示例不是为了改进而设计的,只是为了快速理解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多