빼꼼이 보기 위치로그  |  태그  |  방명록
왜 db connection을 얻을 때 context에서 datasource를 context lib 에 jdbc lib 를 놓으면 되지 않은 것일까?
분류없음 | 2010/01/18 18:13
2010/01/18 18:13 2010/01/18 18:13
tomcat 5  에서  datasource를 이용해서 JDBC를 사용할 때 {catalina.HOME}/common/lib
에 놓아야만 정상적으로 DB에 접근할 수 있을까?
왜 context.HOME/web-inf/lib 에 jdbc  lib 를 놓으면 classNotFound Exception 이 나오는 것일까? 에 대한 해답입니다.
1. tomcat classloader relation
      Bootstrap
|
System
|
Common
/ \
Catalina Shared
/ \
Webapp1 Webapp2 ...

2.class relation 에서 적용되는  class 위치는 다음과 같습니다.
Bootstrap-System-Common --> {catalina.HOME}/common/lib, 시스템 classpath
Webapp1, Webapp2-->context.HOME/web-inf/lib
3. datasource가 context.xml의 설정을 통해서 실행될 때 적용 되는 class path는
Bootstrap-System-Common 입니다.
이 때 jdbc lib 가 context.HOME/web-inf/lib 에만 저장되어 있을 때는 접근할 수 없는 것이지요.
하지만  context를 통해서 접근하지 않고 JSP 상에서 직접 JDBC에 접촉하면  context.HOME/web-inf/lib 에 jar를 놓아 두어도  ClassNotFoundException은 발생하지 않습니다.

관련된 source는 첨부





태그 : , ,
트랙백0 | 댓글0
이 글의 관련글(트랙백) 주소 :: http://epr.pe.kr/tc/epr/trackback/32

[로그인][오픈아이디란?]
아이디 :
비밀번호 :
홈페이지 :
  비밀글로 등록
내용 :
 



[PREV] [1] ... [13][14][15][16][17][18][19][20][21] ... [31] [NEXT]
관리자  |   글쓰기
BLOG main image
Web 개발자 입니다.<br/> 그러나 기술보다는 사람에 관심이 더 많습니다. <br/> 기술적인 글보다는 그간 읽은 인문학 서적에 대한 서평을 적습니다.
전체 (31)
reviews (15)
그냥.. 끄적끄적 (4)
등산 (2)
신앙 (2)
유림 (0)
방치된 블로그에 오셔서 이렇...
2010 - 낭만고양이
제 이름을 누르신후 홈페이지...
2010 - 이명호
절대로 영리를 목적으로 쓰는...
2010 - 이명호
안녕하세요? 여기 있는 "...
2010 - 이명호
관리자만 볼 수 있는 댓글입...
2010 - 비밀방문자
구글을 지탱하는 기술 -니시...
김재호의 디지털보단 아날로그
Total : 51378
Today : 42
Yesterday : 90
태터툴즈 배너
rss
 
 
 
위치로그 : 태그 : 방명록 : 관리자
낭만고양이’s Blog is powered by Tattertools.com / Designed by plyfly.net