2014-04-14 1 views
0

안녕하세요 데이터베이스 연결 클래스가 있습니다. 이 클래스는 동적 웹 프로젝트의 일부입니다. Tomcat 서버에서 로컬로 웹 프로젝트를 실행하고 있으며 더비 서버에 연결하려고합니다. derby와 tomcat에 대한 모든 외부 파일을 가져 왔으며 두 서버가 모두 실행 중입니다. 나는이 라인에서 내 응용 프로그램을 실행할 때 나는 계속 실패NamingContext를 데이터 소스에 캐스트 할 수 없습니까?

ds = (DataSource) ctx.lookup("java:/comp/env"); 

이 내가이 코드

public DatabaseConnection() throws ServiceLocatorException{ 
try{ 
      ctx = new InitialContext(); 
      System.out.println("We are trying to connect to the Derby server: "); 
      ds = (DataSource) ctx.lookup("java:/comp/env"); 
      logger.info("Database found:"+ds.toString()); 
     }catch(NamingException e){ 
      logger.severe("Cannot find context, throwing exception"+e.getMessage()); 
      e.printStackTrace(); 
      throw new ServiceLocatorException(); 
     } 
} 

나는 예외에서 조각입니다

import java.sql.Connection; 
import java.sql.SQLException; 
import java.util.logging.Logger; 

import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
import javax.sql.DataSource; 

수입 한 패키지입니다 이게 뭐니?

java.lang.ClassCastException: org.apache.naming.NamingContext cannot be cast to javax.sql.DataSource 

무엇을해야할지 모르겠습니다.

+0

http://stackoverflow.com/questions/11631839/what-is-javacomp-env – iMBMT

+0

참조 http://stackoverflow.com/questions/3327420/jdbc-jndi-problem-with-tomcat-6-0 -26 –

답변

0

web.xml에 resource-ref 항목을 추가했기를 바랍니다.

또한 웹 응용 프로그램에 META-INF/context.xml 파일이 포함되어 있습니다.

관련 문제