我試圖爲HttpServletRequest與呼叫HTTP頭Date: Tue, 15 Nov 1994 08:12:31 GMT
解析到request.getDateHeader("Date")
但得到下面的異常時:異常解析RFC1123日期的HttpServletRequest#getDateHeader()
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 specification,所以我期望它在RFC 1123下有效。該servlet是App Engine應用程序(位於開發服務器上)的一部分。
您是否修剪了堆棧跟蹤?它不包含對'getDateHeader'的引用或您可能編寫的任何代碼。你能編輯你的問題,包括你寫的代碼和更完整的堆棧跟蹤嗎? – Kenster
@Kenster我從堆棧跟蹤中添加了幾行(並將我的實際類名稱模仿爲ExampleServlet)。如您所見,該servlet託管在Google App Engine上。如果需要,我還可以發佈完整跟蹤。 'doPost()'內的實際調用如下所示:'Date date = new Date(request.getDateHeader(「Date」))''。 – Drux