반응형
한글 인코딩 방법들
- 페이지마다 request, response 객체에 setEncoding 해주기 (코드의 중복, 비추천)
- Tomcat 서버 자체에서 인코딩
- 필터(Filter) 사용 (추천)
- 인터셉터(Interceptor) 사용 (추천, Spring Framework 사용시)
필터를 이용한 한글 인코딩
1) Filter을 생성
2) 어노테이션 추가
@WebFilter("/*") // 모든 페이지에 대해 필터 적용을 의미
3) 필드 작성
private static final String ENCODING = "UTF-8";
private static final String CONTENTS_TYPE = "text/html";
4) doFilter() 메소드만 사용. 내용은 다음과 같이
request.setCharacterEncoding(ENCODING);
response.setCharacterEncoding(ENCODING);
response.setContentType(CONTENTS_TYPE);
chain.doFilter(request, response);
ex)
package controller.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*")
public class CharacterEncodingFilter implements Filter {
private static final String ENCODING = "UTF-8";
private static final String CONTENTS_TYPE = "text/html";
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(ENCODING);
response.setCharacterEncoding(ENCODING);
response.setContentType(CONTENTS_TYPE);
chain.doFilter(request, response);
}
public void init(FilterConfig fConfig) throws ServletException {
}
}
반응형
'개발_웹 > Java' 카테고리의 다른 글
Java | 접근 지정자 (Access Modifier) (0) | 2021.05.19 |
---|---|
Java | 컬렉션 (Collection) (0) | 2021.05.15 |
Java | 예외 처리의 3가지 방식 (0) | 2021.05.15 |
JSP | 숫자 앞자리 0으로 채우는 팁 (패딩) (0) | 2021.05.12 |
Java | 업캐스팅, 다운캐스팅, instanceof (0) | 2021.05.11 |