client_types.xml 파일
client_types.xml 파일은 PageListServlet을 확장하는 서블릿에 대한 클라이언트 유형 발견 지원을 제공합니다. client_types.xml 파일의 구성 데이터를 사용하여 서블릿이 호출 클라이언트가 응답을 위해 요구하는 언어 유형을 판별할 수 있습니다.
클라이언트 유형 발견 지원은 서블릿이 callPage 메소드를 사용하여 적절한 JSP(JavaServer Pages) 파일을 호출할 수 있게 해줍니다. 서블릿은 요청의 마크업 언어 유형에 따라 JSP 파일을 선택합니다.
서블릿은 다음과 같은 callPage 메소드 버전을 사용하여 클라이언트에서 요구하는 마크업 언어 유형을 판별해야 합니다.
callPage(String mlName, String pageName, HttpServletRequest request,
HttpServletResponse response)
여기서 인수는 다음과 같습니다.
- mlName - 마크업 언어 유형
- pageName - PageListServlet 구성에 정의된 페이지 이름
- request - HttpServletRequest 오브젝트
- response - HttpServletResponse 오브젝트
PageListServlet 확장 주제의 PageListServlet 코드 예제 확장 예제를 검토하여 서블릿이 callPage 메소드를 호출하는 방법을 참조하십시오.
예에서 PageListServlet이 제공하는 클라이언트 유형 발견 메소드 getMLTypeFromRequest(HttpServletRequestrequest)는 HttpServletRequest 오브젝트 요청 헤더를 조사하고 client_types.xml 파일에서 일치하는 것이 있는지 검색합니다.
클라이언트 유형 발견 메소드가 다음을 실행합니다.
- HttpServletRequest 입력과 client_types.xml 파일을 사용하여 일치하는 HTTP 요청 이름과 값을 검사합니다.
- 일치하는 것이 발견되면 <client-type> 요소에 대해 구성된 마크업 언어 값을 리턴합니다.
- 복수의 일치가 발견되는 경우, 이 메소드는 일치가 발견되는 첫 번째 <client-type> 요소에 대한 마크업 언어를 리턴합니다.
- 일치하는 것이 발견되지 않으면 PageListServlet 구성에 정의된 기본 페이지의 마크업 언어 값을 리턴합니다.
위치
client_types.xml 파일은
install_root/properties 디렉토리에 있습니다.
사용법 참고
다음 사용법 질문에 대한 응답을 검토하십시오.
- 이 파일이 읽기 전용입니까?
아니오
- 이 파일이 제품 컴포넌트에 의해 업데이트됩니까?
아니오
- 이런 경우, 무엇이 업데이트를 트리거합니까?
이 파일은 사용자에 의해 수동으로 작성되고 업데이트됩니다.
- 이 파일의 목차는 언제 어떻게 사용됩니까?
PageListServlet 서블릿을 확장하는 서블릿은 이 파일을 사용하여 호출 클라이언트가 응답을 위해 요구하는 언어 유형을 판별합니다.
샘플 파일 항목
<?xml version="1.0" >
<!DOCTYPE clients [
<!ELEMENT client-type (description, markup-language,request-header+)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT markup-language (#PCDATA)>
<!ELEMENT request-header (name, value)>
<!ELEMENT clients (client-type+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT value (#PCDATA)>]>
<clients>
<client-type>
<description>IBM Speech Client</description>
<markup-language>VXML</markup-language>
<request-header>
<name>user-agent</name>
<value>IBM VoiceXML pre-release version 000303</value>
</request-header>
<request-header>
<name>accept</name>
<value>text/vxml</value>
</request-header>
</client-type>
<client-type>
<description>WML Browser</description>
<markup-language>WML</markup-language>
<request-header>
<name>accept</name>
<value>text/x-wap.wml</value>
</request-header>
<request-header>
<name>accept</name>
<value>text/vnd.wap.xml</value>
</request-header>
</client-type>
</clients>