'공부 > JAVA' 카테고리의 다른 글

JAVA_[객체_직렬화]  (0) 2012.06.23
JAVA_[Adapter_패턴 (일명 : Wrapper 패턴)]  (0) 2012.06.23
JAVA_[Eclipse_SerialVersionUID]  (0) 2012.06.23
JAVA_[StringTokenizer 과 Split 의 차이]  (0) 2012.06.21
JAVA_[텍스트파일읽기_예제]  (0) 2012.06.21

- Request 기본 객체는 JSP 페이지에서 가장 많이 사용되는 기본객체로 웹브라우저의 요청과 관련이 있다.

  웹 브라우저(사이트 주소입력) -> 해당 웹 서버(요청 정보 전송)

  클라이언트가 전송한 요청 정보를 제공하는 것이 바로 Request 이다.

 

#### Request 의 제공하는 기능 ####

  - 클라이언트(웹 브라우저)와 관련된 정보 읽기

  - 서버와 관련된 정보 읽기

-------------------------------------------------------------------------------

* 클라이언트 및 서버 정보 관련 메서드 *

gerRemoteAddr()               :  클라이언트의 IP주소

getContentLength()            :  클라이언트가 전송한 요청 정보의 길이

getCharacterEncoding()     :  클라이언트가 요정 정보를 전송할 때 사용한 캐릭터 인코딩

getContentType()               :  클라이언트가 요청 정보를 전송할 때 사용한 컨텐트의 타입

getProtocol()                     :  클라이언트가 요청한 프로토콜

getMethod()                      :  웹 브라우저가 정보를 전송할 때 사용한 방식(GET/POST) 

getRequestURI()                :  웹 브라우저가 요청한 URL에서의 경로

getContextPath()                :  JSP 페이지가 속한 웹 어플리케이션의 컨텍스트 경로

getServerName()                :  연결할 때 사용한 서버 이름

getServerPort()                  :  서버가 실행 중인 포트 번호

-------------------------------------------------------------------------------

 

  - 클라이언트가 전송한 요청 파라미터 읽기

-------------------------------------------------------------------------------

* 파라미터 읽기 메서드 *

getParameter(String name) / returnType - String                      :  이름이 name 인 파라미터의 값을 구함.

getParameterValues(String name) / returnType - String[]         :  이름이 name 인 모든 파라미터의 값을 배열로 구함.

getParameterNames()                  / returnType - Enumeration   :  웹 브라우저가 전송한 파라미터의 이름을 구함.

getParameterMap()                     / returnType - Map              :  웹 브라우저가 전송한 파라미터의 맵을 구한다.

<Key, Value>

 ------------------------------------------------------------------------------

 

  - 클라이언트가 전송한 요청 헤더 읽기

  - 클라이언트가 전송한 쿠키 읽기

  - 속성 처리

  

#### JSP 페이지 읽어 올때 웹컨터이너가 사용할 캐릭터 셋을 결정짓는 기본과정 ####

 

※ BOM : Byte Order Mark 의 약자.

    - UTF-16 이나 UTF-32 와 같은 유니코드에서 바이트의 순서가 '리틀엔디언' 인지 '빅 엔디언' 인지의 여부를 알려주는 값. 

 

1. 파일이 BOM 으로 시작하지 않을 경우

  - 기본 이코딩을 이용해서 파일을 처음부터 읽고,

     JSP 페이지 내의 Page 디렉티브의 pageEncoding 속성을 검색한다.

     (단, pageEncoding 속성을 찾기 이전에 ASCII 문자 이외의 글자가 포함되어 있지 않아야 함.) 

 

  - pageEncoding 속성이 값을 갖고 있다면, 속성의 값을 파일을 읽어올때 사용할 캐릭터 셋으로 사용

 

  - pageEncoding 속성이 없으면, contentType 속성을 검색.

    contentType 속성이 존재학 charset을 이용해서 캐릭터 셋을 지정했다면, 파일을 읽어 올때 사용할 캐릭터 셋으로

    charset에 지정한 값을 사용한다.(단, 위와같이 contentType 속성을 찾기전에 ASCII 문자 이외의 글자가 포함되어 있으면 안됨)

 

  - 위의 모든 경우에 해당되지 않을 경우 ISO-8859-I 을 캐릭터 셋으로 사용한다.

 

 

2. 파일이 BOM으로 시작할 경우

  - BOM 을 이용ㅎ서 결정된 인코딩을 이용하여 파일을 읽고, page 디렉티브의 pageEncoding 속성을 검색.

 

  - 만약 pageEncoding 속성의 값과 BOM 을 이용해서 결정된 인코딩이 다르면 에러를 발생 시킨다.

 

  - 위의 두 과정을 통해 설정된 캐릭터 셋을 이용하여 파일을 읽어온다.

'공부 > JSP' 카테고리의 다른 글

JSP_[웹 어플리케이션의 초기화 파라미터 값 설정]  (0) 2012.09.19
JSP_[JSP 페이지의 초기화 파라미터]  (0) 2012.09.18
JSP_[JDBC 예제]  (0) 2012.07.24
JSP_[Request_기본객체]  (0) 2012.06.21
JSP_[페이지의 구성요소]  (0) 2012.06.21

+ Recent posts