业务层的jsp

时间:2009-12-02 07:40:11

标签: jsp

为什么我们不应该将JSP用于业务层?

性能如何? 或者这只是一个好习惯? 当然可重用性是一个原因。除此之外,为什么我们应该将jsp用于业务层呢?

4 个答案:

答案 0 :(得分:8)

有几个原因:

  1. 可重用性:您无法重用scriptlet。
  2. 可替换性:您不能将scriptlet抽象化。
  3. OO-ability:你不能使用继承/组合。
  4. 可调试性:如果scriptlet中途抛出异常,你得到的只是一个空白页面。
  5. 可测试性:scriptlet不是可单元测试的。
  6. 可维护性:每个saldo需要更多时间来维持混杂/混乱的代码逻辑。
  7. 还有更多内容,但归结为scriptlet是一种糟糕的做法

    您可以使用JSTLEL在表示层做相当多的工作。如果你发现它们中的任何一个都不可能并且你被迫抓取scriptlet,那么代码逻辑最终属于真正的 Java类。您可以使用Servlet类来控制/预处理/后处理请求,您可以使用Filter类来过滤请求,您可以使用DAO类来进行数据库交互,您可以使用Javabean类来存储/传输/访问数据,您可以使用Domain类作为业务逻辑,可以使用Utility类作为静态工具。

答案 1 :(得分:1)

通常的原因是关注点分离。您应该可以轻松修改演示文稿,而不会影响业务层。

答案 2 :(得分:0)

可重用性和可维护性是一个巨大的问题。

考虑以下情况;

  1. 想象一下,你想创建一个iPhone 您有应用程序的版本 将所有业务逻辑移植到 iPhone,现在让我们有一个Eclipse RCP的前端 应用程序和基于Flash;然后与基于Python的系统集成。

  2. 因为业务逻辑和 演示文稿在同一个文件中, 创意Web开发人员必须这样做 如果他要去学习一些Java 无需创建最佳界面 打破了申请。

答案 3 :(得分:0)

如果您制作的应用程序超过5页,混合逻辑和演示可能会让您的生活更加艰难。但是这里有一个不受欢迎的观点 - 对于小型应用程序(甚至是中型应用程序),只有一个“知道他的代码”的开发人员,可以将JSP用于商务逻辑。可以将jsps放在/action/文件夹中,稍后重定向到表示文件夹,或者它可以是请求来自的jsps。我有一个例子 - 在我的开发实践开始时,我制作了一个基于网络的策略游戏,几乎完全基于自我发布的jsps。那是5年前的事了。几个星期前,我看了我的代码库,我可以理解一切。因此,如果您刚刚开始,并且您不想从一个大框架开始,这将使您的学习曲线更加陡峭,并且您不希望您的项目非常大或变得商业化(旁注:我的商业变得商业化)在某一点上),然后随意使用jsps进行业务逻辑,但建议这不是常见情况下的好习惯