java:comp/env


//Obtain our environment naming context

Context initCtx = new InitialContext();

Context envCtx = (Context)initCtx.lookup("java:comp:env");


//DataSoruce를 검색

//"jdbc/mysql"은 web,xml과 context.xml에 설정되어있는 name값

DataSource ds = (DataSource)envCtx.lookup("jdbc/mysql");


//커넥션 풀로부터 커넥션 얻기

Connection c = ds.getConnection();


위의 코드에서 "java:comp:env"란?

톰캣 홈페이지의 유저가이드를 확인해 봤다.

http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html


The InitialContext is configured as a web application is initially deployed. and is made available to web application components (for read-only access). All configured entries and resources are placed in the java:comp/env portion of the JNDI namespace


java:comp/env 는 웹어플의 구성된 엔트리와 리소스들이 배치되어있는 부분.

그래서 이것에 접근을 하여 web.xml의 <resource-env-ref>에 설정한 jdbc/mysql과 매핑되는 리소스를 가져온다.


톰캣의 리소스 팩토리를 구성하기 위해 <Context>엘리먼트를 추가해야한다. 일종의 추가 정보를 추가한다고 이해하면 된다.




출처 : https://blog.naver.com/kjy6268/50118137473

'Error > JSP' 카테고리의 다른 글

[15.11.19]Error : NAame jdbc is not bound in this Context  (0) 2018.01.02

+ Recent posts