Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 베트남어
- 명사 뽑아내기
- 도커
- nodejs express
- 디즈니씨
- Cross
- 메일왕창보내는법
- php thumbnail
- iBatis
- ajax
- ror실행
- 명사 추출기
- 나의 프로젝트
- scala
- 나의 취미
- node.js web framework
- express for node.js
- Lift
- 명사 분석기
- docker
- 스킨 스쿠버
- ejb
- C/C++
- 책이야기
- rss
- php
- Node.js
- flex3
- 주식이야기
- Eclipse
Archives
- Today
- Total
nkdk의 세상
팁] 여러개의 스트럭처 config 설정 모듈화 시키기 본문
[모듈별작업을 위한 struts-config.xml설정]
1.모듈디렉토리별분리형
config
/WEB-INF/config/am/struts-config.xml,
/WEB-INF/config/bm/struts-config.xml
2. 한개디렉토리에 struts-config.xml의 파일명으로 분리형
config
/WEB-INF/config/struts-config-am.xml,
/WEB-INF/config/struts-config-bm.xml
3. 모듈별config파라미터로 분리해서 등록하는형
config/am
/WEB-INF/config/am/struts-config.xml
config/bm
/WEB-INF/config/bm/struts-config.xml
# 1번방식 : 모듈디렉토리별분리형
디렉토리별로 struts-config.xml을 따로분리하여, 모듈별로 적용한다.
설정은 config파라미터로 하며 ,(쉼표)로 구분하여 무한대로 등록가능하다.
#2번방식 : 한개디렉토리에 struts-config.xml의 파일명으로 분리형
같은 디렉토리내에 struts-config.xml의 파일명을 다양하게 부여하므로서
무한대로 등록한다. 1번방식과 마찬가지로 설정은 config파라미터로하며 ,(쉼표)로 구분하여 무한등록가능하다.
#3번방식 : 모듈별config파라미터로 분리해서 등록하는형
특징적으로 설정시 param-name이 config/${prefix} 형태로 주어지며, <forword태그설정시
<forward name=’aaa’ contextRelative=’true’ path=’bbb’/>
처럼 1,2번방식과달리 contextRelative옵션이 추가되어야 jsp를 정확히 찾을수 있습니다.
또한 url호출시에도 1.2번방식과 달리 1,2번이 /abc.do로 호출했다면, 이방식에서는
모듈명/abc.do로 호출해야합니다.(여기서주의해주세요!)
contextRelative란 컨텍스트에 상대적이란 뜻이다.
컨텍스트에 상대적이면 컨텍스트명은 디폴트로 간주하고, 표시하지않겠다. 그리고 그다음의 경로부터 표기한다는뜻이다. 이때’/’부터 시작해서 설정하게된다.
본강좌의 어플리케이션구조를 예로들면, struts라는 웹어플리케이션명이 있고 그아래에 모든 모듈항목들이 존재한다. 이때 struts디렉토리가 컨텍스트이다. 그럼 context에 상대적이므로
u
1,2번방식에서의 forward태그는 contextRelative가 없다.
<forward name="/jsp/Form2Struts_1.jsp" path="/jsp/Form2Struts_1.jsp"/>
3번방식에서도 1,2번처럼 똑 같은 형태의 forward태그를 설정하였다. 어떤결과가 나올까요?
config/am 으로 설정한덕에 기본적으로 모듈에상대적으로 경로를 찾게된다. 따라서, url/struts/am/ 아래에 있는 jsp/Form2Struts_1.jsp/에 있는 jsp를 찾을려고 시도하게된다.
찾았더니 없더라, 따라서 (/am/jsp/Form2Struts_1.jsp) is not available.정도의 에러메세가 뜨게되겠죠.
자 이제 이 문제를 어떻게 조치해야할까요?
>>해결책1. /am/디렉토리를 만들고 그아래에 jsp이하의 파일들을 옮기면됩니다. 즉패쓰를 모듈명을 포함하도록 맞춰주면됩니다.(너무상식적인방법)
>>해결책2. 설정방식을 변경하는데 모든 디렉토리구조까지 바뀌어야한댜면 손실이 커죠?
그냥 처음부터 간단히 설정파일내에서만 contextRelative=’true’ 있었다면 자동으로 상대경로를 찾아가게되는거죠.
1.모듈디렉토리별분리형
/WEB-INF/config/am/struts-config.xml,
/WEB-INF/config/bm/struts-config.xml
2. 한개디렉토리에 struts-config.xml의 파일명으로 분리형
/WEB-INF/config/struts-config-am.xml,
/WEB-INF/config/struts-config-bm.xml
3. 모듈별config파라미터로 분리해서 등록하는형
/WEB-INF/config/am/struts-config.xml
/WEB-INF/config/bm/struts-config.xml
# 1번방식 : 모듈디렉토리별분리형
디렉토리별로 struts-config.xml을 따로분리하여, 모듈별로 적용한다.
설정은 config파라미터로 하며 ,(쉼표)로 구분하여 무한대로 등록가능하다.
#2번방식 : 한개디렉토리에 struts-config.xml의 파일명으로 분리형
같은 디렉토리내에 struts-config.xml의 파일명을 다양하게 부여하므로서
무한대로 등록한다. 1번방식과 마찬가지로 설정은 config파라미터로하며 ,(쉼표)로 구분하여 무한등록가능하다.
#3번방식 : 모듈별config파라미터로 분리해서 등록하는형
특징적으로 설정시 param-name이 config/${prefix} 형태로 주어지며, <forword태그설정시
<forward name=’aaa’ contextRelative=’true’ path=’bbb’/>
처럼 1,2번방식과달리 contextRelative옵션이 추가되어야 jsp를 정확히 찾을수 있습니다.
또한 url호출시에도 1.2번방식과 달리 1,2번이 /abc.do로 호출했다면, 이방식에서는
모듈명/abc.do로 호출해야합니다.(여기서주의해주세요!)
contextRelative란 컨텍스트에 상대적이란 뜻이다.
컨텍스트에 상대적이면 컨텍스트명은 디폴트로 간주하고, 표시하지않겠다. 그리고 그다음의 경로부터 표기한다는뜻이다. 이때’/’부터 시작해서 설정하게된다.
본강좌의 어플리케이션구조를 예로들면, struts라는 웹어플리케이션명이 있고 그아래에 모든 모듈항목들이 존재한다. 이때 struts디렉토리가 컨텍스트이다. 그럼 context에 상대적이므로
u
1,2번방식에서의 forward태그는 contextRelative가 없다.
<forward name="/jsp/Form2Struts_1.jsp" path="/jsp/Form2Struts_1.jsp"/>
3번방식에서도 1,2번처럼 똑 같은 형태의 forward태그를 설정하였다. 어떤결과가 나올까요?
config/am 으로 설정한덕에 기본적으로 모듈에상대적으로 경로를 찾게된다. 따라서, url/struts/am/ 아래에 있는 jsp/Form2Struts_1.jsp/에 있는 jsp를 찾을려고 시도하게된다.
찾았더니 없더라, 따라서 (/am/jsp/Form2Struts_1.jsp) is not available.정도의 에러메세가 뜨게되겠죠.
자 이제 이 문제를 어떻게 조치해야할까요?
>>해결책1. /am/디렉토리를 만들고 그아래에 jsp이하의 파일들을 옮기면됩니다. 즉패쓰를 모듈명을 포함하도록 맞춰주면됩니다.(너무상식적인방법)
>>해결책2. 설정방식을 변경하는데 모든 디렉토리구조까지 바뀌어야한댜면 손실이 커죠?
그냥 처음부터 간단히 설정파일내에서만 contextRelative=’true’ 있었다면 자동으로 상대경로를 찾아가게되는거죠.