如何使来自已编译JSP的堆栈跟踪包含来自实际JSP文件的行号,而不是中间的Servlet java文件?
我正在使用Jetty 8。我目前正在以编程方式使用Jetty实例。
(如果对行号支持内容感兴趣,我使用Eclipse进行编码,我不太理解JSR-45 SMAP逻辑-它是一个"side car“文件,还是将此信息放在实际的类文件中?)
将调试,断点工作,重新。JSPs?
发布于 2012-01-10 23:00:26
更新:2017年6月
Jetty 9不再使用Glassfish JSP。
它使用Apache Jasper JSP,同样的规则适用于下面。
原始答案
Jetty使用Glassfish项目中的JspServlet来管理其所有的JSP处理。
在JspServlet (请参阅${jetty.home}/etc/webdefault.xml内容)上有3个初始化参数可能会有所帮助。
将所有这些开发时间设置都设置为true,您应该会看到更多信息。以及具有要引用的中间源文件。这个生成的源文件包含一行注释掉的jsp源文件,然后是生成的java源文件,您还可以使用它来反向引用引起异常的jsp行。
还要注意,Glassfish的JspServlet也使用java.util.logging作为其底层日志记录基础设施。要查看JspUsage的所有细节(包括jsp行号),请尝试在最好的级别为"org.apache.jasper“包空间设置java.util.logging。
https://stackoverflow.com/questions/8770876
复制相似问题