JSP - URL&参数错误记录

时间:2013-03-05 13:58:06

标签: jsp logging

是否可以记录正在访问的确切URL以及传递的参数?我从使用相同jsp文件名的多个站点记录了一系列错误。我似乎无法复制我的开发盒上的服务器错误,所以我想尽可能多地记录以尝试缩小问题。

我得到的错误是:

    01-Mar-2013 21:37:58 org.apache.catalina.core.ApplicationDispatcher invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    java.lang.NullPointerException
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:991)
    at java.lang.Double.valueOf(Double.java:475)
    at org.apache.jsp.product_jsp._jspService(product_jsp.java:212)

如果可以确定试图访问的内容,我可以解决错误,如果有意义的话。

非常感谢任何帮助: - )

1 个答案:

答案 0 :(得分:0)

您可以在web.xml中定义错误处理程序页面,如下所示:

<error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/...</location>
</error-page>

并在该页面/ servlet中记录原始请求信息。它应该可用,因为根据Servlet规范

  

如果错误处理程序的位置是servlet或JSP页面:

     

■容器创建的原始未包装的请求和响应对象是   传递给servlet或JSP页面。

     

■请求路径和属性设置为RequestDispatcher.forward   错误资源已经执行。

因此,您可以使用getRequestURL()或其他方法或任何请求属性javax.servlet.error.status_codejavax.servlet.error.exception_typejavax.servlet.error.messagejavax.servlet.error.exceptionjavax.servlet.error.request_urijavax.servlet.error.servlet_name

获取所有需要的信息以便记录。