【发布时间】: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