2011-07-05 5 views
0

파일 처리 (타사 응용 프로그램 에서 응용 프로그램 수신 및 추가 사용을 위해 데이터베이스에 저장)를 다루는 웹 응용 프로그램을 보았습니다.ServletRequest 및 ServletResponse를 사용하여 문자 인코딩 설정

그 특정 웹 응용 프로그램에는 문자 인코딩을 UTF-8로 설정하는 것이 기본 용도 인 서블릿 필터가 구성되어 있습니다. 예를 들어

:

public class ResponseFilterExample implements Filter { 
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterchain) throws IOException, ServletException { 
     filterchain.doFilter(request, response); 
     response.setContentType("text/html"); 
     response.setCharacterEncoding("UTF-8"); 
    } 
} 

이제 내 질문에,

request.setCharacterEncoding("UTF-8"); 

response.setCharacterEncoding("UTF-8"); 

의 차이점은 무엇입니까?

+1

첫 번째 것은 요청 (브라우저에서 서버로 전송)의 문자 인코딩을 설정하고 두 번째는 응답의 문자 인코딩 (서버에서 브라우저로 이동)을 설정합니다. 이 두 가지 방법 (http://download.oracle.com/javaee/6/api/)의 javadoc을 읽었습니까? –

답변

0

글쎄, 차이점은 하나는 sets the encoding on the request이고, 다른 하나는 sets the encoding on the response입니다.

위의 문서 링크를 자세히 설명합니다.

ServletRequest.setCharacterEncoding()

:

이 우선 요청의 본문에 사용 된 문자 인코딩의 이름. 이 메서드는 요청 매개 변수를 읽거나 getReader()을 사용하여 입력을 읽기 전에 호출해야합니다. 그렇지 않으면 효과가 없습니다.

ServletResponse.setCharacterEncoding() :

응답의 문자 인코딩 (MIME 캐릭터)를 설정은, 예를 들어, UTF-8, 클라이언트에 전송된다.