【问题标题】:Does using scriptlets affect the performance in JSP?使用 scriptlet 会影响 JSP 中的性能吗?
【发布时间】:2010-01-24 17:40:30
【问题描述】:

我读过很多关于在 JSP 中使用 JSTL 或 EL 的文章.... 我只是好奇;在 JSP 中使用 scriptlet 会影响页面的性能吗?

【问题讨论】:

    标签: java performance jsp


    【解决方案1】:

    使用 JSTL 和 EL 而不是 scriptlet 的一般建议与性能绝对无关;如果有的话,scriptlet 可能会产生更好的性能。

    但它们也会导致难以维护的“标签汤”。您应该使用 JSTL/EL,因为 JSP 应该是一个表示层并且不包含重要的逻辑。

    【讨论】:

      【解决方案2】:

      首先,使用scriptlets(使用老式的<% %> 东西在JSP 中嵌入原始Java 代码)与使用标记库(例如JSTL)和EL${} 的东西)。

      taglibs 和 EL 的性能损失实际上可以忽略不计,仅在编译过程中才明显,并且到目前为止超过使用 taglibs 和 EL 而不是 scriptlets 的优势。

      【讨论】:

      • 我怀疑你完全误解了这个问题。听起来他完全理解什么是 scriptlet,只是想知道反对使用它们以及使用 JSTL 和 EL 的建议是否是因为后者在性能方面更好...
      • 听起来像,是的 ;) 让我们看看 OP 是怎么说的,而不是用沉重的话 :)
      【解决方案3】:

      所有 JSP 标记库和 scriptlet 在执行之前都会被编译为 Java 类,因此使用其中一个几乎没有性能差异。

      【讨论】:

      • 不完全正确 - 使用 scriptlet 可能会导致调用链比使用标签略短,因为 scriptlet 基本上是编译到您的 jsp 中的 java 源代码,而标签通过另一层间接。如果在实践中甚至可以观察到,则可以忽略不计。
      • 自定义标签层很慢。如果复杂页面中的快速性能是一个问题,您可能希望将视图呈现移至旧式标签甚至​​ Java 代码。
      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2021-04-29
      • 2012-02-04
      • 2011-01-28
      • 1970-01-01
      相关资源
      最近更新 更多