Programing

web.xml의 resource-ref는 무엇에 사용됩니까?

crosscheck 2020. 8. 6. 07:55
반응형

web.xml의 resource-ref는 무엇에 사용됩니까?


파일 <resource-ref>에서 요소를 언제 / 왜 정의해야하는지 궁금 web.xml합니다.

JNDI를 사용하여 웹 / 응용 프로그램 서버에서 정의 한 다음 Java 코드에서 JNDI 참조를 조회한다고 생각 했습니까?

resource-ref 정의는 나에게 약간 중복되는 것처럼 보이며 그것이 유용 할 때 생각할 수 없습니다. 예:

<resource-ref>
  <description>Primary database</description>
  <res-ref-name>jdbc/primaryDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>CONTAINER</res-auth>
</resource-ref>

컨테이너에 구성된 JNDI 이름으로 응용 프로그램의 리소스를 항상 직접 참조 할 수 있지만 그렇게하면 컨테이너 특정 이름을 코드에 연결해야합니다. 예를 들어, 어떤 이유로 나중에 이름을 변경하려면 모든 응용 프로그램에서 모든 참조를 업데이트 한 다음 다시 작성하고 재배치해야합니다.

<resource-ref>web.xml 에서 사용하려는 이름을 지정 하고 컨테이너에 따라 컨테이너 구성 파일에 바인딩을 제공 합니다.

그래서 여기에 무슨 일이 생겼는지 : java:comp/env/jdbc/primaryDB이름 을 찾고 싶다고합시다 . 컨테이너는 web.xml 에 대한 <resource-ref>요소 있음을 발견 jdbc/primaryDB하므로 컨테이너 특정 구성을 살펴보고 다음과 유사한 것을 포함합니다.

<resource-ref>
  <res-ref-name>jdbc/primaryDB</res-ref-name>
  <jndi-name>jdbc/PrimaryDBInTheContainer</jndi-name>
</resource-ref>

마지막으로 이름으로 등록 된 객체를 반환합니다 jdbc/PrimaryDBInTheContainer.

아이디어는 자원을 지정하는 것입니다 web.xml을하는 분리의 장점이 개발자 로부터 역할 전개의 역할을. 즉, 개발자는 프로덕션에서 필요한 리소스가 실제로 무엇인지 알 필요가 없으며 응용 프로그램을 배포하는 사람은 실제 리소스에 매핑 할 멋진 이름 목록을 갖게됩니다.

참고 URL : https://stackoverflow.com/questions/2887967/what-is-resource-ref-in-web-xml-used-for

반응형