【问题标题】:JSR-45 (line numbers in JSP) support in JettyJetty 中的 JSR-45(JSP 中的行号)支持
【发布时间】:2012-01-07 15:48:25
【问题描述】:

如何获取来自已编译 JSP 的堆栈跟踪以包含来自实际 JSP 文件而不是中间 Servlet java 文件的行号?

我正在使用 Jetty 8。我目前正在以编程方式占用 Jetty 实例。

(如果对行号支持的东西感兴趣,我会使用 Eclipse 进行编码,我不太了解 JSR-45 SMAP 逻辑 - 它是一个“边车”文件,还是这个信息放在实际的类文件?)

将调试,断点工作,重新。 JSP?

【问题讨论】:

    标签: eclipse jsp jetty line-numbers


    【解决方案1】:

    更新:2017 年 6 月

    Jetty 9 不再使用 Glassfish JSP。

    它使用 Apache Jasper JSP,同样的规则适用如下。

    原答案

    Jetty 使用 Glassfish 项目中的 JspServlet 来管理其所有 JSP 处理。

    JspServlet 上有 3 个初始化参数(参见 ${jetty.home}/etc/webdefault.xml 内容)可能会有所帮助。

    • “保持生成”(布尔值)真
    • “发展”(布尔值)真
    • "classdebuginfo" (boolean) true

    将所有这些开发时间设置设置为 true,您应该会看到更多信息。 以及有中间源文件可以参考。这个生成的源文件包含一行注释掉的 jsp 源代码,然后生成的 java 源文件也可以用来反向引用你的 jsp 的哪一行导致了异常。

    还请注意,Glassfish 的 JspServlet 也使用 java.util.logging 作为其底层日志记录基础设施。要查看 JspUsage 的所有细节(包括 jsp 行号),请尝试在 FINEST 级别为“org.apache.jasper”包空间设置 java.util.logging。

    【讨论】:

    猜你喜欢
    • 2015-11-21
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    相关资源
    最近更新 更多