2017-10-25 6 views
0

나는 GWT를 배우기 시작하고 아주 간단한 프로젝트를 만들었다. 하지만 슈퍼 데브 모드에서 프로젝트를 실행하고 브라우저에서 첫 페이지를로드 할 때, Eclipse에서 콘솔이 표시 오류 : 다른 게시물에서내가 가지고있는 Servlet-API 버전을 확인하고 변경하는 방법은 무엇입니까?

NoSuchMethodError: javax.servlet.http.HttpServletResponse.getHeader(String) NoSuchMethodError: javax.servlet.http.HttpServletResponse.isAsyncStarted(String)

, 나는 내 서블릿 API를 확인해야 이해 버전이고 이전 버전을 사용하고있을 가능성이 높습니다.

내가 가지고있는 Servlet-API 버전을 확인하고 변경하는 방법은 무엇입니까? 내가 다른 게시물에서 읽은 것에서 나는 내가해야 할 일을 이해하지 못한다.

Google App Engine SDK 1.9.58을 사용하고 있습니다.

Manifest-Version: 1.0 Created-By: blaze-singlejar Build-GPlatform: gcc-4.X.Y-crosstool-v18-llvm-grtev4-k8

그래서 그것이 내가 가지고있는 서블릿 API 버전 말하지 않는 다음 SDK> 서블릿 - api.jar을> META-INF 폴더에서 내용이있는 MANIFEST.MF 파일이있다.

동일한 패키지에는 HttpServletResponse 클래스가 있지만 분명히이 두 가지 메소드가 없습니다.

+0

서블릿 API 버전은'session.getServletContext(). getMajorVersion() 및 session.getServletContext()로 가져올 수 있습니다. getMinorVersion()' 서블릿 jar/여러 서블릿 API jar 문제가 누락 된 것 같습니다. –

+0

@RohitGaikwad 어떻게 세션 개체에 액세스 할 수 있습니까? \t이 메인 메서드를 만들었지 만 세션을 인식하지 못합니다. public static void main (String [] args) { \t \t session.getServletContext(). getMajorVersion(); \t} – bretondev

+0

HttpSession을 가져 오려면 서블릿이 필요합니다. https://www.javatpoint.com/http-session-in-session-tracking을 확인하십시오. 그렇지 않으면 서블릿 API jar를 탐색하여 API 버전을 확인할 수 있습니다. https://stackoverflow.com/questions/3913485/how-do-i-know-what-version-of-servlet-api-jar-i-have –

답변

0

나는 GWT의 SDK 2.5.1을 사용하는 대신 GWT SDK 2.82로 내 문제를 해결 주셔서 감사합니다. 100 % 확신 할 수는 없지만, GWT SDK는 버전 2.6.0에서 Servlet 3.0을 사용한다고 생각합니다. 낮은 버전은 내 GAE 버전 (Google App Engine SDK 1.9.58)과 호환되는 Servlet 2.5를 사용합니다.