<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>gray.yoon</title>
    <link>https://yoondeng.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 30 May 2026 10:59:30 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>gray.yoon</managingEditor>
    <item>
      <title>logrotate를 활용한 로그 관리 (compress, lotate)</title>
      <link>https://yoondeng.tistory.com/45</link>
      <description>&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;리눅스 서버를 관리하면서 log를 주기적으로 관리할 필요가 있어 찾아보던중 아주 정리를 잘한 블로그가 있어 아래 내용을 발췌하였다.&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&amp;nbsp;아래 내용&lt;span style=&quot;font-size: 12pt;&quot;&gt;은&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 12pt; text-align: center;&quot;&gt;blueskai (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt;&quot;&gt;http://blueskai.tistory.com)님의 블로그에서 가져왔으며, 저작권 관련하여 내용 하단에 표기를 하였습니다. 만약 문제가 발생 시 삭제조치 하겠습니다!&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt;&quot;&gt;&lt;hr class=&quot;tx-hr-border-2&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px solid; border-bottom: black 3px solid; height: 7px&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;상황 : 아파치 로그 파일을 주기적으로(하루 단위로 rotation) 압축하여 일 별 관리하고 싶을 경우&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;기존 아파치 설정 &amp;nbsp;httpd.conf&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;CustomLog&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;|/program/httpd-2.2.20/bin/rotatelogs -l /program/httpd-2.2.20/logs/%y%m%d.sample.activity_log 86400&quot; combined env=!nolog&lt;br /&gt;ErrorLog&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;|/program/httpd-2.2.20/bin/rotatelogs -l /program/httpd-2.2.20/logs/%y%m%d.sample.error_log 86400&quot;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;* 하루 단위로 rotation 하고 있었지만 압축 저장하고 있지 않음.&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;해결방법 : 리눅스 기본 logrotate 활용!&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;hr style=&quot;margin-bottom: 11px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;*&amp;nbsp;&lt;b&gt;logrotate란?&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;로그 파일(시스템 로그)을&amp;nbsp;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;rotates, compresses, and mails 을 할 수 있다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;설정 파일을 변경해도 관련 프로세스를 새로 시작할 필요 없이 cron 데몬이 주기적으로 실행 시켜준다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;$ vi /etc/cron.daily&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;위 cron을 확인해보면 logrotate 설정 부분을 확인할 수 있다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;logrotate 관련 파일&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px; text-align: -webkit-auto;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;- /usr/sbin/logrotate : 데몬의 위치 및 데몬프로그램&lt;/span&gt;&lt;br style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;- /etc/logrotate.conf : 설정 파일.&lt;/span&gt;&lt;br style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;- /etc/logrotate.d : logrotate를 적용할 로그 파일 보관 디렉토리.&lt;/span&gt;&lt;br style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;- /var/lib/logrotate.status : logrotate가 작업 내역 보관 파일.&lt;/span&gt;&lt;br style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;- /etc/cron.daily/logrotate : logrotate : cron 에 의해 일 단위로 실행한다.&lt;/span&gt;&lt;br style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;동작 순서를 살펴보면&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;1. cron.daily 에서 /usr/sbin/logrotate 호출&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;2.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(51, 51, 51); line-height: 16px;&quot;&gt;/usr/sbin/logrotate 에서 /etc/logrotate.conf 설정파일 참조&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(51, 51, 51); line-height: 16px;&quot;&gt;3.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(51, 51, 51); line-height: 16px;&quot;&gt;/etc/logrotate.conf 설정 파일에서 /etc/logrotate.d 참조 (&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(51, 51, 51); line-height: 16px;&quot;&gt;logrotate.conf 파일 안에 &quot;include /etc/logrotate.d&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;logrotate가 정상 동작 하는지 최소한의 설정으로 확인해 보자&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;$ sudo vi /etc/logrotate.d/apache&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;/program/apache/logs/access_log {&lt;br /&gt;&amp;nbsp; size +1k&lt;br /&gt;&amp;nbsp; missingok&lt;br /&gt;&amp;nbsp; notifempty&lt;br /&gt;&amp;nbsp; create 0600 root root&lt;br /&gt;&amp;nbsp; compress&lt;br /&gt;&amp;nbsp; dateext&lt;br /&gt;&amp;nbsp; postrotate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin/killall -HUP httpd&lt;br /&gt;&amp;nbsp; endscript&lt;br /&gt;}&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;각 옵션들은 잠시 뒤에 상세 설명하고 우선 당장 실행 시켜 보자.&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;루트 권한으로 아래 명령 실행.&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;$&amp;nbsp;/usr/sbin/logrotate -f /etc/logrotate.conf&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;-f 옵션은 강제 실행 옵션이다 (&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;Tells&lt;/span&gt;&amp;nbsp;&lt;b style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;logrotate&lt;/b&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;to force the rotation, even if it doesn't think&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;&amp;nbsp;this is necessary&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;$&amp;nbsp;/usr/sbin/logrotate -d /etc/logrotate.conf&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;-d 옵션 : 디버그 모드 (&lt;span style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;Turns on debug mode and implies&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;-v&lt;/b&gt;&lt;span style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;. In debug mode, no changes&lt;/span&gt;&lt;span style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;&amp;nbsp;will be made to the logs or to the&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;logrotate&lt;/b&gt;&lt;span style=&quot;font-family: inherit; color: rgb(51, 51, 51); font-size: 12px; line-height: 16px;&quot;&gt;&amp;nbsp;state file.)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;* 주의사항 :&amp;nbsp;f 옵션이나 d 옵션 하나만 넣고 실행해야 한다. (두 옵션을 동시에 넣고 실행시 정상 동작안되서 한동안 삽질....)&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;b&gt;* logrotate 옵션&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;ul style=&quot;margin: 0px; padding: 0px; list-style: none;&quot;&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;copytruncate :&amp;nbsp;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;Truncate the original log file to zero size in place after&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;creating a copy, instead of moving the old log file and&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: inherit; font-size: 12px; line-height: 16px;&quot;&gt;optionally creating a new one&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;copytruncate옵션을 활용하면&amp;nbsp;&lt;/span&gt;&lt;/font&gt;postrotate를 통한 httpd&lt;span style=&quot;font-size: 10pt; line-height: 16px; color: rgb(51, 51, 51);&quot;&gt;&amp;nbsp;재시작 없이 무중단 로깅이 가능하다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; line-height: 16px; color: rgb(51, 51, 51);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;/path/to/log {&lt;br /&gt;&amp;nbsp; daily&lt;br /&gt;&amp;nbsp; copytruncate&lt;br /&gt;&amp;nbsp; create 0700 root root&lt;br /&gt;&amp;nbsp; compress&lt;br /&gt;&amp;nbsp; notifempty&lt;br /&gt;&amp;nbsp; missingok&lt;br /&gt;&amp;nbsp; dateext&lt;br /&gt;}&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;ul style=&quot;margin: 0px; padding: 0px; list-style: none;&quot;&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;b&gt;rotate 30(숫자) &amp;nbsp;: log파일 30개 이상 되면 삭제&lt;/b&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;b&gt;maxage 30(숫자) : 30일 이산된 로그 파일 삭제&lt;/b&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;b&gt;size : 지정한 용량이 되면 로그로테이트를 실행한다. 10k, 10M 이런식으로 지정한다.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;b&gt;create : [권한 유저 그룹] 으로 rotation된 로그파일 생성&lt;/b&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;b&gt;notifempty : log 내용이 없으면 rotation 하지 않는다.&lt;/b&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;ifempty : 로그파일이 비어있는 경우에도 로테이트한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;monthly : 월 단위로 로테이트 한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;daily : 월 단위로 로테이트 한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;weekly : 월 단위로 로테이트 한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: Tahoma; line-height: 16px;&quot;&gt;&lt;b&gt;compress : rotate 된 로그 gzip 압축&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;nocompress : 압축을 원치 않는다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;mail&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;mailto:admin@trdriver.com&quot; target=&quot;_blank&quot; style=&quot;text-decoration-line: underline; font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;admin@mail&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;: 로테이트 설정에 의해 보관주기가 끝난 파일을 메일로 발송한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;mailfirst&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;mailto:admin@trdriver.com&quot; target=&quot;_blank&quot; style=&quot;text-decoration-line: underline; font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;admin@mail&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;: 로테이트시 신규파일 이전의 로그를 메일로 발송한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;nomail : 메일로 통보받지 않음.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;errors&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;mailto:admin@trdriver.com&quot; target=&quot;_blank&quot; style=&quot;text-decoration-line: underline; font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;admin@mail&lt;/a&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&amp;nbsp;: 로테이트 실행시 에러가 발생하면 이메일로 통보한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;prerotate-endscript : 사이의 명령어를 로그파일 처리전에 실행한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;postrotate-endscript : 사이의 명령어를 로그파일 처리후에 실행한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;extension : 로테이트 후 생성되는 파일의 확정자를 지정한다.&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;margin: 6px 0px 0px; padding: 0px 0px 0px 15px; list-style: none; position: relative; line-height: 24px;&quot;&gt;&lt;span style=&quot;font-family: Gulim; font-size: 12px; line-height: 19px;&quot;&gt;&lt;b&gt;copytruncate : 이옵션을 넣지 않으면 현재 사용중인 로그를 다른이름으로 move하고 새로운 파일을 생성한다.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#333333&quot; size=&quot;2&quot;&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;이 외의 옵션은 하단 참조에 link를 참조하거나 man logrotate를 확인하면 된다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;보통은 rotation 후 아래 postrotate를 통해 httpd 를 재시작 해준다.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;b&gt;postrotate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin/killall -HUP httpd&lt;br /&gt;endscript&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;이 때 두가지 대안이 있다.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;1. killall -HUP 프로세스이름 &amp;nbsp;(예&amp;gt;&amp;nbsp;/usr/bin/killall -HUP httpd)&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;2. kill -HUP 프로세스번호 (예&amp;gt;&amp;nbsp;/usr/bin/kill -HUP `cat /daum/program/apache/logs/httpd.pid 2&amp;gt; /dev/null` 2&amp;gt; /dev/null || true)&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;hr style=&quot;margin-bottom: 11px;&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;참조 링크&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;logrotate 정의 : http://manpages.ubuntu.com/manpages/precise/man8/logrotate.8.html&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;Understanding logrotate - part 1 :&amp;nbsp;&lt;a href=&quot;http://www.rackspace.com/knowledge_center/article/understanding-logrotate-part-1&quot; style=&quot;text-decoration-line: underline;&quot;&gt;http://www.rackspace.com/knowledge_center/article/understanding-logrotate-part-1&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;How to Rotate Apache Log Files in Linux :&amp;nbsp;&lt;a href=&quot;http://www.thegeekstuff.com/2011/07/rotate-apache-logs/&quot; style=&quot;text-decoration-line: underline;&quot;&gt;http://www.thegeekstuff.com/2011/07/rotate-apache-logs/&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;logrotate example : http://www.thegeekstuff.com/2010/07/logrotate-examples/&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;a href=&quot;http://unix.stackexchange.com/questions/47688/how-to-avoid-apache-reload-when-rotating-logs&quot; style=&quot;text-decoration-line: underline;&quot;&gt;http://unix.stackexchange.com/questions/47688/how-to-avoid-apache-reload-when-rotating-logs&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; color: rgb(48, 48, 48); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 16px;&quot;&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px;&quot;&gt;&lt;b&gt;만약에 해당 글에 대하여 저작권 문제가 발생할 경우 즉시 삭제 하겠으며, 위의&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 12px; text-align: center; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;blueskai (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;http://blueskai.tistory.com)의 소유인것을&lt;/span&gt; 확실히 밝힙니다.&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; text-align: right;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 13px; text-align: right;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim, 굴림; font-size: 14px;&quot;&gt;- copyright&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&amp;amp;wr_id=65738&amp;amp;page=1&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://blueskai.tistory.com/m/101&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Other Information</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/45</guid>
      <comments>https://yoondeng.tistory.com/45#entry45comment</comments>
      <pubDate>Thu, 5 Jul 2018 11:44:37 +0900</pubDate>
    </item>
    <item>
      <title>Jsp에서 공백을 제거하는 방법</title>
      <link>https://yoondeng.tistory.com/44</link>
      <description>&lt;p style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-size: 16px; margin-bottom: 25.92px; margin-left: 0px; margin-right: 0px; text-shadow: none; transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;&quot;&gt;&lt;code style=&quot;background-color: rgb(239, 239, 239); border: 1px solid rgb(247, 247, 247); border-radius: 3px; font-size: 12px; line-height: 18px; margin: 0px 2px; padding: 0px 5px; text-shadow: none; white-space: nowrap;&quot;&gt;jsp&lt;/code&gt; 를 사용하다 보면 &lt;code style=&quot;background-color: rgb(239, 239, 239); border: 1px solid rgb(247, 247, 247); border-radius: 3px; font-size: 12px; line-height: 18px; margin: 0px 2px; padding: 0px 5px; text-shadow: none; white-space: nowrap;&quot;&gt;jstl&lt;/code&gt;이 있던 자리가 &lt;code style=&quot;background-color: rgb(239, 239, 239); border: 1px solid rgb(247, 247, 247); border-radius: 3px; font-size: 12px; line-height: 18px; margin: 0px 2px; padding: 0px 5px; text-shadow: none; white-space: nowrap;&quot;&gt;html&lt;/code&gt;로 변경되고 나서 빈줄(whitespace)로 남아있는 것을 보게 된다.
크게 문제는 없지만 깔끔해 보이지도 않고 파일의 용량도 늘어나게 되니 없애고 싶다. 그럴 때 선택할 수 있는 방법이 몇 가지 있다.&lt;/p&gt;&lt;h4 id=&quot;jsp--&quot; style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-size: 17.93px; line-height: 25.89px; margin-bottom: 25.92px; text-shadow: none;&quot;&gt;Jsp에 선언하는 방법&lt;/h4&gt;&lt;div class=&quot;highlight&quot; style=&quot;background-color: rgb(239, 239, 239); border-radius: 4px; color: rgb(51, 51, 50); font-size: 12px; line-height: 26px; margin-bottom: 18px; text-shadow: none;&quot;&gt;&lt;pre style=&quot;background-color: transparent; line-height: 18px; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 12px; position: relative; text-shadow: none;&quot;&gt;&lt;code class=&quot;language-jsp&quot; style=&quot;background-color: transparent; text-shadow: none;&quot; data-lang=&quot;jsp&quot;&gt;&lt;span class=&quot;k&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 0); font-weight: 700; text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;%@&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;background-color: transparent; text-shadow: none; transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;&quot;&gt;page&lt;/span&gt; &lt;span class=&quot;n&quot; style=&quot;background-color: transparent; text-shadow: none; transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;&quot;&gt;trimDirectiveWhitespaces&lt;/span&gt;&lt;span class=&quot;o&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 0); font-weight: 700; text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot; style=&quot;background-color: transparent; color: rgb(208, 16, 64); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&quot;true&quot;&lt;/span&gt; &lt;span class=&quot;k&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 0); font-weight: 700; text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;%&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;webxml--&quot; style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-size: 17.93px; line-height: 25.89px; margin-bottom: 25.92px; text-shadow: none;&quot;&gt;web.xml에 설정하는 방법&lt;/h4&gt;&lt;div class=&quot;highlight&quot; style=&quot;background-color: rgb(239, 239, 239); border-radius: 4px; color: rgb(51, 51, 50); font-size: 12px; line-height: 26px; margin-bottom: 18px; text-shadow: none;&quot;&gt;&lt;pre style=&quot;background-color: transparent; line-height: 18px; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 12px; position: relative; text-shadow: none;&quot;&gt;&lt;code class=&quot;language-xml&quot; style=&quot;background-color: transparent; text-shadow: none;&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;jsp-config&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;jsp-property-group&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;url-pattern&amp;gt;&lt;/span&gt;*.jsp&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/url-pattern&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;trim-directive-whitespaces&amp;gt;&lt;/span&gt;true&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/trim-directive-whitespaces&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/jsp-property-group&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/jsp-config&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&quot;tomcat-confwebxml--&quot; style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-size: 17.93px; line-height: 25.89px; margin-bottom: 25.92px; text-shadow: none;&quot;&gt;Tomcat의 conf/web.xml에 설정하는 방법&lt;/h4&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: rgb(51, 51, 50); font-family: &amp;quot;Malgun Gothic&amp;quot;, Dotum, &amp;quot;PT Serif&amp;quot;, serif; font-size: 16px; text-shadow: none;&quot;&gt;

&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;highlight&quot; style=&quot;background-color: rgb(239, 239, 239); border-radius: 4px; color: rgb(51, 51, 50); font-size: 12px; line-height: 26px; margin-bottom: 18px; text-shadow: none;&quot;&gt;&lt;pre style=&quot;background-color: transparent; line-height: 18px; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 12px; position: relative; text-shadow: none;&quot;&gt;&lt;code class=&quot;language-xml&quot; style=&quot;background-color: transparent; text-shadow: none;&quot; data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;init-param&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;param-name&amp;gt;&lt;/span&gt;trimSpaces&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/param-name&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;param-value&amp;gt;&lt;/span&gt;true&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/param-value&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot; style=&quot;background-color: transparent; color: rgb(0, 0, 128); text-shadow: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: all; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);&quot;&gt;&amp;lt;/init-param&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;출처 :&amp;nbsp;&lt;a href=&quot;http://chomman.github.io/blog/java/jsp/jstl/strip-white-space-on-jsp/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://chomman.github.io/blog/java/jsp/jstl/strip-white-space-on-jsp/&lt;/a&gt;&lt;/p&gt;</description>
      <category>JSP/JSP/Servlet</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/44</guid>
      <comments>https://yoondeng.tistory.com/44#entry44comment</comments>
      <pubDate>Thu, 18 Jan 2018 15:55:14 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 파일 다운로드</title>
      <link>https://yoondeng.tistory.com/43</link>
      <description>&lt;p&gt;이번엔 파일 업로드가 아닌 DB데이터를 조회하여 엑셀 파일로 다운로드 기능을 포스팅 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래는 Contoller로 호출 받았을 경우 파일 명 셋팅 및 엑셀 파일을 생성하는 과정이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; white-space: pre; background-color: rgb(255, 255, 255);&quot;&gt;addrDataMakeExcel 메소드의 경우 파일에 쓸 데이터와 response outputStream 객체를 받는다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; white-space: pre; background-color: rgb(255, 255, 255);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; white-space: pre; background-color: rgb(255, 255, 255);&quot;&gt;outputStream 객체의 경우 workbook을 생성하기 위한 객체로 쓴다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;44&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestMapping(value&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;/addrExcelFileDown.do&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;void&lt;/span&gt;&amp;nbsp;addrExcelFileDown(HttpServletRequest&amp;nbsp;request,&amp;nbsp;HttpServletResponse&amp;nbsp;response,&amp;nbsp;ModelMap&amp;nbsp;model,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestParam(value&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;groupSeq&quot;&lt;/span&gt;&amp;nbsp;,&amp;nbsp;required&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;groupSeq)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throws&lt;/span&gt;&amp;nbsp;Exception{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UserVo&amp;nbsp;userSess&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;this&lt;/span&gt;.readUser();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Map&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;,&amp;nbsp;Object&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;paramMap&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;HashMap&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;,&amp;nbsp;Object&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paramMap.put(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;userId&quot;&lt;/span&gt;,&amp;nbsp;userSess.getUserId());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(groupSeq&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;paramMap.put(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;groupSeq&quot;&lt;/span&gt;,&amp;nbsp;groupSeq);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;자신의&amp;nbsp;그룹이&amp;nbsp;아닌&amp;nbsp;호출인&amp;nbsp;경우&amp;nbsp;400오류&amp;nbsp;표출&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&amp;nbsp;addrService.isUserAddrGroupYN(userSess.getUserId(),&amp;nbsp;groupSeq)){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.sendError(Response.SC_BAD_REQUEST);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;파일명&amp;nbsp;만들기&amp;nbsp;(&amp;nbsp;&quot;주소록&quot;_그룹명_년월일시분초.xls)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuffer&amp;nbsp;fileNameBf&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;StringBuffer();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(Constants.ADDRESS);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;주소록&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;_&quot;&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;_&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append((groupSeq&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(groupSeq))&amp;nbsp;?&amp;nbsp;Constants.ADDRESS_CONSTANTS.TOTAL&amp;nbsp;:&amp;nbsp;addrService.selectGroupInfo(paramMap).getGroupName());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;그룹명&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;_&quot;&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;_&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(DateUtil.getTodayDateTime(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;yyyyMMddHHmmss&quot;&lt;/span&gt;));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;현재&amp;nbsp;날짜와&amp;nbsp;시분초&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileNameBf.append(Constants.FILE_EXTENSION.XLS.toLowerCase());&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;확장자&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;조회한&amp;nbsp;주소록&amp;nbsp;수신자&amp;nbsp;조회&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;addrService.selectAddrList(paramMap);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;/////////////////////////////////////////////////////////////////////////////////////////////&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;엑셀파일&amp;nbsp;객체&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WritableWorkbook&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;fileInOutService.&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;addrDataMakeExcel&lt;/span&gt;(addrVOList,&amp;nbsp;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;response.getOutputStream()&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Content-Type&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;application/vnd.ms-excel;charset=UTF-8&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Content-Disposition&quot;&lt;/span&gt;,&amp;nbsp;HttpUtil.getDisposition(fileNameBf.&lt;span style=&quot;color:#066de2&quot;&gt;toString&lt;/span&gt;(),&amp;nbsp;HttpUtil.getBrowser(request)));&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Content-Transfer-Encoding&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;binary;&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Pragma&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;no-cache;&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.setHeader(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Expires&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;-1;&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.write();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.close();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래는 addrDataMakeExcel 메소드의 구현된 형태이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Workbook 객체에 데이터를 쓰는 과정이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;크게 어렵거나 하는 부분이 없어 설명은 없어도 될 듯 하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;44&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;45&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;46&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;47&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;48&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;49&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;50&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;51&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;52&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;53&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;54&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;55&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;56&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;57&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;WritableWorkbook&amp;nbsp;addrDataMakeExcel(List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;addrList,&amp;nbsp;ServletOutputStream&amp;nbsp;outputStream){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;엑셀파일&amp;nbsp;객체&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WritableWorkbook&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;시트&amp;nbsp;객체&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WritableSheet&amp;nbsp;sheet&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;셀&amp;nbsp;객체&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Label&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;try&lt;/span&gt;&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;파일&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;jxl.Workbook.createWorkbook(outputStream);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;시트&amp;nbsp;생성&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook.createSheet(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;sheet1&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;workbook.getSheet(&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;셀에&amp;nbsp;쓰기&amp;nbsp;(주소록&amp;nbsp;첫번째&amp;nbsp;행&amp;nbsp;HEADER&amp;nbsp;설정&amp;nbsp;)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Constants.FILE_HEADER_DICTIONARY.NAME);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Constants.FILE_HEADER_DICTIONARY.PHONE);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Constants.FILE_HEADER_DICTIONARY.EMAIL);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;3&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;Constants.FILE_HEADER_DICTIONARY.MEMO);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;데이터&amp;nbsp;삽입&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;;&amp;nbsp;i&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&amp;nbsp;addrList.size();&amp;nbsp;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddrVO&amp;nbsp;addrVO&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;addrList.get(i)&amp;nbsp;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;,&amp;nbsp;(i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;),&amp;nbsp;addrVO.getName());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;,&amp;nbsp;(i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;),&amp;nbsp;addrVO.getPhoneNo());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;,&amp;nbsp;(i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;),&amp;nbsp;addrVO.getEmail());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;label&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Label(&lt;span style=&quot;color:#0099cc&quot;&gt;3&lt;/span&gt;,&amp;nbsp;(i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;),&amp;nbsp;addrVO.getMemo());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sheet.addCell(label);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;catch&lt;/span&gt;&amp;nbsp;(Exception&amp;nbsp;e)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;TODO&amp;nbsp;Auto-generated&amp;nbsp;catch&amp;nbsp;block&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;e.printStackTrace();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;workbook;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이상으로 파일 다운로드 포스팅을 마무리 한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;프로젝트 끝! 겨우 데드라인에 마췄지만 딱히 어려움 없이 잘 끝낸듯 하다.&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/43</guid>
      <comments>https://yoondeng.tistory.com/43#entry43comment</comments>
      <pubDate>Wed, 1 Feb 2017 16:28:08 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 파일 읽기 (업로드)</title>
      <link>https://yoondeng.tistory.com/42</link>
      <description>&lt;p&gt;음... JAVA 카테고리에서 개발내용 첫 포스팅...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;자바 개발자인데 드디어 포스팅을... 하하하&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이번에도 똑같이 Ajax Form에서 넘겨준 file을 JAVA에서 처리하는 부분을 정리하도록 하겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;보통 File 업로드하면 File을 생성하여 그 파일로 처리하는 경우가 있는데...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;나같은 경우 업로드한 파일이 1회성이라 서버쪽에 파일을 따로 저장하지 않고 처리하였다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그냥 뭐 엑셀이나 TXT파일을 올리면 등록하는 부분이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;간략하게 컨트롤러에서 아래와 같이 파라미터를 받을 때 파일은 MultipartFile 객체로 받는다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestMapping(value&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;/fileRegistProc.do&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;fileRegistProc(HttpServletRequest&amp;nbsp;request,&amp;nbsp;HttpServletResponse&amp;nbsp;response,&amp;nbsp;ModelMap&amp;nbsp;model,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@RequestParam(value&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;groupSeq&quot;&lt;/span&gt;,&amp;nbsp;required&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;true&lt;/span&gt;)&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;groupSeq,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;@RequestParam(value&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;&quot;uploadFile&quot;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;,&amp;nbsp;required&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;)&amp;nbsp;MultipartFile&amp;nbsp;uploadFile&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;중간&amp;nbsp;생략&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;try&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;fileInOutService.AddrFileConvertObject(Integer.&lt;span style=&quot;color:#066de2&quot;&gt;parseInt&lt;/span&gt;(groupSeq),&amp;nbsp;uploadFile);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;catch&lt;/span&gt;(FileFormatException&amp;nbsp;ffe){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.addAttribute(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;status&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.addAttribute(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;message&quot;&lt;/span&gt;,&amp;nbsp;ffe.getMessage());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;jsonResponse&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;catch&lt;/span&gt;(Exception&amp;nbsp;e){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.addAttribute(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;status&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;model.addAttribute(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;message&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;데이터&amp;nbsp;처리&amp;nbsp;중&amp;nbsp;오류가&amp;nbsp;발생&amp;nbsp;하였습니다.&amp;nbsp;고객센터로&amp;nbsp;문의&amp;nbsp;해&amp;nbsp;주세요.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;jsonResponse&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;중간&amp;nbsp;생략&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;jsonResponse&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;서비스에서 File 객체를 전달 받았다. 서비스에서는 엑셀이나 TXT 파일을 받기 때문에 따로 분류 처리를 해주었다.&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;AddrFileConvertObject(&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;groupSeq,&amp;nbsp;MultipartFile&amp;nbsp;file)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throws&lt;/span&gt;&amp;nbsp;Exception&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;fileName&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;file.getOriginalFilename();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;ext&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;&amp;nbsp;fileName.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;substring&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;(fileName.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;lastIndexOf&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;,fileName.&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); background-color: rgb(140, 252, 203);&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;());&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InputStreamReader&amp;nbsp;isr&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;InputStreamReader(file.getInputStream());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(ext.&lt;span style=&quot;color:#066de2&quot;&gt;equalsIgnoreCase&lt;/span&gt;(Constants.FILE_EXTENSION.TXT)){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;readTxtFile(groupSeq,&amp;nbsp;isr);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;readExcelFile(ext,&amp;nbsp;groupSeq,&amp;nbsp;file);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;addrVOList;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;TXT의 경우 그냥 라인을 읽어서 처리하면 되어서 그냥 넘어가고&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;엑셀 파일이 넘어온 경우 파일 확장자를 처리하여 XLS 인지 XLSX에 따라 자바 Workbook 객체가 달라지니 해당 부분을 포스팅 하겠다.&lt;/p&gt;&lt;p&gt;이미 다 알고 있겠지만... 그냥 참고용이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;파일의 경우 InputStream을 읽어 들이면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;44&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;45&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;46&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;47&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;48&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;49&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;50&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;51&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;52&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;53&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;54&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;55&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;56&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;57&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;58&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;59&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;60&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;61&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;62&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;63&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;64&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;65&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;66&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;67&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;68&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;69&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;70&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;71&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;72&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;73&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;74&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;75&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;76&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;77&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;78&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;79&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;80&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;81&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;82&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;83&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;84&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;85&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;86&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;87&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;88&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;89&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;90&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;91&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;92&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;93&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;public&lt;/span&gt;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;readExcelFile(&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;ext,&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;groupSeq,&amp;nbsp;MultipartFile&amp;nbsp;file)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throws&lt;/span&gt;&amp;nbsp;Exception&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;addrVOList&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;ArrayList&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;AddrVO&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Workbook&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(Constants.FILE_EXTENSION.XLS.&lt;span style=&quot;color:#066de2&quot;&gt;equalsIgnoreCase&lt;/span&gt;(ext)){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;HSSFWorkbook(&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;file.getInputStream()&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(Constants.FILE_EXTENSION.XLSX.&lt;span style=&quot;color:#066de2&quot;&gt;equalsIgnoreCase&lt;/span&gt;(ext)){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;workbook&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;XSSFWorkbook(&lt;span style=&quot;background-color: rgb(140, 252, 203); color: rgb(0, 0, 0);&quot;&gt;file.getInputStream()&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throw&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;Exception(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;지원하지&amp;nbsp;않는&amp;nbsp;확장자&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sheet&amp;nbsp;workSheet&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;workbook.getSheetAt(&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;첫번째&amp;nbsp;Sheet&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;rowSize&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;workSheet.getPhysicalNumberOfRows();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;행의&amp;nbsp;총&amp;nbsp;개수&amp;nbsp;(행은&amp;nbsp;0부터&amp;nbsp;시작)&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringBuffer&amp;nbsp;msgSb&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;StringBuffer();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;등록한&amp;nbsp;파일의&amp;nbsp;&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;&amp;nbsp;;&amp;nbsp;i&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&amp;nbsp;rowSize&amp;nbsp;;&amp;nbsp;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;i를&amp;nbsp;1부터&amp;nbsp;시작해야&amp;nbsp;두번째&amp;nbsp;행부터&amp;nbsp;데이터가&amp;nbsp;입력된다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Row&amp;nbsp;row&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;workSheet.getRow(i);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;cellLength&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;(row.getPhysicalNumberOfCells()&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;4&lt;/span&gt;)&amp;nbsp;&amp;nbsp;?&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;4&lt;/span&gt;:&amp;nbsp;row.getPhysicalNumberOfCells();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;열의&amp;nbsp;총&amp;nbsp;개수&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AddrVO&amp;nbsp;addrVO&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;AddrVO();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVO.setGroupSeq(groupSeq);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(cellLength&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;필수값이&amp;nbsp;입력되지&amp;nbsp;않았습니다.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;(라인&amp;nbsp;:&amp;nbsp;&quot;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;번째)&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throw&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;FileFormatException(msgSb.&lt;span style=&quot;color:#066de2&quot;&gt;toString&lt;/span&gt;());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;phoneNo&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;email&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;memo&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;for&lt;/span&gt;(&lt;span style=&quot;color:#066de2&quot;&gt;int&lt;/span&gt;&amp;nbsp;j&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;&amp;nbsp;;&amp;nbsp;j&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&amp;nbsp;cellLength&amp;nbsp;;&amp;nbsp;j&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;String&lt;/span&gt;&amp;nbsp;valueStr&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;엑셀에서&amp;nbsp;뽑아낸&amp;nbsp;데이터를&amp;nbsp;담아놓을&amp;nbsp;String&amp;nbsp;변수&amp;nbsp;선언&amp;nbsp;및&amp;nbsp;초기화&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Cell&amp;nbsp;cell&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;row.getCell(j);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(&amp;nbsp;(cell&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;null&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&amp;nbsp;cell.getCellType()&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;Cell.CELL_TYPE_BLANK&amp;nbsp;)&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&amp;nbsp;j&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;필수값이&amp;nbsp;빈값인&amp;nbsp;경우&amp;nbsp;무시&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;switch&lt;/span&gt;(cell.getCellType()){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;Cell.CELL_TYPE_BLANK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;Cell.CELL_TYPE_STRING&amp;nbsp;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;valueStr&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;cell.getStringCellValue();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;Cell.CELL_TYPE_NUMERIC&amp;nbsp;:&amp;nbsp;valueStr&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&amp;nbsp;cell.getNumericCellValue()&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;default&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;switch&lt;/span&gt;(j){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;0&lt;/span&gt;&amp;nbsp;:&amp;nbsp;name&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;valueStr;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;&amp;nbsp;:&amp;nbsp;phoneNo&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;valueStr;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;2&lt;/span&gt;&amp;nbsp;:&amp;nbsp;email&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;valueStr;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;case&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;3&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memo&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;valueStr;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;default&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;break&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVO.setName(name);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVO.setPhoneNo(phoneNo);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVO.setEmail(email);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVO.setMemo(memo);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(name.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;StringUtil.isValidPhoneNo(phoneNo.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;|&lt;/span&gt;&amp;nbsp;(&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(email.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;StringUtil.isValidEmail(email.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;()))){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(name.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(Constants.FILE_HEADER_DICTIONARY.NAME);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;StringUtil.isValidPhoneNo(phoneNo.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(Constants.FILE_HEADER_DICTIONARY.PHONE);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;((&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;equals&lt;/span&gt;(email.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;())&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;amp;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;!&lt;/span&gt;StringUtil.isValidEmail(email.&lt;span style=&quot;color:#066de2&quot;&gt;trim&lt;/span&gt;()))){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(Constants.FILE_HEADER_DICTIONARY.EMAIL);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;continue&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&amp;nbsp;필드의&amp;nbsp;값이&amp;nbsp;잘못&amp;nbsp;입력되었습니다.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;msgSb.append(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;(라인&amp;nbsp;:&amp;nbsp;&quot;&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;i&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;번째)&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;throw&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;new&lt;/span&gt;&amp;nbsp;FileFormatException(msgSb.&lt;span style=&quot;color:#066de2&quot;&gt;toString&lt;/span&gt;());&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#999999&quot;&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;유효성&amp;nbsp;검사&amp;nbsp;시&amp;nbsp;유효성&amp;nbsp;검사에서&amp;nbsp;실패&amp;nbsp;시&amp;nbsp;해당&amp;nbsp;데이터는&amp;nbsp;skip&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addrVOList.&lt;span style=&quot;color:#066de2&quot;&gt;add&lt;/span&gt;(addrVO);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;addrVOList;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이상 파일 읽기 부분의 포스팅을 마친다.&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/42</guid>
      <comments>https://yoondeng.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 1 Feb 2017 15:50:11 +0900</pubDate>
    </item>
    <item>
      <title>[ajax] jQuery ajaxForm 사용하기</title>
      <link>https://yoondeng.tistory.com/41</link>
      <description>&lt;p&gt;프로젝트를 진행하던 중 파일을 업로드 기능을 만들게 되었다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;항상 form submit을 사용하다가 이번 프로젝트의 경우 비동기식으로 처리를 하였다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ajax 처리를 찾아보던 중 ajaxForm이라는 블라블라를 찾아냈다. jQuery 플러그인이라고는 하는데...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;jQuery에서 찾아보니 아래와 같이 나온다. 없단다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;header class=&quot;page-header&quot; style=&quot;box-sizing: border-box; color: rgb(51, 51, 51); font-family: &amp;quot;Helvetica Neue&amp;quot;, HelveticaNeue, Helvetica, Arial, sans-serif; font-size: 15px;&quot;&gt;&lt;table class=&quot;txc-table&quot; width=&quot;784&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:784;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;header class=&quot;page-header&quot; style=&quot;box-sizing: border-box; color: rgb(51, 51, 51); font-family: &amp;quot;Helvetica Neue&amp;quot;, HelveticaNeue, Helvetica, Arial, sans-serif; font-size: 15px;&quot;&gt;&lt;h1 class=&quot;page-title&quot; style=&quot;box-sizing: border-box; font-size: 36px; margin: 0px 0px 0.33em; line-height: 36px; font-family: klavika-web, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, Geneva, sans-serif !important;&quot;&gt;Search Results for:&amp;nbsp;&lt;span style=&quot;box-sizing: border-box;&quot;&gt;ajaxform&lt;/span&gt;&lt;/h1&gt;&lt;hr style=&quot;box-sizing: border-box; background-image: url(&amp;quot;../images/gauze.png&amp;quot;); height: 0.75em; border: none; margin: 0.75em 0px;&quot;&gt;&lt;/header&gt;&lt;article id=&quot;post-0&quot; class=&quot;post no-results not-found&quot; style=&quot;box-sizing: border-box; color: rgb(51, 51, 51); font-family: &amp;quot;Helvetica Neue&amp;quot;, HelveticaNeue, Helvetica, Arial, sans-serif; font-size: 15px;&quot;&gt;&lt;header class=&quot;entry-header&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;h1 class=&quot;entry-title&quot; style=&quot;box-sizing: border-box; font-size: 1.3em; margin: 0px; line-height: 36px; text-shadow: rgb(255, 255, 255) 0px 1px 1px; font-family: klavika-web, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, Geneva, sans-serif !important;&quot;&gt;Nothing Found&lt;/h1&gt;&lt;/header&gt;&lt;div class=&quot;entry-content&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 15px; margin-left: 0px; box-sizing: border-box;&quot;&gt;Apologies, but nothing matched your search criteria.&lt;/p&gt;&lt;/div&gt;&lt;/article&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/header&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;다시 구글링 하니&amp;nbsp;http://malsup.com/jquery/form/ 이러한 사이트가 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 배포하나 보다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;영어는 잼병이라 알아서 번역해서 보시길 바라며,&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래와 같이 사용하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;12&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;13&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;14&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;15&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;16&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;17&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;18&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;19&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;20&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;21&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;22&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;23&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;24&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;25&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;26&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;27&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;28&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;29&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;30&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;31&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;32&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;33&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;34&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;35&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;36&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;37&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;38&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;39&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;40&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;41&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;42&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;43&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;44&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;45&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;46&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;47&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;48&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;49&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;50&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;51&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;52&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;53&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;script&amp;nbsp;type&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;text/javascript&quot;&lt;/span&gt;&amp;nbsp;src&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;/base/js/jquery-1.11.3.min.js&quot;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;/&lt;/span&gt;script&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;script&amp;nbsp;type&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;text/javascript&quot;&lt;/span&gt;&amp;nbsp;src&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;/base/js/jquery.form.min.js&quot;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;/&lt;/span&gt;script&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;script&amp;nbsp;type&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;text/javascript&quot;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;$j(&lt;span style=&quot;color:#a71d5d&quot;&gt;function&lt;/span&gt;(){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#fileRegistBtn&quot;&lt;/span&gt;).on(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;click&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;function&lt;/span&gt;(){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;($j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#groupSeq&quot;&lt;/span&gt;).val()&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;그룹을&amp;nbsp;지정해&amp;nbsp;주십시요.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#groupSeq&quot;&lt;/span&gt;).focus();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#form&quot;&lt;/span&gt;).ajaxForm({&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'POST'&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;'&amp;lt;c:url&amp;nbsp;value='&lt;/span&gt;${pageContext.request.contextPath}${prefix}&lt;span style=&quot;color:#a71d5d&quot;&gt;/&lt;/span&gt;fileRegistProc.&lt;span style=&quot;color:#a71d5d&quot;&gt;do&lt;/span&gt;&lt;span style=&quot;color:#63a35c&quot;&gt;'/&amp;gt;'&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enctype:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;multipart/form-data&quot;&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataType:&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;json&quot;&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;contentType:&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;processData:&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeSubmit:&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;function&lt;/span&gt;&amp;nbsp;(data,form,option)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;($j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#uploadFile&quot;&lt;/span&gt;).val()&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;&quot;&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;첨부파일을&amp;nbsp;선택해&amp;nbsp;주세요.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;var&lt;/span&gt;&amp;nbsp;ext&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;$j(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;#uploadFile&quot;&lt;/span&gt;).val().&lt;span style=&quot;color:#066de2&quot;&gt;split&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;'.'&lt;/span&gt;).pop().toLowerCase();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;($j.inArray(ext,&amp;nbsp;[&lt;span style=&quot;color:#63a35c&quot;&gt;'xlsx'&lt;/span&gt;,&lt;span style=&quot;color:#63a35c&quot;&gt;'xls'&lt;/span&gt;,&lt;span style=&quot;color:#63a35c&quot;&gt;'txt'&lt;/span&gt;])&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;xlsx,&amp;nbsp;xls,&amp;nbsp;txt&amp;nbsp;파일만&amp;nbsp;업로드&amp;nbsp;할수&amp;nbsp;있습니다.&quot;&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;false&lt;/span&gt;;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;success:&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;function&lt;/span&gt;(result)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;(result.status&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;true&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(result.message);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;parent&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;document&lt;/span&gt;.&lt;span style=&quot;color:#066de2&quot;&gt;location&lt;/span&gt;.reload();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;closeLayer();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(result.message);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error:&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;function&lt;/span&gt;(data,&amp;nbsp;status,&amp;nbsp;err)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;alert&lt;/span&gt;(data.responseText);&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}).submit();&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;});&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;/&lt;/span&gt;script&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: rgb(229, 229, 229);&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color: white;&quot;&gt;&lt;span style=&quot;font-size: 9px; word-break: normal; background-color: rgb(229, 229, 229); border-radius: 10px; padding: 1px;&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 주의할 점이 있다.&amp;nbsp;&lt;a href=&quot;http://mytory.net/archives/223&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;http://mytory.net/archives/223&lt;/a&gt; 참고 하였다.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;784&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:784;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p&gt;&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 28px;&quot;&gt;주의할 점&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding: 0px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 18px;&quot;&gt;[덧]&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;dataType&lt;/code&gt;을&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;json&lt;/code&gt;으로 설정했다면, 조심할 게 있다. 예컨대&lt;/p&gt;&lt;pre class=&quot;brush:js&quot; style=&quot;padding: 1em; background-color: rgb(52, 73, 94); margin-top: 0px; margin-bottom: 18px; font-size: 0.9em; border-radius: 4px; color: rgb(255, 255, 255); word-wrap: normal; overflow: auto; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;{result: 1, msg: &quot;성공!&quot;}&lt;/pre&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding: 0px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 18px;&quot;&gt;이런 식으로 쓰면 안 된다. json은 key값도 따옴표를 붙여야 하기 때문이다. 위처럼 응답을 주도록 쓰고&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;dataType&lt;/code&gt;을&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;json&lt;/code&gt;으로 쓰면 처리가 실패한 것으로 간주되 아무 일도 안 일어난다,&lt;/p&gt;&lt;pre class=&quot;brush:js&quot; style=&quot;padding: 1em; background-color: rgb(52, 73, 94); margin-top: 0px; margin-bottom: 18px; font-size: 0.9em; border-radius: 4px; color: rgb(255, 255, 255); word-wrap: normal; overflow: auto; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;{&quot;result&quot;: 1, &quot;msg&quot;: &quot;성공!&quot;}&lt;/pre&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding: 0px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 18px;&quot;&gt;이렇게 써야&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;json&lt;/code&gt;으로 인식한다. 절대로 이것 때문에 삽질하지 말자.&lt;/p&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding: 0px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 18px;&quot;&gt;만약 PHP를 사용한다면, 배열을 만든 다음 아래 코드처럼 json_encode 함수를 사용하면 된다.&lt;/p&gt;&lt;pre class=&quot;brush: php; gutter: true; first-line: 1&quot; style=&quot;padding: 1em; background-color: rgb(52, 73, 94); margin-top: 0px; margin-bottom: 18px; font-size: 0.9em; border-radius: 4px; color: rgb(255, 255, 255); word-wrap: normal; overflow: auto; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;$arr = array('a'=&amp;gt;'에이', 'b'=&amp;gt;'비');
echo json_encode($arr);&lt;/pre&gt;&lt;p style=&quot;margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding: 0px; font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, sans-serif; font-size: 18px;&quot;&gt;[덧2] 응답이 아무것도 없으면 아무 일도 안 일어난다.(즉,&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;success&lt;/code&gt;에&amp;nbsp;&lt;code class=&quot;highlighter-rouge&quot; style=&quot;padding: 0.2em 0px; margin: 0px; font-size: 15.3px; background-color: rgb(232, 232, 232); border-radius: 3px; font-family: D2Coding, NanumGothicCoding, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace;&quot;&gt;function&lt;/code&gt;을 넣어 놔도 작동하지 않는다.) 테스트할 때 응답하는 쪽 파일에 아무거라도 출력하도록 하고 테스트를 해야 한다.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(255, 0, 0);&quot;&gt;추가로 뻘짓한 부분이 있는데 인터넷익스플로러 7이하던가 response 헤더에서 contentType을&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(255, 0, 0);&quot;&gt;&amp;nbsp;applicaton/json로 하니 안된다. 어찌 안된건지는 기억이 따로 나질 않는다. 그래서 그냥&amp;nbsp;text/plain로 처리했다.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;u&gt;...!!!&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;u&gt;생각 났다! contentType을 application/json 하면 json 결과가 파일로 다운받아 진다!&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;u&gt;따라서 text/plain 으로 처리 했다!!&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이상 jQuery ajaxForm 사용기 입니다.&lt;/p&gt;</description>
      <category>Web/ajax</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/41</guid>
      <comments>https://yoondeng.tistory.com/41#entry41comment</comments>
      <pubDate>Wed, 1 Feb 2017 15:16:14 +0900</pubDate>
    </item>
    <item>
      <title>[Javascript] 도메인 체크 정규식</title>
      <link>https://yoondeng.tistory.com/38</link>
      <description>&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;종종 도메인 유효성 체크할 경우가 생긴다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;해당 글은 DVLP님의 글을 가져온 글이며, 문제가 될 경우 삭제할 수 있다.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;아래는 DVLP님이 정리 해 놓은 내용.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;hr style=&quot;display:block; border: black 0 none; border-top: black 1px solid; height: 1px&quot;&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; font-family: Gulim, 굴림;&quot;&gt;자바스크립트 도메인 체크 정규식&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 640px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/212C343C51EE5F460D&quot; width=&quot;640&quot; height=&quot;464&quot; filename=&quot;iblogbox_com_20130723_194718.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;border-width: 0px; cursor: pointer; max-width: 100%; height: auto;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;구굴링에서 찾아보니깐&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px; border: 3px double rgb(193, 193, 193); padding: 10px; background-color: rgb(238, 238, 238);&quot;&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;function ValidUrl(str) {&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\?[;&amp;amp;a-z\\d%_.~+=-]*)?'+ // query string&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\#[-a-z\\d_]*)?$','i'); // fragment locator&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; if(!pattern.test(str)) {&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; &amp;nbsp; return false;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; } else {&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; &amp;nbsp; return true;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;line-height: 1;&quot;&gt;&lt;span style=&quot;font-size: 9pt; line-height: 1.5; font-family: Gulim, 굴림;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span id=&quot;callbacknestdvlptistorycom2195584&quot; style=&quot;width: 1px; height: 1px; float: right;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;이런 함수가 있어서 이걸 사용해 볼려고 하니 우리나라에는 안맞는거 같아서 수정함.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;http://우리나라.한국&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;이런 도메인이 존재 할수 있는데 위 함수로는 체크가 안됨&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;그래서 아래 소스로 수정 하였습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;^(https?:\/\/)?((([a-z\d](([a-z\d-]*[a-z\d]))|([ㄱ-힣])*)\.)+(([a-zㄱ-힣]{2,}))|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&amp;amp;a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px; border: 3px double rgb(193, 193, 193); padding: 10px; background-color: rgb(238, 238, 238);&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;function ValidUrl(str) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; var pattern = new RegExp('^(https?:\\/\\/)?'+ // 프로토콜&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '((([a-z\d](([a-z\d-]*[a-z\d])|([ㄱ-힣]))*)\.)+[a-z]{2,}|'+ // 도메인명 &amp;lt;-이부분만 수정됨&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '((\\d{1,3}\\.){3}\\d{1,3}))'+ // 아이피&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // 포트번호&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\?[;&amp;amp;a-z\\d%_.~+=-]*)?'+ // 쿼리스트링&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; '(\\#[-a-z\\d_]*)?$','i'); // 해쉬테그들&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; if(!pattern.test(str)) {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; &amp;nbsp; return false;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; } else {&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; &amp;nbsp; return true;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림;&quot;&gt;테스트 결과&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://domain.com&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;https://domain.com&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://www.domain.com.test.co.kr&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;https://www.domain.com&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim, 굴림; font-size: 14px; line-height: normal;&quot;&gt;https://www.domain.c&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;https://www.domain.comses&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;HTTPS://WWW.DOMAIN.COM&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim, 굴림; font-size: 14px; line-height: normal;&quot;&gt;HTTPS://WWW.DOMAIN.123&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;HTTPS://WWW.DOMAIN.COM&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Gulim, 굴림; font-size: 14px; line-height: normal;&quot;&gt;https://domaincom?ads=asdf23&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://안녕하세요.com&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://대한민국.한국&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://1234123.com&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://1234123.한국&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://127.0.0.1:8080?#hash&lt;/span&gt;&lt;br style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Gulim, 굴림; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;http://127.0.0.1:8080?test=1#hash&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;color: rgb(102, 102, 102); font-family: 'Lucida Grande', Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 19.2px;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: yellow;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal; background-color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: normal;&quot;&gt;&lt;span class=&quot;highlight&quot; style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: rgb(0, 0, 0); line-height: normal;&quot;&gt;&lt;span style=&quot;font-family: Gulim, 굴림; background-color: rgb(255, 255, 255);&quot;&gt;- copyright&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face=&quot;Arial, Helvetica, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 14px; font-family: Gulim, 굴림;&quot;&gt;http://dvlp.tistory.com/&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;</description>
      <category>Web/Javascript</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/38</guid>
      <comments>https://yoondeng.tistory.com/38#entry38comment</comments>
      <pubDate>Thu, 26 May 2016 10:29:09 +0900</pubDate>
    </item>
    <item>
      <title>자바스크립트 널 체크, javascript null check, javascript null 비교</title>
      <link>https://yoondeng.tistory.com/36</link>
      <description>&lt;h1 class=&quot;postitle&quot; style=&quot;font: 21px/normal sans-serif; margin: 0px; padding: 0px; text-align: justify; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px;&quot;&gt;javascript null,undefined, empty 체크 방법&lt;/h1&gt;&lt;div class=&quot;content&quot; style=&quot;font: 13px/normal sans-serif; text-align: justify; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px;&quot;&gt;&lt;div class=&quot;syntaxhighlighter  &quot; id=&quot;highlighter_234429&quot; style='margin: 1em 0px; padding: 0px !important; outline: 0px !important; border: 1px solid rgb(224, 224, 224); left: auto !important; top: auto !important; width: 1377px; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: relative !important; direction: ltr !important; background-image: none; background-color: rgb(255, 255, 255);'&gt;&lt;div class=&quot;lines&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;div align=&quot;left&quot; class=&quot;line alt1&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none; background-color: rgb(255, 255, 255);'&gt;&lt;table style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; border-collapse: collapse !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tbody style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tr style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;td class=&quot;number&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 3em !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(175, 175, 175) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&lt;code style='margin: 0px; padding: 0px 0.3em 0px 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 2.7em !important; height: auto !important; text-align: right !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; display: block !important; position: static !important; direction: ltr !important; background-image: none;'&gt;1&lt;/code&gt;&lt;/td&gt;&lt;td class=&quot;content&quot; style='margin: 0px; padding: 0px 0px 0px 0.5em !important; outline: 0px !important; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 0, 0) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; border-left-color: rgb(108, 226, 108); border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 3px; border-left-style: solid; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&lt;code class=&quot;keyword&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 102, 153) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: bold !important; vertical-align: baseline !important; float: none !important; display: inline !important; position: static !important; direction: ltr !important; background-image: none;'&gt;if&lt;/code&gt;&lt;code class=&quot;plain&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 0, 0) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; display: inline !important; position: static !important; direction: ltr !important; background-image: none;'&gt;( value ) {&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align=&quot;left&quot; class=&quot;line alt2&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none; background-color: rgb(248, 248, 248);'&gt;&lt;table style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; border-collapse: collapse !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tbody style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tr style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;td class=&quot;number&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 3em !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(175, 175, 175) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&lt;code style='margin: 0px; padding: 0px 0.3em 0px 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 2.7em !important; height: auto !important; text-align: right !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; display: block !important; position: static !important; direction: ltr !important; background-image: none;'&gt;2&lt;/code&gt;&lt;/td&gt;&lt;td class=&quot;content&quot; style='margin: 0px; padding: 0px 0px 0px 0.5em !important; outline: 0px !important; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 0, 0) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; border-left-color: rgb(108, 226, 108); border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 3px; border-left-style: solid; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div align=&quot;left&quot; class=&quot;line alt1&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none; background-color: rgb(255, 255, 255);'&gt;&lt;table style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; border-collapse: collapse !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tbody style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;tr style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; position: static !important; direction: ltr !important; background-image: none;'&gt;&lt;td class=&quot;number&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 3em !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(175, 175, 175) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&lt;code style='margin: 0px; padding: 0px 0.3em 0px 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 2.7em !important; height: auto !important; text-align: right !important; right: auto !important; bottom: auto !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; display: block !important; position: static !important; direction: ltr !important; background-image: none;'&gt;3&lt;/code&gt;&lt;/td&gt;&lt;td class=&quot;content&quot; style='margin: 0px; padding: 0px 0px 0px 0.5em !important; outline: 0px !important; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 0, 0) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: top !important; border-left-color: rgb(108, 226, 108); border-top-width: 0px !important; border-right-width: 0px !important; border-bottom-width: 0px !important; border-left-width: 3px; border-left-style: solid; float: none !important; position: static !important; direction: ltr !important; -ms-word-break: break-all; background-image: none;'&gt;&lt;code class=&quot;plain&quot; style='margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; text-align: left !important; right: auto !important; bottom: auto !important; color: rgb(0, 0, 0) !important; line-height: 1.1em !important; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; font-size: 1em !important; font-style: normal !important; font-weight: normal !important; vertical-align: baseline !important; float: none !important; display: inline !important; position: static !important; direction: ltr !important; background-image: none;'&gt;}&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0px; padding: 0px; line-height: 1.5;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin: 0px; padding: 0px; line-height: 1.5;&quot;&gt;그냥 위와 같이 쓰면 됨.&lt;/p&gt;&lt;p style=&quot;margin: 0px; padding: 0px; line-height: 1.5;&quot;&gt;아래의 값이 아닐 경우 true 라고 함.&lt;/p&gt;&lt;p style=&quot;margin: 0px; padding: 0px; line-height: 1.5;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;margin: 0px; padding: 0px; line-height: 1.5;&quot;&gt;null&lt;br /&gt;undefined&lt;br /&gt;NaN&lt;br /&gt;empty string (“”)&lt;br /&gt;0&lt;br /&gt;false&lt;p style=&quot;text-align: right;&quot;&gt;copyright &lt;a class=&quot;tx-link&quot; href=&quot;http://blog.naver.com/fromyongsik/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;color: rgb(102, 153, 255);&quot;&gt;네오 에이치&lt;/span&gt;&lt;/a&gt;님&lt;/p&gt;&lt;/div&gt;</description>
      <category>Web/Javascript</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/36</guid>
      <comments>https://yoondeng.tistory.com/36#entry36comment</comments>
      <pubDate>Wed, 17 Sep 2014 15:14:26 +0900</pubDate>
    </item>
    <item>
      <title>[Junit] Class Test</title>
      <link>https://yoondeng.tistory.com/34</link>
      <description>&lt;p&gt;우선 Junit을 사용하기 위해서는&lt;/p&gt;&lt;p&gt;Maven에 junit을 추가하여야 한다.&lt;/p&gt;&lt;p&gt;아래와 같이 추가하면 Junit Lib를 프로젝트 내에&amp;nbsp;추가를 한다.&lt;/p&gt;&lt;!-- Colored by Color Scripter v2.0.0 (http://prev.kr/app/ColorScripter) --&gt;&lt;div style=&quot;display: inline-block; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div style=&quot;font-family: 나눔고딕,NanumGothic,돋움,Dotum;&quot;&gt;&lt;div style=&quot;width: auto; font-size: 12px; display: inline;&quot;&gt;&lt;a style=&quot;color: rgb(1, 1, 1); text-decoration: none;&quot; href=&quot;http://prev.kr/app/ColorScripter&quot; target=&quot;_blank&quot;&gt;Colored By &lt;b&gt;&lt;font style=&quot;color: rgb(0, 119, 204);&quot;&gt;Color Scripter&lt;/font&gt;&lt;/b&gt;™&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;table style=&quot;font-family: NanumGothicCoding,나눔고딕코딩,나눔고딕,NanumGothic,돋움,Dotum; font-size: 13px; white-space: nowrap !important;&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;td style=&quot;margin: 0px; padding: 0px 3px; text-align: right; color: rgb(136, 136, 136); border-right-color: rgb(0, 119, 204); border-right-width: 3px; border-right-style: solid; background-color: rgb(255, 255, 255);&quot;&gt;&lt;div&gt;1&lt;/div&gt;&lt;div&gt;2&lt;/div&gt;&lt;div&gt;3&lt;/div&gt;&lt;div&gt;4&lt;/div&gt;&lt;div&gt;5&lt;/div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/td&gt;&lt;td nowrap=&quot;&quot; style=&quot;margin: 0px; padding: 0px 3px; color: rgb(1, 1, 1); white-space: nowrap !important;&quot;&gt;&lt;div style=&quot;background-color: rgb(247, 247, 247);&quot;&gt;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;dependency&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/font&gt;junit&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;background-color: rgb(247, 247, 247);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/font&gt;junit&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;version&amp;gt;&lt;/font&gt;4.7&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;/version&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;background-color: rgb(247, 247, 247);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;scope&amp;gt;&lt;/font&gt;test&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;/scope&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#0077cc&quot;&gt;&amp;lt;/dependency&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;이클립스 내에서 New를 하여&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 525px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/273DE33C5371BB091A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F273DE33C5371BB091A&quot; width=&quot;525&quot; height=&quot;500&quot; filename=&quot;2014-05-13 오후 3-25-31.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;위와 같이 jUnit Test Case를 생성한다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Next를 누르고 아래와 같은 설정을 한다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 723px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/232447355371BBAA1B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F232447355371BBAA1B&quot; width=&quot;723&quot; height=&quot;461&quot; filename=&quot;2014-05-13 오후 3-28-16.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;위와 같이 설정을 하면 된다. Source folder는 src/test/java 아래에 생성한다.&lt;/p&gt;&lt;p&gt;나중에 배포시에 Test 아래의 파일들은 첨부가 안된다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Next를 하면 아래와 같이 Test할 Method 들이 보여진다. 추가할 Method를 선택하여 Finish를 한다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 525px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/24378D3C5371BC1A0E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F24378D3C5371BC1A0E&quot; width=&quot;525&quot; height=&quot;604&quot; filename=&quot;2014-05-13 오후 3-30-28.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;소스 생성 후 아래와 같이 설정을 마친 후 jUnit Test를 실행한다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 723px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/221ED1355371BDA601&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F221ED1355371BDA601&quot; width=&quot;723&quot; height=&quot;575&quot; filename=&quot;2014-05-13 오후 3-36-30.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;이상 간단한 Junit Class Test이다.&lt;/p&gt;&lt;p style=&quot;text-align: left; clear: none; float: none;&quot;&gt;추후에 더 상세히 정리할 예정.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Junit</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/34</guid>
      <comments>https://yoondeng.tistory.com/34#entry34comment</comments>
      <pubDate>Tue, 13 May 2014 15:38:02 +0900</pubDate>
    </item>
    <item>
      <title>[MySQL] DB 권한 설정</title>
      <link>https://yoondeng.tistory.com/33</link>
      <description>&lt;p&gt;&lt;strong&gt;해당 글은 &lt;/strong&gt;&lt;a title=&quot;Maxoverpro Lab&quot; href=&quot;http://www.maxoverpro.org/&quot; rel=&quot;home&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0066cc&quot;&gt;Maxoverpro Lab&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;(&lt;a href=&quot;http://www.maxoverpro.org/&quot;&gt;http://www.maxoverpro.org/&lt;/a&gt;) 을 가져왔습니다.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. root 패스워드 설정&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;# mysqladmin -u root -p password new-password&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. 사용자 만들기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;mysql&amp;gt; CREATE USER test@localhost IDENTIFIED BY ‘test’;&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. 사용자에게 부여할 DB 생성하기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;mysql&amp;gt; CREATE DATABASE dbname;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. DB 권한 부여하기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;mysql&amp;gt; GRANT ALL PRIVILEGES ON dbname.* TO test@localhost;&lt;br /&gt; Query OK, 0 rows affected (0.00 sec)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5. 사용자 권한 부여 확인&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;mysql&amp;gt; SHOW GRANTS FOR test@localhost;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;6. 사용자 권한 뺏기&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;로그인 가능&lt;br /&gt;mysql&amp;gt; REVOKE ALL PRIVILEGES ON test.* FROM test@localhost;&lt;br /&gt;로그인 불가능&lt;br /&gt;mysql&amp;gt; REVOKE USAGE ON *.* FROM test@localhost; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;7. 사용자 삭제&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;mysql&amp;gt; DROP USER &lt;a href=&quot;mailto:test@localhost&quot;&gt;test@localhost&lt;/a&gt;;&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;copyright &lt;a title=&quot;Maxoverpro Lab&quot; href=&quot;http://www.maxoverpro.org/&quot; rel=&quot;home&quot;&gt;&lt;u&gt;&lt;font color=&quot;#0066cc&quot;&gt;Maxoverpro Lab&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;</description>
      <category>DB/mySQL</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/33</guid>
      <comments>https://yoondeng.tistory.com/33#entry33comment</comments>
      <pubDate>Mon, 28 Apr 2014 15:40:45 +0900</pubDate>
    </item>
    <item>
      <title>[Oracle] Trigger</title>
      <link>https://yoondeng.tistory.com/32</link>
      <description>&lt;p&gt;프로젝트를 하면서 한테이블과 다른테이블이 연관성이 없었다가 다시 연관성이 생겨 두 테이블이 Sync가 맞아야 할 상황이 왔다.&lt;/p&gt;
&lt;p&gt;이때 두 테이블을 똑같이 작업을 하는 방법으로 Trigger를 사용하였다&lt;/p&gt;
&lt;p&gt;tb_cctv_info는 메인 table이며, 이 테이블에 데이터가 들어갈 경우 tb_fac_cctv_info라는 테이블에 데이터를 똑같이 작업을하는 Trigger 이다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;create trigger cctv_sync&lt;br /&gt;BEFORE insert or update or delete on tb_cctv_info&lt;br /&gt;for each row&lt;br /&gt;BEGIN&lt;br /&gt;IF inserting THEN&lt;br /&gt;insert into tb_fac_cctv_info ( cctv_id, cctv_nm, ip_addr, prt_no, setu_pos, setu_dtm, x_crdnt, y_crdnt)&lt;br /&gt;values ( :new.source_id, :new.source_tag, :new.source_ip, :new.source_port, :new.source_tag, sysdate(), :new.coord_x, :new.coord_y);&lt;br /&gt;ELSIF updating THEN&lt;br /&gt;update tb_fac_cctv_info&lt;br /&gt;set cctv_nm=:new.source_tag,&lt;br /&gt;ip_addr=:new.source_ip,&lt;br /&gt;prt_no=:new.source_port,&lt;br /&gt;setu_pos=:new.source_tag,&lt;br /&gt;setu_dtm=sysdate(),&lt;br /&gt;x_crdnt=:new.coord_x,&lt;br /&gt;y_crdnt=:new.coord_y&lt;br /&gt;WHERE cctv_id =&amp;nbsp; :new.source_id;&lt;br /&gt;ELSE&lt;br /&gt;DELETE FROM tb_fac_cctv_info where cctv_id = :old.source_id;&lt;br /&gt;END IF;&lt;br /&gt;END;&lt;/p&gt;</description>
      <category>DB/Oracle</category>
      <author>gray.yoon</author>
      <guid isPermaLink="true">https://yoondeng.tistory.com/32</guid>
      <comments>https://yoondeng.tistory.com/32#entry32comment</comments>
      <pubDate>Thu, 13 Mar 2014 16:11:38 +0900</pubDate>
    </item>
  </channel>
</rss>