느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라
Published 2019. 11. 27. 16:02
[JSP] 한글 깨짐 처리방법 IT/JAVA

 이제 이론적인것은 어느정보 배웠겠다. 내 스스로 프로젝트를 조금씩 수행하려고 하는 첫걸음에 문제가 발생하였다. 문제는 바로 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임을 밝힌다.

profile

느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라

@주현태

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!