У меня есть приложение, которое использует j_security для аутентификации на основе форм.Когда приложение развертывается впервые (или перезапускается кот), пользователь получает это исключение при попытке доступа к защищенному контенту напрямую (без входа в систему).
GRAVE: Servlet.service() for servlet [default] in context with path [/mycontext] threw exception [Could not initialize class javax.servlet.http.Cookie] with root cause
java.lang.NoClassDefFoundError: Could not initialize class javax.servlet.http.Cookie
at org.apache.catalina.core.ApplicationSessionCookieConfig.createSessionCookie(ApplicationSessionCookieConfig.java:127)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2875)
at org.apache.catalina.connector.Request.getSession(Request.java:2307)
at org.apache.catalina.connector.RequestFacade$GetSessionPrivilegedAction.run(RequestFacade.java:216)
at org.apache.catalina.connector.RequestFacade$GetSessionPrivilegedAction.run(RequestFacade.java:205)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:894)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:909)
at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:238)
at com.mycompany.myfilter.SaasComponentImpl.getTenantId(SaasComponentImpl.java:284)
Исключительное поведение - перенаправить пользователя в форму входа, а когда пользователь входит в систему, перенаправить его на запрошенный защищенный ресурс.
Но странная вещь заключается в том, что это работает правильно, если первый запрос, отправленный на перезагруженный сервер, запрашивает форму входа !!!Похоже, что после этого tomcat правильно находит и загружает класс cookie, а затем все запросы обрабатываются должным образом.
Почему tomcat не может найти класс Cookie, который наверняка находится в lib / servlet-api.jar?ИМХО, нет метра, когда этот класс запрашивается для загрузки в первый раз ... он должен быть там для любого клапана, сервлета, фильтра и т. Д ... Я прав?
PS: Это былонормально работал до переноса приложения с tomcat 6.