weblogic.xml 설정 스크립트에 대한 내용
web application 구현시 WAS 로 weblogic 을 많이 선택하게 되는데 weblogic 을
띄울떄 weblogic.xml 에 설정값을 작성해 둔다. 그 설정값에 대한 설명을 한 내용이다.
아래 설정 스크립트는 weblogic 9.x 이상에서 적용된다.
서블릿을 수정하고 재컴파일 한 경우 브라우저에서 요청을 하데 되면 컨테이너가
<servlet-reload-check-secs> 에서 설정한 값을 읽어들여 서블릿 최종버전을
로드하게 된다. 컨테이너는 WEB-INF/classes 에 있는 클래스 파일을 읽어들일 것이다.
<servlet-reload-check-secs> 설정된 값은 최신버전으로 체크해서 재로딩하는 시간을
나타낸다. 개발 버전은 보통 1로 설정한다. 1초마다 로드한다는 말이다.
반대로 운영에서 개별 클래스를 변경하게 하지 않을려면 -1 을 설정하면 된다.
<weblogic-web-app>
<context-root>/ep5cm</context-root>
<container-descriptor>
<servlet-reload-check-secs>-1</servlet-reload-check-secs>
</container-descriptor>
</weblogic-web-app>
pageCheckSeconds 값은 JSP 에 대한 요청이 올때마다 컨테이너가 최신버전인지 체크하게
하는시간이다. 예제와 같이 10초로 설정이 되어있다면 최종 stale checking 시간과 현재
시간과의 간격을 체크하여 10초보다 더 크다면 페이지가 재 컴파일 되게 된다.
보통 개발시 1로 설정하고 진행을 하며 반대로 운영모드 일때는 -1 을 설정하여
재컴파일이
안되도록 설정한다.
<weblogic-web-app>
<jsp-descriptor>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>10</param-value>
</jsp-param>
</jsp-descriptor>
</weblogic-web-app>
아래 내용은 <timeout-secs> 웹세션 타임아웃을 설정한 값이다. 단위는 초이며 3600
이니까 60분이 되는 것이다. <invalidation-interval-secs> 의 설정된값은 session 에
bound 된 것들을 unbound 시키는 시간을 나타낸다. 이것은 내부적으로 invalidate() 를
호출한다.
<id-length> 는 세션 ID 길이를 설정하는 값이다. 이값을 설정하는 이유는 세션아이디를
알아내기 위해 무차별적인 공격을 막기 위한 길이이며 128비트 이상이어야 한다.
128비트 보다 짮은 세션아이디를 설정하게 되면 불순한 의도를 가진 응용프로그램에
취약점을 노출하게 된다.
<cookie-name> 는 웹로직에서 cookie 에 대한 셋팅을 한것인데 세션아이디는 여기서
설정한 cookie 와 함께 관리하게 된다.
그래서 브라우저가 쿠키를 지원할경우 JSESSIONID 라는 쿠키값을 사용하여 세션아이디에
전송하게 된다. 쿠키를 지원하지 않는 브라우저에서는 JSESSIONID 값을 URL Parameter로
서버에 세션아이디를 전달하게 된다.
<persistent-store-type> 은 두개의 서버에서 클러스터링 환경을 지원해 주고자 할 때
설정하는 곳이다.
<weblogic-web-app>
<session-descriptor>
<timeout-secs>3600</timeout-secs>
<invalidation-interval-secs>20</invalidation-interval-secs>
<debug-enabled>false</debug-enabled>
<id-length>52</id-length>
<cookie-name>JSESSIONID</cookie-name>
<persistent-store-type>replicated_if_clustered</persistent-store-type>
</session-descriptor>
</weblogic-web-app>
다음은 인코더를 설정하는 부분으로 resource-path 의 / * 의미는 URL 하위에 있는
모든 페이지들에 적용하라는 표시가 된다. 적용타입은 아래에 java-charset-name 값으로
하게 되는데 예제에서는 UTF-8 로 적용하게 되어있다.
<weblogic-web-app>
<resource-path>/*</resource-path>
<java-charset-name>UTF-8</java-charset-name>
</weblogic-web-app>
흔히 두가지 이상의 언어도 사이트를 구분해서 언어를 적용하고 싶을때가 있다.
예를 들어 일본어 사이트와 한글사이트를 구분해서 표현하고자 할 때 URL 주소아래에
/kr, /jp 를 붙여 구분한다. 페이지의 접근을 구분해서 설정하고 weblogic 은 아래와 같이
resource-path 에 구분 URL 을 넣고 java-charset-name 에 원하는 인코더를 넣어
설정한다.
<weblogic-web-app>
<resource-path>/kr/*</resource-path>
<java-charset-name>euc-kr</java-charset-name>
<resource-path>/jp/*</resource-path>
<java-charset-name>SJIS</java-charset-name>
</weblogic-web-app>
JSP 파일을 컴파일해서 명시적인 주소로 집어넣기 위해 설정하는 곳이다. JSP 는
컴파일 되게 되면 servlet java 형태로 만들어져 설정한 주소로 들어간다.
이것을 설정하지 않으면 eclipse 에서 임시폴더인 tmp 로 만들어 집어넣고
속도 또한 떨어지게 된다.
<weblogic-web-app>
<keepgenerated>true</keepgenerated>
<page-check-seconds>1</page-check-seconds>
<verbose>true</verbose>
<working-dir>D:\workDir\admin</working-dir>
<print-nulls>false</print-nulls>
<debug>true</debug>
</weblogic-web-app>
'자바(JAVA)' 카테고리의 다른 글
이클립스(Eclipse) 로 SWT 설치후 프로젝트 개발 준비하기 (0) | 2012.09.20 |
---|---|
Spring 환경에서 JSON 사용시 한글 Encoding 에러 처리 (0) | 2012.09.04 |
Java 를 알기위한 기본 용어 정리와 관계도 (1) | 2012.03.18 |
JSTL 의 변수 설정기본 정보와 예제들 (0) | 2010.12.13 |
스트럿츠 (Struct) 기반 xml 을 WAS 재구동없이 자동으로 로드하기 (0) | 2010.08.07 |
자바 프로젝트 jar -> exe 로 바꿔주는 JSmooth (12) | 2010.08.02 |
자신만의 filter class 만들어서 적용하기 (1) | 2010.08.02 |
JSP 페이지에서 JSTL 에러 : According to TLD or attribute directive in tag file, (0) | 2010.08.02 |