web.xml
서블릿리스너, 서블릿, 서블릿매핑, 서블릿필터, 서블릿필터매핑 등이 web.xml 에 정의되어 있다.
서블릿매핑 : URL 로 들어오는 이름에 따른 정의를 하고 이에 따라 실행될 서블릿을 지정한다.
<servlet>
<servlet-name>HttpServiceStartpoint </servlet-name>
<servlet-class>gpsb.service.http.HttpServiceStartpoint</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name> HttpServiceStartpoint </servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
이 예제에서 보듯이 /service/ 이라는 URL 로 들어오는 모든 요청은 gpsb.service.http.HttpServiceStartpoint 라는 서블릿이 받게 된다. 서블릿 리스너와 필터에 대한 설정은 아래와 같다. 프로젝트에 따라서 서로 다르겠지만~~
<listener>
<listener-class>gbsb.service.http.HttpServiceStartpointContextListener</listener-class>
</listener>
<filter>
<filter-name>GpsbFilter</filter-name>
<filter-class>com.sb.filter.GpsbFilter</filter-class>
<init-param>
<param-name>conf-reload</param-name>
<param-value>5000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>IXyncFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
이러한 서블릿 설정을 해 놓은 web.xml 의 위치는 JEUSMain.xml 에 기술되어 있다. 즉 컨테이너 홈 아래에 WEB-INF 디렉토리 에 있기 때문이다.
JEUSMain.xml
JEUSMain.xml 에서 <application> 섹션에서 컨테이너를 설정하는 것이다. <name> 은 외부에서 호출 할 때 URL 에 노출되는 컨테이너의 이름이다. 실제 컨테이너의 이름은 <engine-container-name> 인 GPDEV_container1 이다. jeus admin 에 들어가서 conlist 해서 보면 보이는 이름이 이 이름이다.
<application>
<name>GPSB</name>
<path>/opt/gpsb/installableApps/serviceStartpoint</path>
<deployment-type>COMPONENT</deployment-type>
<web-component/>
<deployment-target>
<target>
<engine-container-name>GPDEV_container1</engine-container-name>
</target>
</deployment-target>
</application>
JEUSMain.xml에서 위와 같이 설정되어 있다면 /opt/gpsb/installableApps/serviceStartpoint 아래에 WEB-INF라는 디렉토리가 있을 것이고 그 아래에 web.xml 이 있을 것이다. 거기에 서블릿 관련 설정이 있을 것이다. 또 같은 (WEB-INF) 디렉토리에 classes 라는 디렉토리도 있을 터인데 그 안에는 각종 설정 xml 들( 예를 들어 log4j.xml 등이나 spring DI 설정xml ) 이 있을 것이다. 또한 그 컨테이너에서 사용되는 classes 들이 패키지 별로 들어 있기도 하다.
JEUSMain.xml 에는 이런 컨테이너 설정정보 외에도 중요한 것이 있다. 데이타베이스 접속을 위한 Data Source 설정이 바로 그것이다.
'컴퓨터활용 > 자바' 카테고리의 다른 글
텍스트 파일을 읽는 샘플 프로그램 (0) | 2013.07.17 |
---|---|
키보드로 값을 입력받아서 출력 (0) | 2013.07.17 |
ORA-00604 나 ORA-01000 오류가 날 때 (2) | 2012.05.29 |
JVM Garbage Collection 순간 포착 (0) | 2012.05.25 |
java 문자열 처리 (0) | 2012.04.26 |