이제 이론적인것은 어느정보 배웠겠다. 내 스스로 프로젝트를 조금씩 수행하려고 하는 첫걸음에 문제가 발생하였다. 문제는 바로 jsp에서 한글깨짐 현상이 일어난 것이다. 예전 Java개발자 양성교육때 이러한 버그를 고치는데 상당히 헤맸던 것으로 기억나는 추억마저 생기는 버그다.
초보자 시절 기억을 되살려 jsp / servlet 개발시 한글깨짐 방법에 대해 처리하는 방법에 대해 포스팅 하도록 한다.
현재 내가 사용하고 있는 WAS(Web Application Server)는 Tomcat이고 모든 페이지는 UTF-8로 개발할 예정이다.
1. GET 전송시 파일깨짐
[server.xml]
<Connector connectionTimeout="20000" port="8080"
protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
server.xml 파일에서 Connector 태그에 URIEncoding=UTF-8을 추가하여 준다.
2. POST 전송시 파일깨짐
[web.xml]
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
프로젝트 폴더내의 web.xml파일에 다음과 같이 문자인코딩 필터를 추가하여준다. 물론 나는 UTF-8을 사용하므로 encoding param의 값은 UTF-8로 설정한다.
[test.jsp]
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
Hello world!
</h1>
<P> My Name is 주현태 </P>
</body>
</html>
마지막으로 출력하는 페이지의 상단에 다음과 같이 상단에 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 태그를 추가하여 pageEncoding 방식이 UTF-8임을 밝힌다.
'IT > JAVA' 카테고리의 다른 글
이클립스(Eclipse) 거의 모든 단축키 모음 (0) | 2019.12.24 |
---|---|
JAVA enum 자료형(직관적인 코드와 상수를 옳게 사용하기 위한) (0) | 2019.11.27 |
STS(스프링 편집툴)에 톰캣 서버 추가하기 (0) | 2019.11.27 |
XML 파일정보를 읽기위한 Java API JAXB(Java Architecture for XML binding) (0) | 2019.11.15 |
이클립스 디버깅(eclipse debugging) (0) | 2019.11.02 |