| 컨텍스트의 자동설정(Automatic Context Configuration) |
만약 표준 Context 구현체를 사용하고 있다면, Catalina가 기동될 때 또는 이 웹어플리케이션이 재적재될 때 다음의 설정단계 들이 자동으로 수행됩니다. 이 기능은 특별한 설정이 필요치 않습니다.
- 만일 Loader 엘리먼트를 선언하지 않았다면 표준 웹어플리케이션 클래스로더로 설정됩니다.
- 만일 Manager 엘리먼트를 선언하지 않았다면 표준 세션관리자로 설정됩니다.
- 만일 Resources 엘리먼트를 선언하지 않았다면 표준 자원관리자로 설정됩니다.
conf/web.xml에 나열된 웹어플리케이션 프로퍼티들이 이 웹어플리케이션의 디폴트 값으로 처리됩니다. 이 파일은 디폴트 매핑(*.jsp 확장자를 해당 JSP 서블릿으로 매핑하는 등의), 그리고 모든 웹어플리케이션에 적용될 다른 표준 기능들을 정하는 데 사용됩니다.
- 이 웹어플리케이션에 대한
/WEB-INF/web.xml 파일에 나열된 웹어플리케이션 프로퍼티들이 처리됩니다(이 파일이 있는 경우).
- 만일 당신의 웹어플리케이션에서 사용자 인증을 요구하는 보안조건을 지정했다면, 당신이 선택한 로그인 방법을 적절히 구현한 인증자(Authenticator)가 설정됩니다.
|
| 자원 파라미터(Resource Parameters) |
이 엘리먼트는 웹어플리케이션에서 해당 자원의 이름에 대해 JNDI 탐색을 수행할 때, 객체를 반환하는데 사용할 자원관리자(또는 객체팩토리)를 설정하는 역할을 합니다. $CATALINA_HOME/conf/server.xml의 <Context>나 <DefaultContext> 엘리먼트 내의 <Resource> 엘리먼트로 지정된 모든 자원 이름, 그리고/또는 웹어플리케이션 배치 디스크립터에서 <resource-ref> 나 <resource-env-ref> 엘리먼트에서 선언된 모든 자원 이름에 대해서는 반드시 자원 파라미터(resource parameters)를 정의해야 그 자원에 성공적으로 액세스할 수 있습니다.
자원 파라미터는 이름으로 정의되며, 정확하게 어떤 파라미터 이름들의 집합을 지원하는가는 당신이 사용하고 있는
자원관리자(또는 객체팩토리)에 따라 달라집니다. 즉 해당 팩토리 클래스의 JavaBeans 프로퍼티 중
설정가능한(settable) 프로퍼티의 이름과 일치해야 합니다. JNDI 구현체는 지정한 팩토리 클래스의 인스턴스에 대해
JavaBeans의 모든 해당 속성 설정메소드를 호출함으로써 모든 설정을 마친 다음에야, 이 팩토리 인스턴스를 JNDI lookup() 호출을 통해 사용가능하도록 할 것입니다.
예로 JDBC 데이터 소스에 대한 자원 파라미터 설정은 아래와 같이 됩니다:
 |
 |
 |
 |
<Context ...> ... <ResourceParams name="jdbc/EmployeeDB"> <parameter> <name>driverClassName</name> <value>org.hsql.jdbcDriver</value> </parameter> <parameter> <name>url</name> </value>jdbc:HypersonicSQL:database</value> </parameter> <parameter> <name>user</name> <value>dbusername</value> </parameter> <parameter> <name>password</name> <value>dbpassword</value> </parameter> </ResourceParams> ... </Context>
|
 |
 |
 |
 |
만약 특정 자원 타입에 대해 팩토리 클래스의 Java 클래스명을 지정할 필요가 있다면, <ResourceParams> 엘리먼트 내의 <parameter> 항목에 factory라는 이름을 사용하면 됩니다.
<ResourceParams> 엘리먼트가 가질 수 있는 속성은 다음과 같습니다:
| 속성 |
설명 |
name |
설정할 자원의 이름이며, java:comp/env 컨텍스트에 대한 상대적인 이름이 됩니다. 이 이름은 $CATALINA_HOME/conf/server.xml 내에 <Resource> 엘리먼트로 정의된 자원, 그리고/또는 웹어플리케이션 배치 디스크립터 내에 <resource-ref> 또는 <resource-env-ref>로 참조되는 자원의 이름과 반드시 일치해야 합니다. | |
| 자원링크(Resource Links) |
이 엘리먼트는 어떤 전역 JNDI 자원으로의 링크를 생성하는데 사용합니다. 그 연결명에 대하여 JNDI 탐색을 실행하면 링크된 전역자원이 반환됩니다.
예를 들어 다음과 같이 자원링크를 생성할 수 있습니다:
 |
 |
 |
 |
<Context ...> ... <ResourceLink name="linkToGlobalResource" global="simpleValue" type="java.lang.Integer" ... </Context>
|
 |
 |
 |
 |
<ResourceLink> 엘리먼트가 가질 수 있는 속성은 다음과 같습니다:
| 속성 |
설명 |
global |
전역 JNDI 컨텍스트내의 링크된 전역자원의 이름. |
name |
생성할 자원링크의 이름이며, java:comp/env에 대한 상대적인 이름입니다. |
type |
이 자원링크에 대해 탐색을 실행할 때 웹어플리케이션이 기대하는 완전한 Java 클래스명. | | |
댓글을 달아 주세요