Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于业务层的jsp_Jsp - Fatal编程技术网

用于业务层的jsp

用于业务层的jsp,jsp,Jsp,为什么我们不应该在业务层使用JSP 是表演吗? 或者这只是一个很好的练习? 当然,可重用性是一个原因。除此之外,我们应该在业务层使用jsp还有什么致命的原因吗?通常的原因是关注点的分离。您应该在不影响业务层的情况下轻松修改演示文稿。重用性和可维护性是其中的一些重大问题 考虑以下情况 想象一下你想要创建一个iPhone 应用程序的版本,您有 将所有业务逻辑移植到 iPhone,现在让我们有一个月食 RCP前端用于 应用程序和基于Flash的应用程序;然后与基于Python的系统集成 因为业务逻辑和

为什么我们不应该在业务层使用JSP

是表演吗? 或者这只是一个很好的练习?
当然,可重用性是一个原因。除此之外,我们应该在业务层使用jsp还有什么致命的原因吗?

通常的原因是关注点的分离。您应该在不影响业务层的情况下轻松修改演示文稿。

重用性和可维护性是其中的一些重大问题

考虑以下情况

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

  • 因为业务逻辑和 演示文稿在同一个文件中, 创造性的Web开发人员必须 如果他想学的话,就学点Java 创建最佳的界面,无需 破坏应用程序


  • 如果你正在制作一个超过5页的应用程序,混合逻辑和演示可能会让你的生活更加艰难。但我有一个不受欢迎的观点——对于小型应用程序(甚至是中型应用程序),只有一个开发人员“知道自己的代码”,使用JSP进行业务逻辑是可以的。它可以是放置在
    /action/
    文件夹中的JSP,稍后重定向到演示文稿文件夹,也可以是请求来自的同一个JSP。我有一个例子——在我开发实践的开始,我制作了一个几乎完全基于自发布JSP的基于web的战略游戏。那是5年前的事了。几周前,我看了一下我的代码库,我能理解一切。因此,如果您刚刚开始,您不想从一个大的框架开始,这个框架会使您的学习曲线更加陡峭,您也不希望您的项目变得非常大或商业化(旁注:我的项目曾一度商业化),那么您可以自由地将JSP用于业务逻辑,但请注意,在一般情况下,这不是一个好的做法。

    有几个原因:

  • 可重用性:不能重用Scriptlet
  • 可替换性:不能将Scriptlet抽象化
  • OO能力:你不能利用继承/组合
  • 可调试性:如果scriptlet中途抛出异常,那么得到的只是一个空白页
  • 可测试性:scriptlet是不可单元测试的
  • 可维护性:per saldo需要更多的时间来维护混杂/混乱的代码逻辑
  • 还有更多,但归根结底,Scriptlet是一种糟糕的做法


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

    假设我不经常改变它,因为它是一种习惯性的生物,遵循最佳实践总是很好的,因为它们被灌输到我们身上是为了价值,大约半年后,我就这个问题发布了一个更详细的答案: