톰캣 서버 사용시에 한글을 get방식이나 post방식으로 전달할 때 한글을 전달하면 깨질 수가 있다. 인터넷을 뒤져보면 web.xml 파일에 아래 내용을 추가하라는 정보가 있다.

<filter> 
<filter-name>encodingFilter</filter-name> 
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
<init-param> 
<param-name>encoding</param-name> 
<param-value>UTF-8</param-value> 
</init-param> 
<init-param> 
<param-name>forceEncoding</param-name> 
<param-value>true</param-value> 
</init-param> 
</filter> 

<filter-mapping> 
<filter-name>encodingFilter</filter-name> 
<url-pattern>/*</url-pattern> 
</filter-mapping>

이렇게 하면 post방식의 전달에서는 문제가 해결이 되지만 get방식일 떄에는 여전히 깨진다. 
이럴 때는 톰캣이 설치된 디렉토리에서 conf 폴더를 찾아서 server.xml 파일을 열어서 수정한다.

변경전
변경후
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>

위와 같이 URIEncoding 을 추가한다. 만일 이클립스에서 바로 돌리는 로컬 환경이라면 이클립스의 project explorer창에서 servers 를 찾아서 본인이 사용하는 톰캣 환경의 server.xml 파일을 찾아서 수정한다. 
그리고 jsp파일 상단에도 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"  %>
...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


이와 같이 인코딩 타입도 싹다 UTF-8 로 맞춘다. 물론 jsp파일을 저장할 때에도 utf-8로 저장해야만 한다. 이클립스에서 해당jsp파일을 선택 후 alt+enter 로 속성창을 열어서 utf-8로 저장이 잘 되었는지 확인하다. 아래처럼 속성창이 나올 것이다. 

image_2355368031528472672069.png

 

위 그림중 빨간색 박스 부분이 인코딩 타입 부분이다. 

[출처] 톰캣 한글 설정|작성자 alucard99

 

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
73 [ChatGPT] nginx 에서 jetty 서버로 프록시중 "org.eclipse.jetty.http.BadMessageException: 400: Invalid SNI" 오류 황제낙엽 2024.11.12 1291
72 [phind] jetty 와 tomcat 의 차이점 (성능, 사용성, 선호도) 황제낙엽 2024.10.31 1438
71 jsp 에서 <script> 로 import 한 js 내의 한글이 깨진다 file 황제낙엽 2024.07.14 1481
70 Nginx: 413 – Request Entity Too Large file 황제낙엽 2024.02.17 1187
69 nginx 설치, 실행, SSL 설정, 프록시 설정 황제낙엽 2024.02.04 962
68 [bard] Nginx로 서브 도메인에 따라 내부의 포트만 다르게 실행중인 웹서버들을 라우팅 황제낙엽 2024.02.01 962
67 [Bing] "Apache"와 "Nginx" 의 차이점 황제낙엽 2024.01.31 1055
66 Nginx 에 대하여 황제낙엽 2024.01.18 892
65 "org.apache.tomcat.util.net.SecureNioChannel.getSslEngine()" is null 황제낙엽 2023.06.22 2956
64 windows tomcat 에 Let's Encrypt(SSL) 적용 황제낙엽 2023.06.21 1093
63 AutoSet PHP 버전 업그레이드 (7.2.10 to 7.4.32) 황제낙엽 2022.10.09 1542
62 401 - Unauthorized: Access is denied due to invalid credentials 황제낙엽 2021.08.27 1387
61 iis error - Service Unavailable / HTTP Error 503. The service is unavailable. 황제낙엽 2020.09.23 1739
60 [Bitnami WAMP] 설치후 PHP 설정 황제낙엽 2020.07.23 1631
59 Autoset의 대안 Bitnami WAMP file 황제낙엽 2020.04.01 1034
58 HTTP 오류 403.14 - Forbidden file 황제낙엽 2020.03.04 964
57 바인딩 편집 (사이트 바인딩) file 황제낙엽 2020.03.04 1021
56 웹사이트에서 여러 도메인을 사용하는 방법 황제낙엽 2020.03.04 1387
55 32비트 응용 프로그램 사용 (ASP, C#) file 황제낙엽 2019.10.31 3056
54 [Tomcat 7] org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 황제낙엽 2019.10.16 1231