为什么我们不应该将JSP用于业务层?
性能如何? 或者这只是一个好习惯? 当然可重用性是一个原因。除此之外,为什么我们应该将jsp用于业务层呢?
答案 0 :(得分:8)
有几个原因:
还有更多内容,但归结为scriptlet是一种糟糕的做法。
您可以使用JSTL和EL在表示层做相当多的工作。如果你发现它们中的任何一个都不可能并且你被迫抓取scriptlet,那么代码逻辑最终属于真正的 Java类。您可以使用Servlet
类来控制/预处理/后处理请求,您可以使用Filter
类来过滤请求,您可以使用DAO
类来进行数据库交互,您可以使用Javabean
类来存储/传输/访问数据,您可以使用Domain
类作为业务逻辑,可以使用Utility
类作为静态工具。
答案 1 :(得分:1)
通常的原因是关注点分离。您应该可以轻松修改演示文稿,而不会影响业务层。
答案 2 :(得分:0)
可重用性和可维护性是一个巨大的问题。
考虑以下情况;
想象一下,你想创建一个iPhone 您有应用程序的版本 将所有业务逻辑移植到 iPhone,现在让我们有一个Eclipse RCP的前端 应用程序和基于Flash;然后与基于Python的系统集成。
因为业务逻辑和 演示文稿在同一个文件中, 创意Web开发人员必须这样做 如果他要去学习一些Java 无需创建最佳界面 打破了申请。
答案 3 :(得分:0)
如果您制作的应用程序超过5页,混合逻辑和演示可能会让您的生活更加艰难。但是这里有一个不受欢迎的观点 - 对于小型应用程序(甚至是中型应用程序),只有一个“知道他的代码”的开发人员,可以将JSP用于商务逻辑。可以将jsps放在/action/
文件夹中,稍后重定向到表示文件夹,或者它可以是请求来自的jsps。我有一个例子 - 在我的开发实践开始时,我制作了一个基于网络的策略游戏,几乎完全基于自我发布的jsps。那是5年前的事了。几个星期前,我看了我的代码库,我可以理解一切。因此,如果您刚刚开始,并且您不想从一个大框架开始,这将使您的学习曲线更加陡峭,并且您不希望您的项目非常大或变得商业化(旁注:我的商业变得商业化)在某一点上),然后随意使用jsps进行业务逻辑,但建议这不是常见情况下的好习惯。