제6장 domain.xml의 웹 엔진내의 인코딩 설정

JEUS의 설정 파일인 domain.xml 내의 웹 엔진의 인코딩과 관련된 태그에 대한 설명을 찾을 수 있다.

6.1. 소개

레퍼런스는 다음 형식으로 구성되어 있다.

  1. XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.

    1. 태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.

    2. XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.

    3. XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element

    4. 몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.

  2. Element Reference: 트리에 있는 각 XML 태그를 설명한다.

    1. Dynamic: 동적 설정 반영 가능

    2. Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.

    3. Description: 태그에 대한 간단한 설명.

    4. Value Description: 입력하는 값과 타입.

    5. Value Type: 값의 데이터 타입. (예: String)

    6. Value Type Description: 값의 데이터 타입에 대한 설명

    7. Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.

    8. Defined Value: 이미 정해져 있는 값.

    9. Example: 해당 XML 태그에 대한 예.

    10. Performance Recommendation: 성능 향상을 위해서 추천하는 값.

    11. Child Elements: 자신의 태그 안에 사용하는 태그.

6.2. XML Schema/XML 트리

6.3. Element Reference

(91) <domain> <servers> <server> <web-engine> <encoding>
Description 웹 애플리케이션의 요청이나 응답을 처리할 때 사용되는 Encoding을 설정한다.
Value Type encodingType
Child Elements

(92) request-encoding?

(96) response-encoding?

(99) request-url-encoding?

(92) <domain> <servers> <server> <web-engine> <encoding> <request-encoding>
Description HTTP 요청을 읽을 때 적용할 Encoding을 지정한다. Socket에서 읽은 byte array(query strings, application/x-www-form-urlencoded 형식의 body 등)를 파싱해서 String 객체로 만들 때 적용한다.
Value Type requestEncodingType
Child Elements

(93) default

(94) client-override

(95) forced

(93) <domain> <servers> <server> <web-engine> <encoding> <request-encoding> <default>
Description 지정된 Encoding이 없을 경우 기본적으로 적용하는 값이다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(94) <domain> <servers> <server> <web-engine> <encoding> <request-encoding> <client-override>
Description 지정된 Encoding이 없고, HTTP 클라이언트에서 보내는 Content-Type 헤더의 charset 속성을 치환하는 값이다. JEUS 6 이전 및 JEUS 7 Fix#1까지의 <forced> 설정을 대신한다.
Value Type valuableToken

(95) <domain> <servers> <server> <web-engine> <encoding> <request-encoding> <forced>
Description 지정된 Encoding이 있지만, 강제적으로 적용하는 값이다. 이 값은 애플리케이션의 모든 동작보다 우선 순위가 높다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(96) <domain> <servers> <server> <web-engine> <encoding> <response-encoding>
Description HTTP Response header에 "Content-type: text/html; charset=XXX"의 "XXX" 부분을 설정할 때 사용한다. JSP Page Encoding에도 적용한다. 컨테이너 내부적으로는 Servlet이 만든 String 객체를 버퍼에 저장하기 위해 byte array로 변환할 때 사용한다.
Value Type encodingSubType
Child Elements

(97) default

(98) forced

(97) <domain> <servers> <server> <web-engine> <encoding> <response-encoding> <default>
Description 지정된 Encoding이 없을 경우 기본적으로 적용하는 값이다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(98) <domain> <servers> <server> <web-engine> <encoding> <response-encoding> <forced>
Description 지정된 Encoding이 있지만, 강제적으로 적용하는 값이다. 이 값은 애플리케이션의 모든 동작보다 우선 순위가 높다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(99) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding>
Description HTTP 요청의 첫 번째 라인에 적용할 Encoding을 지정한다. Request Line에 포함된 Query string을 Decode할 때 Request Encoding에 설정된 값보다 먼저 이 설정이 적용된다.
Value Type encodingSubType
Child Elements

(100) default

(101) forced

(100) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <default>
Description 지정된 Encoding이 없을 경우 기본적으로 적용하는 값이다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(101) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced>
Description 지정된 Encoding이 있지만, 강제적으로 적용하는 값이다. 이 값은 애플리케이션의 모든 동작보다 우선 순위가 높다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type encodingType
Child Elements

(102) request-encoding?

(106) response-encoding?

(102) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <request-encoding>
Description HTTP 요청을 읽을 때 적용할 Encoding을 지정한다. Socket에서 읽은 byte array(query strings, application/x-www-form-urlencoded 형식의 body 등)를 파싱해서 String 객체로 만들 때 적용한다.
Value Type requestEncodingType
Child Elements

(103) default

(104) client-override

(105) forced

(103) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <request-encoding> <default>
Description 지정된 Encoding이 없을 경우 기본적으로 적용하는 값이다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(104) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <request-encoding> <client-override>
Description 지정된 Encoding이 없고, HTTP 클라이언트에서 보내는 Content-Type 헤더의 charset 속성을 치환하는 값이다. JEUS 6 이전 및 JEUS 7 Fix#1까지의 <forced> 설정을 대신한다.
Value Type valuableToken

(105) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <request-encoding> <forced>
Description 지정된 Encoding이 있지만, 강제적으로 적용하는 값이다. 이 값은 애플리케이션의 모든 동작보다 우선 순위가 높다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(106) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <response-encoding>
Description HTTP Response header에 "Content-type: text/html; charset=XXX"의 "XXX" 부분을 설정할 때 사용한다. JSP Page Encoding에도 적용한다. 컨테이너 내부적으로는 Servlet이 만든 String 객체를 버퍼에 저장하기 위해 byte array로 변환할 때 사용한다.
Value Type encodingSubType
Child Elements

(107) default

(108) forced

(107) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <response-encoding> <default>
Description 지정된 Encoding이 없을 경우 기본적으로 적용하는 값이다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

(108) <domain> <servers> <server> <web-engine> <encoding> <request-url-encoding> <forced> <response-encoding> <forced>
Description 지정된 Encoding이 있지만, 강제적으로 적용하는 값이다. 이 값은 애플리케이션의 모든 동작보다 우선 순위가 높다.
Value Description 표준 캐릭터 Encoding 값(e.g. UTF-8)
Value Type valuableToken

6.4. 웹 엔진 내의 인코딩 관련 domain.xml 파일 예제

[예 6.1] 웹 엔진 내의 인코딩 domain.xml 파일 예제

<?xml version="1.0" encoding="UTF-8"?>
<domain xmlns="http://www.tmaxsoft.com/xml/ns/jeus"
        xmlns:ns="http://www.tmaxsoft.com/xml/ns/jeus">
    <servers>
        <server>
            <web-engine>
                <!-- encoding for context group -->

                <encoding>
                    <!-- set the encoding that used in http request line -->

                    <request-url-encoding>
                        <forced>UTF-8</forced>
                    </request-url-encoding>

                    <!-- set the encoding that used in http request(query strings, cookies, post data) -->

                    <request-encoding>
                        <default>UTF-8</default>
                    </request-encoding>

                    <!-- set the encoding that used in http response -->

                    <response-encoding>
                        <forced>UTF-8</forced>
                    </response-encoding>
                </encoding>
            </web-engine>
        </server>
    </servers>
</domain>