JSP/SERVLET
2020.01.28 / 24:50

[JSP] get, post¹æ½Ä µ¥ÀÌÅÍ Àü¼Û½Ã ÇÑ±Û ±úÁü ÇØ°á

±îÄ¡¼³³¯
Ãßõ ¼ö 232

°³¹ßÀ» ÇÏ´Ù°¡ Ãʺ¸ÀûÀÎ ½Ç¼ö·Î ÇѱÛÀÌ ±úÁ® ´çȲÇÒ¶§°¡ ÀÖ´Ù. (³ª´Â¾ß Ãʺ¸°³¹ßÀÚ)


³ªÁßÀ» À§ÇØ ÇѱÛÀÎÄÚµù ¹æ¹ýÀ» Á¤¸®Çصεµ·Ï ÇÑ´Ù.

¸ÕÀú ¼³Á¤À» ÅëÇÑ ÀÎÄÚµù¹æ¹ýÀÌ ÀÖ´Ù.



1. web.xml ÆÄÀÏ¿¡¼­ ÀÎÄÚµù ¼³Á¤


1
2
3
4
5
6
7
8
      <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>
      </filter>
cs



2. server.xml ÆÄÀÏ¿¡¼­ ÀÎÄÚµù ¼³Á¤


1
2
<Connector connectionTimeout="20000" port="8081" 
  protocol="HTTP/1.1" redirectPort="8443"  URIEncoding="UTF-8"/>
cs




ÀÌ·±½ÄÀÇ ¼³Á¤À» ÇÏ°í ½ÇÇà½ÃÄѵµ ÇѱÛÀÌ ±úÁö´Â °æ¿ì°¡ ÀÖ´Ù.

get°ú post¹æ½ÄÀ» ÅëÇØ µ¥ÀÌÅ͸¦ ³Ñ°ÜÁÙ¶§ ¸¹ÀÌ ¹ß»ýÇϴµ¥, ±×¶§ ½ÃµµÇÒ ¹æ¹ýÀÌ ÀÖ´Ù.




1. jspÆäÀÌÁö request.setCharacterEncoding ¸í½Ã(post¹æ½Ä)


1
2
3
4
5
6
7
8
9
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 
<%@page import="java.util.*"%>
<%
 
    request.setCharacterEncoding("UTF-8");
 
%>
 
cs


2. forműנaccept-charset¼Ó¼º
 
1
<form method="post" accept-charset="utf-8">
cs

form ű׸¦ ÀÌ¿ëÇØ µ¥ÀÌÅ͸¦ º¸³»´Â °æ¿ì, accept-charset¼Ó¼ºÀ» ÀÌ¿ëÇØ µ¥ÀÌÅ͸¦ ÀÎÄÚµùÈÄ º¸³¾ ¼ö ÀÖ´Ù.



3. parameter°ª º¸³¾¶§ Á÷Á¢ ÀÎÄÚµù(get¹æ½Ä)

1
2
3
4
5
function testEncoding(id, name){
 
 location.href="<c:url value='/test.do' />?
               id="+id+"&name="+encodeURI(name,"UTF-8");
}
cs


º¸³»´Â ÆĶó¹ÌÅÍ °ªÀ» encodeURI(°ª,"UTF-8")À» ÅëÇØ Á÷Á¢ ÀÎÄÚµù½ÃÄÑ º¸³¾ ¼ö ÀÖ´Ù.




³ª´Â form accept-scharsetÀ» ÅëÇØ ÀÎÄÚµù¿¡ ¼º°øÇÒ ¼ö ÀÖ¾ú´Ù ! ´Ù¸¥¹æ¹ýµéÀº ¿Ö ¾ÈµÈ°ÇÁö ¤Ì

½ÇÁ¦ ¿î¿µÀ» ÇÒ¶§¿¡´Â À¢¸¸ÇÏ¸é ¿µ¾î°ªÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù°í ÇÑ´Ù.

SERVER¿¡¼­´Â EUC-KRÀε¥, ORACLE DB´Â UTF-8Àϼöµµ Àֱ⠶§¹®ÀÌ´Ù.


À¢¸¸ÇÏ¸é ¿µ¾î°ªÀ» »ç¿ëÇϱâ·Î ÇÏÀÚ!!!!