0

を呼び出してHttpServletRequestの HTTP ヘッダーを解析しようとしDate: Tue, 15 Nov 1994 08:12:31 GMTていますが、次の例外が発生します。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 の下で有効であると予想されます。サーブレットは (開発サーバー上の) App Engine アプリの一部です。

4

1 に答える 1

1

これは、アプリ エンジン ライブラリの既知のバグです。これが問題のgetDateHeader関数で、明らかに を呼び出しますsuper.getIntHeader()。残念ながら、Google が急いで修正しているようには見えません。

于 2014-05-09T11:21:37.310 に答える