2010-06-10 4 views
1

서블릿 용 동적 웹 페이지를 만들었습니다. 프로젝트를 실행하려고하면 다음 오류가 발생합니다.서블릿 문제

http starus 500 

javax.servlet.ServletException: Error instantiating servlet class ch.uzh.ifi.attempto.aceeditor.MyMainServlet 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
java.lang.Thread.run(Unknown Source) 

어떻게 해결할 수 있습니까?

+1

몇 가지 코드가 도움이 될 수 있음을 나타냅니다 ... –

+0

아니요, 코드는 문제를 진절머리 나게합니다. 패키징/배포 문제입니다. – duffymo

+0

"그냥"ServletException입니다. stacktrace에 ** 근본 원인 **이 없습니까? 문제의 원인에 대해 더 자세히 알려야합니다. 추적을 자세히 살펴보고 ** 전체 ** 추적을 포함하도록 질문을 업데이트하십시오. 그리고 아니, 코드를 보여주는 전혀 도움이되지 않습니다 :) – BalusC

답변

0

다음을 확인할 수 있습니까? web.xml에 서블릿 항목이 적절합니까? (맞춤법 오류나 올바른 패키지 ...)

서블릿 클래스가 web.xml에 지정된 경로와 동일한 경로에 클래스 경로에 있습니까?

다음 중 하나와 같이 보입니다.

어떤 서버를 사용하고 있습니까? - 스택 트레이스에서 말할 수 없다

+0

스택 추적에서 Tomcat처럼 보입니다. 서블릿 코드 게시는 도움이되지 않습니다. 이것은 배포 문제입니다. – duffymo

+0

@duffymo 예 배포 문제처럼 보입니다. web.xml 항목을 알고 서블릿 이름/패키지가 정확히 동일한 지 확인하고 싶었습니다. 그게 왜 서블릿 코드를 요구했는지. 아마도 더 직접적으로 물어야 만했을 것입니다. 편집 됨. – Nivas

1

사물의 모든 숫자가 될 수 있습니다 :

  1. 서블릿을 .class 파일이 없습니다 적절한 패키지 디렉토리 구조에
  2. 서블릿의 .class 파일이 존재하지 않는
  3. 서블릿 .class 파일이 WEB-INF/classes에 없음
  4. Servlet이 web.xml에 제대로 등록되지 않았습니다.
  5. WAR 파일이 올바르지 않습니다.
  6. WAR 파일이 올바르게 배포되지 않았습니다.
  7. 서블릿을 호출하는 데 사용 된 URL이 잘못되었습니다.

나는 this으로 시작하여 단계별로 신중하게 검토하는 것이 좋습니다.

+0

그것이 도움이 되길 바란다. - 이클립스에 의존하는 것처럼 보이기 때문에 Eclipse 관련 구성 문제 일 수도있다 ... –

+0

동의 - Eclipse없이 수동으로 배포 할 수 있기 전까지는 좋지 않은 생각이다. – duffymo

0

기본 테스트 서블릿이 작동하는 것으로 나타났습니다. 기본 서블릿은 HttpServlet 클래스를 확장합니다.

실행하려는 서블릿이 WebContainerServlet 클래스를 확장하므로 이것이 오류의 원인이라고 생각합니다.

지금 얻을 오류는

javax.servlet.ServletException입니다 : 오류 할 서블릿 인스턴스 org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) ... 를 할당 모든 스택 추적을 게시해야합니까?

관련 문제