Исключение ошибки StringIndexOutOfBoundsException при запуске приложения GWT на Tomcat

#java #exception #gwt #tomcat

#java #исключение #gwt #tomcat

Вопрос:

Я получаю следующую ошибку при запуске моего приложения GWT на Tomcat. При запуске его на Jetty оно работает нормально. Я не использую charAt функцию в своем коде.

Как я могу отследить эту ошибку?

 SEVERE: Unexpected error
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
        at java.lang.String.charAt(Unknown Source)
        at com.google.gwt.autobean.server.impl.JsonSplittable.create(JsonSplitta
ble.java:35)
        at com.google.gwt.autobean.shared.impl.StringQuoter.split(StringQuoter.j
ava:35)
        at com.google.gwt.autobean.shared.AutoBeanCodex.decode(AutoBeanCodex.jav
a:520)
        at com.google.gwt.requestfactory.server.SimpleRequestProcessor.process(S
impleRequestProcessor.java:121)
        at com.google.gwt.requestfactory.server.RequestFactoryServlet.doPost(Req
uestFactoryServlet.java:118)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:470)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcesso
r.java:864)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:16
65)
        at java.lang.Thread.run(Unknown Source)
  

Комментарии:

1. это не ваш код, а из Google .. code.google.com/p/google-web-toolkit/source/browse/trunk/user /… . Интересно, как это работает на Jetty… есть ли какой-либо параметр, который вы не передаете tomcat? Или, может быть, вы передаете параметр, но пустой и ненулевой -> «».

2. @hanumant: Параметры одинаковы для Jetty и Tomcat.

Ответ №1:

Эта ошибка означает, что ваш сервлет получает пустое тело запроса (без длины, пустая строка). Вероятно, что-то не так в вашей настройке Tomcat, которая удаляет тело запроса до того, как оно достигнет вашего сервлета. Трудно сказать, и я не очень разбираюсь в Tomcat.

Ответ №2:

Это работает после очистки рабочей папки Tomcat.