0

我正在尝试通过调用来解析HttpServletRequestDate: Tue, 15 Nov 1994 08:12:31 GMT的 HTTP 标头,但得到以下异常:request.getDateHeader("Date")

java.lang.NumberFormatException: Tue, 15 Nov 1994 08:12:31 GMT
    at org.mortbay.io.BufferUtil.toLong(BufferUtil.java:106) 
    at org.mortbay.jetty.HttpFields$Field.getLongValue(HttpFields.java:1479)
    at org.mortbay.jetty.HttpFields.getLongField(HttpFields.java:720)
    at org.mortbay.jetty.Request.getIntHeader(Request.java:728)
    at javax.servlet.http.HttpServletRequestWrapper.getIntHeader(HttpServletRequestWrapper.java:106)
    at javax.servlet.http.HttpServletRequestWrapper.getIntHeader(HttpServletRequestWrapper.java:106)
    at com.google.appengine.tools.development.ResponseRewriterFilter$RequestWrapper.getDateHeader(ResponseRewriterFilter.java:417)
    at com.example.ExampleServlet.doPost(ExampleServlet.java:93)

我究竟做错了什么?示例日期直接取自HTTP 规范,因此我希望它在 RFC 1123 下有效。servlet 是 App Engine 应用程序的一部分(在开发服务器上)。

4

1 回答 1

1

这是应用引擎库中的一个已知错误这是有问题的getDateHeader函数,它清楚地调用了super.getIntHeader(). 不幸的是,谷歌似乎并不急于修复它。

于 2014-05-09T11:21:37.310 回答