코드 그라데이션

서블릿과 파일 업로드 (1) 본문

Java, SpringBoot 추가 공부/파일 업로드

서블릿과 파일 업로드 (1)

완벽한 장면 2023. 11. 11. 17:00

controller/ServletUploadController

@Slf4j
@Controller
@RequestMapping("/servlet/v1")
public class ServletUploadControllerV1 {

    @GetMapping("/upload")
    public String newFile() {
        return "upload-form";
    }

    @PostMapping("/upload")
    public String saveFileV1(HttpServletRequest request) throws ServletException, IOException {
        log.info("request={}", request); // 로깅을 통해 HTTP 요청 객체(request)를 출력한다.

        String itemName = request.getParameter("itemName"); // 요청 파라미터 중 "itemName" 값을 가져온다.
        log.info("itemName={}", itemName); // 로깅을 통해 itemName 값을 출력한다.

        Collection<Part> parts = request.getParts(); // HTTP 멀티파트 요청의 모든 파트를 가져온다. 이게 앞선 그림에서 괄호로 묶었던 3개
        log.info("parts={}", parts); // 로깅을 통해 파트 목록을 출력한다.

        return "upload-form";
    }
}

 

upload-form.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
</head>
<body>

<div class="container">

    <div class="py-5 text-center">
        <h2>상품 등록 폼</h2>
    </div>

    <h4 class="mb-3">상품 입력</h4>

    <form th:action method="post" enctype="multipart/form-data">
        <!-- 상품 입력 폼 시작 -->
        <ul>
            <!-- 상품명 입력란 -->
            <li>상품명 <input type="text" name="itemName"></li>

            <!-- 파일 업로드 입력란 -->
            <li>파일 <input type="file" name="file"></li>
        </ul>

        <!-- 제출 버튼 -->
        <input type="submit"/>
    </form>
    <!-- 상품 입력 폼 종료 -->

</div> <!-- /container -->
</body>
</html>

 

application.properties 에 로깅 옵션 추가

logging.level.org.apache.coyote.http11=debug

 

실행

http://localhost:8080/servlet/v1/upload

 

로깅 원본 파일은

2023-09-25 14:13:20.435 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [1025]
2023-09-25 14:13:20.435 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Received [POST /servlet/v1/upload HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 60353
Cache-Control: max-age=0
sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
Origin: http://localhost:8080
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7CkOmOrPNq9cz83C
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://localhost:8080/servlet/v1/upload
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: Idea-2cb03026=a6d91d98-a89f-40e6-9d4e-4dfec7692b2b; refresh_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJlandheXRvZ29AZ21haWwuY29tIiwiaWF0IjoxNjk0ODM5MTQ2LCJleHAiOjE2OTYwNDg3NDYsInN1YiI6ImV1aWpvb25pc21AZ21haWwuY29tIiwiaWQiOjF9.ypBPPpaI-Lx0H0DKuBYDqoCNngseUOdF-SDQpru7ZJ0

------WebKitFormBoundary7CkOmOrPNq9cz83C
Content-Disposition: form-data; name="itemName"

놀면뭐하니
------WebKitFormBoundary7CkOmOrPNq9cz83C
Content-Disposition: form-data; name="file"; filename="nm.jpg"
Content-Type: image/jpeg

Y  Ð  
[        mluc          enUS      


ÿÀ „„" ÿÄ              	
ý
4g+ê?
ùsLÇkâîòñðýèÙn_Co5&vþ›|?K Ÿ‚æ×å÷çbª3€<—•]ÊÖÚǟv£áý¬§ºB,.Ó{Þßz ®©ª lmcmywóðTaýþ7ñQ0kßa¾›í4þȘ÷ø+5ì‘Âεœ;œ4#ÜA^ò±¸"¨2¢ªÿ Äëš/siFsðq>å|­¹ˆˆ€ˆˆ€ˆˆ€ˆˆ€ˆ‹ár¨¡Î™‘CÖð`"E˜wˆTïÅ#ÅÁZ*Q‰ÇüíøÙLŒþfüGꦉȥŠ†ÿ 0ø…wŠ¢$Pæ_s ú‹àrfAõË¥Ð}Eñ}@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDg´g}ù–ÿ á
u×úx)P܎@mà|¿TŠ=3oö>%d}ªÇߙø)pãrV¹ÝRMȽ†ã]7ð÷¨£6w+m|9ÜüzÆ}NŸŸw÷_F2í7ß¼÷*QO 6;o}éMIÚ¿!¨åo¿ÍëÂEÖçÆ~ðEÁø+™c£¨ªÄXLÜ®;g~di%“šåÒ9×ÔDUD@DDD@DDD@DDD@DDD@E²€	;ã´g_ݛr7ååº+ÜEá3ˆ‰Ô4[į¯ÆßÈ7æ0¦˜öî—V츛ô»­~ë|n¤Éˆ³ï¶ûmmÓL\åáKu[FîoBo¯-Ê£¨›(.Ó@{¹ýSL\îÅüß J”üe£¼û­õ²¶(kóņÀ=“S£C››Wh4½¯ ^nÅ°Ï?S‘JÞ¥ÒçŠFJ.Éeã. ‚ã˜n4÷M\^§¶_ûß +çíGåûþŠÝ¶Ûé{÷‘½¾
4vF1¥Ú÷åO7mÏ-z¼£…â`}¡Åø½¯qÿ “Ÿ…Õ‰è%	üHí?Rð.CM¥š4“b3ۙ'½_¾ Åí¶ãVÚøÆ…ïü=Âÿ MT¶½®Àïü·½½ö·ÆÜÔ̧MÀ±#¼ÿ K©M–äÿ »ª›5íϞú˜Y ›èÓ¿åeQ`[}<‡ÆÖOz¤ŠIÛÇúmú©ïZ×Û¿á÷dÿ y\¿Š•bîÕöï6¿}¿U+.æÇÄòý.¢$X܁Üvó·ØA8å6¹¶üõñÔëðQ‡r¹åÎÿ ?ÍJ´îGÞ¼­ÝÞ¾± ^Ýü¿?—ÙAP$_ÉJëò}þ«áuìr{ÏÑDëwÚúxŽÅ§Tƒ¹çð?%åqÕd±R=Ѐds™mv$»zÁa»M†¶ï Ú|6Öãà¼7ë?
’2sÅªv‘k´ÅMÖ¼;Od€v÷àþ-õ´pÔŠhq*íìèàôkQ+$ ÿ ô=‹p]
2023-09-25 14:13:20.459 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [8192], byteBuffer.limit(): [8192], end: [1207]
-¿è’:ÇÍA¥·—ßõ
\•í{ˆ$1®u†îÊ	 ly}"ªÍo—æU)Վ¶—øÙ0~>£¬{ŸgºÅĀIԑ}oªÉ!ÊÃms­©±=|¿U*Ýßo‡èÖq}fK«Ö;m~ýÅDʗoý殞+ã2ûueō¼swÌýt^ŒJyëî·Ï_¢i‹‘†8„s°zýÓĬ·õ	©m‘ÆyÛïÂÿ 5XÜI‡ø‡Å4ÅZ)Lœ¾EG™TD‹à+ê" """ """ ³8ºâCoåiú…oÉ%í¡¾šn|ï©Ñ\¼PÓÖh@³Ô«p;ü žûü/·æ°éóTèu"ÀۖÂýëƒxl…ØŒDƒwañ;q»ž×\‘pwï]꩔åuïìž^[šá/ÒÚt­7þ«‚ú—8æ‚MÀ¹$\Ý­¾äx§&õz
LÓ_}É£©¶Œ ¼S@ ç°9ˆ&àëm/’=sñ‰Önj1Nð­ÖÖß]·Ðiߊ}
‡C~Õ=;Çý/‰Í#Àƒò
®{í¡ñ
îXÇ¡öéRãüUÿ âp&­G7ÔDUD@DDD@DD_?g|¿™ñVÌtÎ&î¾úî¸Ó[}è®^4’Î×ìý
60Æ)Øþ˪ xt¯oâiiçí;fÆÃ)“ þÕü/0x#^Øþ th¸¶òËÛ66jÒÿ LBÚÜ[—ÃeŠIjâi¦s£q’(›d‚B^qæcòÍt—´¬±+\ý%} áÈ)Üì{ÄjêÛQQväŽ'1Î5;¬plWhcšŽwdY¯-÷}]ýÔWãñֱΎŸ	oâj%l]+_Ý Fj‚çé”Þ8åÕº8y\;èij›>–
`¹¶¶þd\X“môêªewIXu.êæÀ¨ähÖÝeC&s]m}ŠãàWB¸R7!Ò°:ï¥Ànž6ŽÚ\»NwL‰t¾9µ¸ÛOþí¤Ço­D®ÁTÊ.{ÜOÕRTµÞ*:ÖÜïk|‡Š¡y:ƒ{hGÞë-Ä ËhOkKóµï­ýÿ {)mÃõ$n,~}ê|ò[_æ6>?Éî“=k¼Emm-5&O3@β
 ØY¢Çù¾:øÝr úhtˆÆÙ)"«êÝ«d ÁzÖ88ÜY¤hnn9¯.‹Óo0j˜*1GV¾ýiqJÃCPÐ;lc¿Øðݝ®ÓbZáv–&»/»Iæ¡ïþúëúþšØ-0° õŒ×v¿_­Ö<親>!ÂéñJ"C&d‰ä)¦IiäÚ±ÇGè$c˜ð xW•T­‚FU»CvÄñüÍs¬Óᔓçt/··Ålýåö³Y¯üÎ^-<$»[m—¨^¿þÐÔum¸ó$ül—˜´4“ÝñÊoñ*¬I†g‘½þþŠu+÷¾Àyê>þì¥Àû4ߙ?/¿ì¦4i›¼]ÞåòãÐëoíò
dN¹îÿ Ó梄í{jÆď¿-¯äƒ_vƒõø" ÎQâI÷ÿ Uˆ½!=(pîu¬dÓIXç原ªt‘ÃêÙeŽñµïcZ\÷9Ú•ÖÉÜEŒÃMõ5d4ôñ¾Y¦ålqDÜÒ=ÄÚÁ \®úQzDËÄÕV#w¶jz‰ª¢†â @Δ—TH	6|®mÈcUK]·èäêb–*ê	úêiKšIk™#ÛfŠhž㑠‚Zð4-"áÍq¼œÞÏ×éù…©­~§Ãøq³Ôæl¸¥D˜€ÃXà|pSÓ܂neŠ8؆Ì֐JÚùç‘ _;‹=¤G³i¡ Û̋Ÿ²›#»@‹ëk|?º5ÿ 2¼û?z©s;Vl¿0 QQÁ-~{yí¯¾Êu<Ö.> x{V¿ÍR¾^е¶-ʊ’a >ñäoù Ÿ%E‰î·Ç_¯5M—î°mÀç˜Ù|3æ7÷{õû÷*Y*l4ò¿>[ün «”_Üuøßæ¾Þ*DPO\æ¡Îÿ •À9¿÷l4îНõ@¿ÁGÂҘë΀2h†·Ýísr eî;•J¼ø–®Å£ÁÄý÷jµ—¦_H
 µÝʎšúÐí2ê	±p ñokß^Z-¹$¯B·
Ž)°È%9âdˆ´€[3֖~Ék¬Hq²íÿ D^ƒœ5AK.Âhë$Æd¨¯†:¹e“+KÜã+\Æëّµ­nÀi­ŸéMêæÂqjɄÒÒaX;^øM4,‚š¢Í.ê*"…¡¶}¬ÙÚÜñ:ć´¹¦j㍃â{%‰îŽHÞÙ#’7>7°‡1ì{Hs× æ¹¤@ ‹-ëôhô­¨8Õ;S•¯žH0.%‘­êá©!ç
;/­ïñî´ãÖ/ѧâ¨é*ÚZÏÄQLÃrU0JÇ»]oÁ¦öB7!Rµ•øÜož*¨òõUm»KZ2´ÊœŽ½c³²ëgbû©ÓdÃxk‰c'®ál^
âg&1Ãr9âsO@4£©ge µ¬ý΅ç«m<„þü´­Žæ׿›ÅeÖ%Lã ]ü4|õQlt½¹p¿¹Eu7÷{½ÿ ’9„ko蠂0'õùÙMëÀ±?Oš’[­ÍÉ¿~ƒÜtø)'ßoÍ }‡×îÊ8äÌþª ϧz‡ç~Do¿ 5—;}Aýא5±¼õ¿ÅLi#~kéx۟q|PH–;í;Ûã¿ÁÎÉMÏú(Üyoáý—XÛâ~¿}éE%­7дiîæ|×Ðuïlºxóó]
2023-09-25 14:13:20.460 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
2023-09-25 14:13:20.461 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Received [RÝI”3[Ù·<ï˜æóùÖ~]7åqçÑH%8G…Åü<»´S)™­¯¸¾Þþò×K—ÇP ð6S"=§ì|®¨Šc¨æ.,~7ø©mi$’7:x__=”ÇC«mÈývÍâ>)¥¤k¤ªª§¦cGiõGkÿ Ž`ù ôY!§k_âtú ¥Æû6ç{ê?_z°kºÀc‚*‰1¼)I`É!J#yµì[©#äé†bÍe‚Hç…ì’Ã#eáÚݲ0¹®±qTÔç˱·éáuSUÛÜ{¾è© môð°Þúkùîv[ñm/ßãðø(*æîכ~Cä¹QëˆãʇbXVÛm$4F´ 垢y`%ÍÑ®|Ӏ×–
‰-”HsuâºjFu•sÁMt•G¤—J捹þ‹’¾´þ–pŒV»
{êa’’9)g¦1ñ>Y&vW5ì“HÙ`ᦶ œÃPûzžqÂÜ{¦½›6éO‹ ¬¥k}ùgºê³ÐWâØ.+
ÇÉq×ÐS
†„èÑpNb
Y±\ìÙ³@,!Âæàic{ÛÍqûÕ+ÿ çYø]oþ:¦ë²‰®Ìۃ˜9¶Ü”‹ýõ
³G{·ñ¾þZÙb^"ô›À©q7áÛ©¥€‰c‘È–#TYøvÈCŚù[ràÈ L6Ø4xßÇ]/ï×æ‚0ámtԝ9Ÿè£êA#[€ÐÜAµˆÐ7
&³ÛÚÇá© |® ŽÙ¶Úà§=~EyuÎsg£x‘,$\Ë·0ç|ºV=꾤Xöy4^Üí÷}9)ÌhmÜu7»Aå¡ù¨­©šî×}MüJµúJÁ^ˆÓ86¢†®Ó¨p’	Aocà®XÆ ï§Þê	˜ÙäA"ÄsòHŽ+tk‰9ôâÆù©e}hI0ڝŒŒÔ4.$Œ6Ï s`.ðovåm­ì³¾ä–ç™ öÑ«Ÿ W
;sÃRúãCOÖeyý쑌ˮýðýE3Ù¥1â9"ÅϒÅƒ¯Õ±©¯ÑÌö6W]æLî%îÑOD¼‚”pÝ,sŠºj[©•ýcÿ Q“0]×»¢¬‡’(ś	‹=ºÉ÷ôFj=á'<oîPíâ§<ýù)$jJ‚8ôïTxÝ5à3G#	ð-"ÿ 5鵖ïꨱfgŠFó,xÄ°àƒŠ=e
9[{]ä»'Þ¨iÁ0f‰VÁ!ÊLLÄóɯò‡4üÏh:*|N&¾·'î[áM!×¹/žÄ<KœÒ\ëFnÑ/q¥éØNŠÜEM@†Ó´  oáœ`-Ðõv•—¸×vÙæãÿ qÊÕèÄ1´ò1„~ê»fVÛ+qJ·ÆÛl2°†€4hÒÖ=+®áàk_ÃoŠ„E5¯½µ:}ý•;;íàE¶ûîRŒFÉ>¾: Šr2ºÝÆܗ…_Wr ¾ŒË{÷þ‹Û™÷ÛXý<Uã׆‡ÍÍíþ;)UÉ/O/CB,RlW	¡–²†¹ýtðÑÄée¥«6ëÁ‚6™3¸™›#àéC„a¬/Àýú.bØ¥e5$4ѼԴVISG$t°´°ç’wê^Zç^Æ;Få2u„3ºÕ Odê}ûÛAä~¡WÒ4–k»ümÈ_¢ºž(°¨ÆÃøt¿€Óô*®¶>ÃÇxq×À~þ*fµÚçP;ՃéÇ-Ã0,b¼¹­u.Vø‹ŽQø‡ÂøéÙsmdñ°rK€±ÐOÏ7þ4ºƒûÙ5àöΠó‘[êâªpã*0HeCk ” x߇Õ8´ßa™­$‹<Öµ³¾¯C‰ÌLtØ]+ˆK) e5™&g o⣹6±s;ì¶äè_«=î,ÊwþÄiù'Ïp;³½ÇÞ¶†xEÍ·}>ïÞµÏÕŲÃÂtRNe®ž®¸æ·i³ÎáôÐ	#cdl¶FVHç¸Óšç]"†xíouû´µí÷eçðE1kêZíÌÎvœÚþÐÛÀüW«)mÌk©¸>áºòáp‚²×?¼€8Üiš;/fÂߪŠ»zÿ ÙÇúõ+$¬oгOáXO=~+$.‘Έˆˆ€ˆˆ€ˆˆ-Ž.·ý.ú…lƒ¸¹ð½ÇÒÊêâÖûý_‘VؕÝÂܯa§?»,ºDˆXF÷¶·>þïlô£À±â¸}MÎN¾2ò?Õ§4Ri¸d¤Žb㚺Üý»»¿ª…Ú^á£Ìl~üu÷¨®ñž.ŒKìt&w¾š©ŽÌup<³0ÌÑv<€cu¬ö<¼
ŒPŠhK¿„9Õ¿hv½¡Nmog’ð8kÖqˆM•óp…_ìªi2VUR×
ä|,"ý±•Á\MoçXîßÌ~÷G¿“N§»[/‚8җ¢¦¯¢]IWf‚Ke»Þ× æ=¤9c¬Z斛WºÆáî×Ý¢"k-¿çùþJ
$†)qi¤ŠiHàá`tÌc¦WÉn:Þ##mÛ¸ãá*ÈÍ­ç¯õ½qytt+~Ë]lŽüÏü{ˆc|•­Äžµ.…±OCFI¾zj(Üë_o÷·U6ܽ›ÛõZ‚‹Lë5qG¦ŸÖ4¶|v¼4î ”R{¿Ý[	·†Ëcxüõ2jfš¢R,džGË!öò9Î#SϚÁ&¨xŠžgê#†7ÊóäÆ8ïܪ8‹…*¨Þ"«¦¨¥”°H#©†H$,q!¯•­qcˆ 8º"<«­ó¬è·‹:8’—¢¨v%ƒÉÕº²(ºÑIûÀ×9•”¥Ò~›e†½—Êà\ΰC.†.þaÔìÇ8J&râ|<Á”îS‡‹\ƒí5Îܨ©V5ÿ ҃Ö(ü3
?án™¸ÍÃÔø—ìñ…¾hœ%º7MÖ½ÕUÌÉc’FÍ#Áí»ZÇ66†zç¤ÿ A«øŠXð`¨©"öa”žó|ßæ̆&é[Õ4ìG­­¦ÆOOYQ5S¢–ÓM“¼É+æO%gXç–uE­-iÎZ^ïoõ>`­cŠâ’¾À9ЊHO2Ö¾
¥¤Ð4ÊÆõ•/n²¦S%C÷>Ô¤,‹%¬<€û
/”r9¹üÔ'\·ñûú(&`O…‡ß’§'K}ýÙT³Pà¤"µ÷Óƅÿ ìf<r
®2hîF7éÚmɶ–v–9Ÿ™Åª³…êÃgcƂ6Êû\¡yÖã1³C¬	Ôçvƒ ¤§ŸC§~¢Èíoq›ÊÝ­^H³Z©qšÁ}Aÿ …A_(qÓýÒG׉&ã÷–ÏÙ,ƒ¾©ú‚x±Îv¤á•¤ØZåÒSÞÀh5<‚ìÌ`{^;ÿ uÆïT]=øªCü˜Ec¾3R3ÿ ë]”€/m?ÓÞ­#ÍÃÅôžÑÿ ©Ù¿5ðSYÞ›øíªa±ds‡0õæFÞëZÞëäí»»»Ãïè£hcŽí6þûý7R1
™´”Ý|îÒ8)â’©å †°ÌlÜÎs€kÊçù¤hä=­Ììyync–îhkIksÈÆ5¥Û{ è¬ÕÕPá˜üpÅ-L¬Š–¾•ŽŽ'Ë!llŠ®:N©Ï†¶xÜ#%ÍdVÎíõ™‚ιÖå£ÃA¯¼®4ztü„X¶‹tµÒƒ«Dr禦ŒÛGÔÉi&ùbŽc{ä] ”¯+h|vû÷,Öâœ445܉ûøYA%06 n/ù|vùª©"ö+÷hȁ¿ýûíî
4ñégk÷åÞºWâ§Õb˜…L…ǯ®¬‘¤ƒc©“©#KC[ÌÛø.Òt‘Ä£¡®«Ù”´uU/7°h‚ÈI<´jàÝ=KÎ\Æïu$sgZċÞäêF»­Fy:yêâéVzÊ:Ü>w™‡
‡¸}U¿ñ½<ÒÓ8—ÔÕ9ÝLXÊbˆ³ñ/i GKN$g[3Èh{⍹äšÞ`àZ¦œÒ
ƒ$síÞÀí{j,V˜€ço?Ñ}h÷ø(&uöß»oïñJPyÛäÇ‘CJïáæH°Ú<ù+~¹²âNàÛ»Ãéo%pTGµŽ ßÜ?§½x³æ¿=¼°ø’•F¶åÃÀ}ßúHKM€¸$û´çòÑI{\æé·xîÖþ*ª”Í稿·ù(+ ‘ß{üO乩ëpô‘hd\3K /s£«Å2¸ƋIGJñc•Ï%µnmÚæµ´ÆÄJ·ó¦N•)°<*·ªÿ 
kLo¶軀¤¯«Š3=ßr†É+Éê¡s¬CË\ù^¦Š¢c¤]7õttD'¬¬â'vèàøf)oWø§u…øž"!±	§\6 ¶7¾"ÑԂtËy¸s†¢£¥§¤§`Ž
X"¦…ƒfÅqsZê¢4÷•ýúª™ÊöتiµÍáýЮuÕE$7¸î:ùíù«sŒ'È#šâљãmH‘¾|‹UÆo¯~ßõãñ&
*)ß%™›£‡ð»[_ÂåAzôAÿ ²CâÐVAXï¢r[#p³âŽ\üŽádEÒ9×ÔDUD@DDD@DDÿ {,ó?øU¨&nÅÖðñùŸÉ]¼VÛµƒüÇÿ 	V£XÑ¿öòý[âŠ7‹áíYS=Ο¿ê§ß@O˜ÖÞ{(K~o/é©÷Iäî4ïÛóXÒ·Ðöƒ‰©Ä™ÛG‹@ÛQâ,gl’æÁS–Ï–Ÿ1$kš"ç9›¹ÏíÞæÇfóýÔÆÄÛëϼÖêŽ+ñ¦Šp䏤|@œ°b4àËGP;]¦HÖ´9Öi9t‘ ‚è£æ¿Åb™†HÞÉc?Ƹä{+Bìž7ÃPTÃ%<ñCQM3Kd‚x™4R4‚dŽ@湤ibÓºÔ¾’½Wü?Y+ª(d¬Á¤~böáòøºÖÿ w•®êÚÒ4d2FÁsÙ؋¬x¹ó‹Ô‡¸ hÚÚhæÝêÛ¨áènècq;’ÆßãküÖÀtñêþÆð*)«àÅék©)²¶h$†¤6IY,*ò ..š=?åZÙÃXôϒX'cD‘’æɱ͍ˆ]
2023-09-25 14:13:20.461 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
:y}|=Ñæg~g5¦ÿ òê-ãuzðG¸ˆ©4‘±ÑQD*+ª%ž
k\珨Լߴ%Þ×îó›Ÿ Úø®púæ0 `À§¶¬š¶/!# ’Þþ¬˜ÕŽ^.ûzV6Náçk®dw˜³D}ݝ<
­nÓ9ÿ ^’qF,"Ï±ÏÖB֎òéZ֏º×J±EIPL¯öš	<¶?з½z33´|E¯îRáŒ6Aa©¸÷^à÷­ý•E`»ü™¯é¢1O¤ßC·ðJü KÔ>¦6¤:µ“CQD9ʼn1ºHZ×Ø_)qÙs[„=X\Dé\ÚãC†ÒEs%sê#¨kb —I1–9ä o×¾•­—hBëÝ,{¹‘ýVôìà¼CálJ—l©say†'$ôñLÉj mµy|Mwî‡ø¶Égg±±ŠÒl'җƒ89ÝGáÆëٙ“ã6!¾Wˆj]²ïNJjx`x!͒Ohúzá$`4×ï8„Ä{
þj:äø5ð÷ø•:™€æñ×緞‹í4`]×¾îúßéò*6×ïNž*4¼)ºÝ©©ã¢h½ë§Š‘ÇÄJ罃—ðÊW^Y˜±qÚvVöZ̧´opˆÍmî-Ô?Z/ð
ùZ4wù¬?…ÖÊ×Pz}ðýÁҊäi¨Áð»üF‹ Õ¹¡­s¬dcœNÍõÏk¬N˜?@±·à±Ðà˜Va¹Þ
1ÈæÚ䶑®’œ‹Èéô##Ž’SS¹Îhh.sˆkZ˜Mƒ@’N–
Î7sÞëfsÜIs‹‰$’µçÕÿ Є””RãµÐ¶,G:(rŒ‰Œn‡FÛl-cœKz†¼DIÚ©ˆ¹ÿ Hú•šÔy•,⩚ëiï*®¸]yòK¦þµ.ašç‘ à ¬h]ÈÒþ?ÙNšQ{XÜÛQã¦ê“p"ÞBþû[åº
É3³A²’îÌD2Ý[cq°îÞm2îgCœT1+·ãpêJ¢ÒnC§§ŽG‚F—kœA>kH}r.ÁG3]9öm8Èv†‹F¸KӓŠè(à ¤Å傒š16žŒ˜ãÑ+©1æÅÒkØcޓ:fÅq™#—¯¨­|-sbëߙ±_Õ°YŒ/!¹‹Z²°r6Óµf.Øú¬±üJËÜÅ[^Ï/ß	m§ÿ Rü·ò\N]‹õEV_†*Zofbõ#]¬êj7iñ>ô©;bIœ.ØÏH´!·üwáØÍÝb°Éhs؋Ö=ÃCb×m¢æšê¿O¸W_Ò+ðæŒÇáZšsº
Çx¿A}`|3-c‹Ú‰”õd^ÁÑÒÕÃ4À÷兯æ`Zñêãé^®¿¬¢©žJ‡a•…ÎtTµMyŽ.³WuqËŅù²–ÏVÖj1XFAŽ/Ä@Ž'ãw
ð°d3Ûđ—Ùt‹(úÚg·
Uó5Û·gS0‹ÌÚþ讘ÿ »]|OÔ}êµCÒ¯Ó¡œ=TÚ
&bŒ‰²Tµó˜ ¦c…â†ìåÓÈË<DDq–—€Þý
ú^ᘦûv¢Hðèb{©«YQ+H¦«nQÔ	,Þ³­ë#tV`{Û#{ـËKSÒ«Ð'	â婂8è1{2ª&–ERü¤2:èÙa#MÛûæ3r·´öƒ¹/[Áõø&èÝ×áئ0p,n931ñ¿Q$r´‚ײV:Ö ¸.õpgPâ4Ì« ª‚¶î°šžFÈÌ͵ÚH'+Úlg7KVôËôGƒˆé…E;1G¿	6¢=^hjOñG!¹ŠM]O+³µóG"Sw¡w¦D<C©jrCŒR5¿ˆ…½˜ê£mšêºfŸá»›×D5…ïV¹Ž;8Áf›÷ |;ÇÍ~}º>⺼2ª
o[:AáñYA_HFaUGU¢âÓ@ö AÜk±\gèGy¤ê¤kšh,nÎ=‡9Îs‰o´]\ck4ÕÏX©Ò}gÏE^&~Æ4MëӌáõÎâ#dì{j#xnÏsCQ4†çØ¸\WBz4¨MÆb©‘±AMŠÔͳHÖ4S×G 	s¬Öµ³ÔÏßá›r\âü³ÄѝÑT‰Y4u-qkèß]
2023-09-25 14:13:20.462 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
‡£¡ï¼_öNYÕ°8‘½ÿ w+†ä]˺׮mh=ÑìÈ|:Ãú¾J¦.h†UÏ"^óõu¾_šÙºO@¾5”]ÿ °)¯ü2M+ˆ'ÿ §OQ¯u‰ßáìa¾­^+ÿ ¼c84ð"¨˜å±¹íÐÀ/{Y¹µœÂÀãT£àªV)ã¿ùšð¸;*ùâ-µÆP†™Z†À-ÌÃýUµoÿ Úøª ƒü4´=Uïí]æ®Æûƃ–¶Wïú©¸r7g®¨Å13`jjDLöü;"–ÎÚÝou­­Úcœnâ
vï<"ßüÆ_Ü$û‚•'H´-¸3’G6Æ÷Ž@–·}uË°X À#Àhn¹’TžÈ´g|†M®s“›[Þ䜭½aÔqˆhè(¨ãmËc¦¥‚NbCc Iq<ɺiŽ!àU³Uµ¯£Â±šÆMDùímÙtbK¶š…|á½ñ$À:ÄÜ×ZÆbø\ííG$Mɦ™HßÞjCì<<@ RZë=ûkïþ‰«ŽBQt/ÅÍÿ õ6r<f§äÜâÒA³¥Ž¤i¨WVèÁÆõyõBÐöŸýcZÒ×5£@[K/\ےnt7:5¹[n«8[]TGgé¿$Ó?Ñ?¡F:q¼+Çñ4³nJ<'‚WQÃa|q6·©e9kÝÎ{a•ÎtlԐ×7uhëÁ‘âÆÍkNa¶äç{•Výµ±ø\oO	öÝåh¿2.OÔ,Ö¤C%@ÿ «‘oúýòæ­û¡·õ˜~;™áÕ®!…®t´pÍkóÏy flMÔ¸.œÃï×çù«g¤ÎŽ ÅpúÌ6®6¾
k›¡‘Òg£ÆŒå~)…ÒUÈ”M$ygkGð‰ã-—(äÜÄ冽
‰-¹aus¦Íc®5 軄`pCs1E~qDÈõæNF´UÂ?²·©Ÿ®Lpgª©q~!ˆÐQç9‰ašºrâIqxËwçq;³vÜ⮒ú/­èçŠpÙEH«uðÔGSøŠg9ðUÓ¾'¾PÇ=‚zwZGÞ9àæ—YÁŠ>â¹½ë›á°aÀ«9¶JÚSâ$l36ú_C­¯ñ9!f6Ȫ#t¥ÐÙÐÎÈæ‡ù]Lq½¤†·1m¬w€ÊìÒ°5Âi衆j™@pkŸsA±onÝYpä@È÷eèåŽþ/‡0i‰ÌïÙÔð¾ïqsJÁJââvЋ¹¤¿`ÞÖp².#¶—
×+#»Ù:i¨#]z¬§“ß-ʑ‹@.ó{_ ñ¸û
`Í>΀Ø\€5:å±ÛÎ<õoàuÒ¼~
iØ“X.íÍX}:ã­¦Á±
…á6éaslÆþ©-~Sg3´Ó½œƜÅǽcFlg®Â%™_‰Á­·¥®žŸ"`ÑdV¸kb;Z‹õ¸ÚãÍEvwj@·ß¿ÍRԋ°Ž}÷¶ {¼UTÓܓ{ƒ«HÄ{øß`©ª Øí¿/ëaªŠ
sO•´ðScSþQòÊGå©ñT˜|y[ Û­½Žã3öÒÜ÷ÓUUNMΛþZý–¸zÅx‚J~Æ_ò2’Ûÿ ‡Q[/ø±Îep‘뿾›|øÞÇ`˙̡’¥ ’ê'6¬ æðö@æ¸àµ¬½èƒÀ¬Ä¸Ÿ£“X䯅òÊ{Ô½„á{a,>¯Ð¥;€øáÊöú.ú¸ähãL5­ž´ÿ 1Ãk ñ/- ò6<—x¡e›o»û¤Mß~jŸ¦ùª¨„ïáú]SâzËQA+þŸÑJ}­~ëö«¿»¹|Ðßû¨Ò’v¶ñ^M}(i¾þ`l½âÝòêÏÖÊ
ïv¶fjèΤÅ&xˬ왚×)€ú­8F	)*괽箝÷ҙÔëp$~\Þïßý=,‡[òîå¿ÑSô á*v5±à{ÃZçŒÔºÀnçÔ>W¼írââVJá.Œ°Ú´Páô4@?I×]cº“¹ñWDV “ày
<6QºòÚÿ ~ôLE+õחÑ@Ù·÷j£ë/Ëk©1¾ö¶×¿ß½Rãò²4Þ縪w:æÚXóò*t;N”ÒÅßÈÜ~_U">w×ÅMª~šø[ïÃÉSõFÜîo§Ž÷ExüC‚õ€;+Û«Ñc~ãÞ	6T˜F _v>Âfjëi6ñW+[a®¶«oŠ(_~¶´ŽWÌ/±ÚßNå(ô©Þs#¿’‰Ž¹±ó¿‚§¡©ÎÐñ¶ÎXó=Úìªl¿©þß‘ZM€÷&9w¿É$7>=×Ö@MƺþKbxv«@ýqöý‹„wœQçÿ á$¾‹~:».ï/¿5Î\¿~㥱»å®¨åkFÊx¼õ2-§eÊĽ.ÿ AÚçÃ3ßAT7s{²k`KAm»qí{ƒòú¯ê¸gˆä¸ú¢®뚗¶¶ÏÔfûÝïV_¢6`áŒ$;LÔæbëdÊ&–Ii7-!’5ÆOe¥æOø–›&
í n>KБ h6ÃÈ~‹Ël'µ{ç¾Ü¿…¬?B£
gXrßKwkoŠò8çŽiðÚ*ºú§ä§¢§’y]»²FÒlÖÿ £ZÑ«œZ 7zï=Ú_á ú•Î[O!£áèCª2×â رå´p»³”‰&d“¸7ðð›#oYsæ]
2023-09-25 14:13:20.463 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
a|pêŠÙ™—4q‰Ðí3½ïÎW$Ì%®k\»iÓgø[ðør`ô””ñw2†H¢ƒ™Ê2~*Ԏ=tó鉌ã8¼•ðVÖÓEÖÃ)iæ–&SÆÇþ䈢pkê%6’G¼=Îsƒ.XÈØÞâàŽ”Á§°œÃ\°—«i”ݜ‘o.åùêècˆ©©1|"ª®ÿ „¦Ä¨**²‚ãÔCS’œ¡®sìƸ–4$Û|gÓk„¢€Ììz‚@[pÈ$uDäh …›9þ\—ice#3‹åñ܉ú­2ôÜôùÿ gÜì?	Tâƒ+ª](2Á@Çُk\Þ²ª@‹­{Çn6?
}MD¹$êâÍvÆÇ:W‚Ñ”2GDz2Çq{sý-÷ô\Lõ¤Ë9ã
eÏÂÞcOª©ˆéo%%ĝGÏõSí©#d*Hî#¿ä¡-·šœè½ÊG¾ÿ aM(ì¸[ïENÈ7¶Öûçà¦Ê6·2tó¶êk–öÜ÷í§æƒÃü&I\!¯íË0ßËš©Ž:âþ7碤ã
ÆBÆÔHðÖ±ìnº\½ÀXs7ßÀt²¸i2HÐæZp;…0Q¸‘nÏ?¿è¦²<»}÷¯“³îÊ(ÆÀû•ë{n¹ë‡âBü{¤ڛ
É52£ÑŠ£™°»‡ñ"ó·W%ŽÃÿ Ÿ€ã ]ÙnÞïÓò^Oñ]-ÕVTCKM	’iÞØã`îç/} “µöM1Ê~‹=X\A^ö»tE6î{*ëH¸Ñ@ãI³ŸRréxݨúéá
Y½ˆøƒywú*"q°`Órt°·ˆo‹Ñlîv ¾b$ÍcÑI#ZHCc0eîçÎÅòzR®ü°Ú¦]߁­Šy6=‡ºî{­üox:Û´âãÉTøꇣ<f*
 ]Û -`®
5»§{z˜Áydh¹÷"ùÿ ¢?V¯bFìrx°Z@I’ž’VOˆJ´nxÝ54 ™¯2Im3BHC:p×A‹t“ØcDXVQKŠÕCgS‰d|½U;¦hË#Ù,¬¸?¼ŽP?À—.ñF6䬆úÂp
ü½Ä¨éƄ¶¿T1í¦ÆÆÞ{®>úà8xÇÄTU6§
ˆmüPTÔ°ëϲY§-;ÂëóH¸ó\ÖõÏð¹,Àk@ì±Õ´6ÝÏO¾ÚKçc5ËðºÍê |xãxLÙ^ÏÅÏãp¸ê1
…Ü7Žß•þ¿šå¯­§‹šü_
£Ôþ–gAÕµ 4ßk‘G{ikî‰ZuÑD†~ Â7ëqŒ5‚î3{@zsÐkk¯ÐTƒsÜ>Wºà·¡¾ڞ,ÀæéûJ)­npfœíwVïS™§˜ýmù%"˜<Øh9u‡ê§DëaËKù$ÿ ‡çßáeÞFúå$_ïÃ_²£I®”]¾7¡þªª1«oßp›ª*Rú_}ÿ P¨x»ê)*%½œØœÖ]
2023-09-25 14:13:20.464 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
úØe–¢HÜßϸ âÏG/-[)‚Zø–ùºÈjÌr±£lÎ,ÚÐ5–ú\U„2J)â”5ϙ†í¸°ŒÌ³¹6 ‡[FÆç|Ë"t¥ÐÄÍtõ.'Cžºgb8.#<BOÆ:¦AøÊY3ƒISÛþ2JXå{l3YN)üÎô:Åñ
šF´—@Oh“µØ•å·¥˜Ã%l¸[G–¹¥¥¤Ž`óÛUktMÁ´¸m)(è‡SÇ؊+3­{žw4½Îš[gq–GÈow\æ2úÐòëóÒÞ~<–+QkGÄØÄYC£¦ªÊ{N³¢qòÁæ·.f«
靲OøWQU²kµ¯Ê"’¹Ú<ÈǞW¼MÐó²÷ØNoÙ·¹Hèòˆ:Z¹œÌ϶Á‡+Ë䐫µŒö6·(¿}õ*lìåão’Š1{Ÿü”Y‡¼Ÿ°´ÊM;‰µõ>²¬.›ºt°
SVtï5/—1=æë2á¸tpGPÆÈ£c#Ž&¶61€ Ö²6€Ö5»´X!W«¾œùùrù¯-­°ñs¤ø‚[ò /Fؒ5ÐøŽ~ë/9Ð[ù¤:÷™²Óã@#K’,uDmm,ý/=XU‘ÔÍ_ÃP
ÊpÊÆZæ×sŸXÆ÷¹îk@Ԑ5[kзª»¬trcS3
΄Ž\—̝¢I6pÛê¿äŒ˜ëq}€åq÷ªŠ«‚Z܁ñû¾ÊÍé.#°ú`E¥«{y¹°1η“d1’{쯨>m¿²µ±XZìN„h\ØæyðtcnW-ßÁeœ:œ1h òUãB‰m–6ãXí+Ž»‡|E¾£è¼	óý9…|q¶
÷sÏäйØé*ã‚+[�M€º}þŸÑ[ÍÃñc´p0iÉî?7)ÌáYÛË;òÆþ7ºe5sSÞÞ*\G¸Ûàl­ýânÐÖ‹lÖ1¿<ª*ŽÅ=†Õ47›²4¼ßrK¯©>
å6.g_/%ò²¹¬Îs[¶äó#ì/
ߚCÞò\}÷*šÄÝþŠã”ÒC#këÀs2g–œT8S=ÎhÎ÷:®obHÚæó›¤JKè÷¸q’9\/ÿ E¾k$PôOGзàµOÂíÚ&pSŝa9x͏=ˆ*åµ{D\[M‚˜ôçFQNíI‹Zuۓ¶?šÎÑፘÑî
4cP_ ë$k‰tq9ÁݦwwÒs Vñ6׺–røª(êš	4õp?<2hC²“v<°‡†¼–›€µãÃxÞºhXþÀ©1ŠvdW-T5°äê]UKH#u@œD爄ÂF°—k²3Z¡õE#èpéóÅÄ8ÍCh©°§õRKGG—ýû¨0¾F6ÌÐÓÄç4Ëf©¯ªom8‚ Ã¨©(iš<Tñ§f&ˆÃ{bçeĕ‹½}(ðº­òI‰cuûëíTÎçå22+—zlÌm¡k‰!‘‡9ùlÕÿ #ú¥X©£o¾åMQËȪ†¸)5EeT:ÖÑR;•üþüÕUIÖÃ~|Ô Û\ $ì ԓåk£k/Žç/lT-&¢ffiÕÂ6œÄ‹m¨[¬ÅÃØ[a‰ŒÖ |–,èü]LÕÏ9ql:ÚlÛÏ}ÊÍ -G:õVDD@DDD@DDDAð¬y]{»Sí;oõÊ°q=ý	í»`{ü­qSÆtÖäöþ—òH⸵Óæ.T-h¸°w•öùÞêkàGpþ÷Ym% ÚÙ®;þ¶²šrú~Z©Æ>{øŸ±o5Lûÿ ¨ß»o}µA5™»®/Þí¼湍ëdàÒÊÚjÖ:jH¤k4ÿ ‚g²wŽnýÝe6kí”wëÓn·뮶ùE­>Ÿý·À]=®úÞâ–võ:îoďûÜ
fB[øˆŸG×\ sò1ђàæ8‚X̙zÉø2óŒ\Ô8°=±AC^^A'²KécÓVHö8hM®
4ûЕ43¸ó\ÃéCÖw‹Ö揇pá‡@ækñ É'šlè`Ð5Íö…Å`&×`Ø]ñ¯buùÅ،X¬íP6A›
I'`íôÕ[ðø>'8q :*
<´Sƒã[	c÷°sò5eîTÃXX`øØÿ ‰ÿ ðÿ Bð¸Ø7ÿ v$lz·|trÍ6L©†° þZSæÇÿ çù¨ÅV6ÐSJío{H/ÿ ågÊ;“ îL5…%ŒéiϾAo™_?kbÿ ý’ÿ xþ~â³gV;—ά)†°˜âQ£ÿ aÇ¼Jáòêќ]‰7S‡ƒå9ÿ ifΨw/@î	‹¬%þÛV雺oÿ ×Ïô_OÕ^ÿ ³e¸Û÷ÿ ʳ_á‡pø/Ÿ…opø&Ã#¤Ùů‡T[œÃð
àÀq7K$1º"ã#„o#3GZðÜÙI;èv#šÈ¦‘¿Ê>
Ìxî ¿O±É‚™À´¶ÃÏåú©ºëùwŸ›uÿ O¿%î7Üùk좠‘×çöµÔúfí®Ÿ×OþªS[` ä-~íTI›7 4ÖüÅρ߽ñ¹ððóøj¢.ÓÏ_’‡?>G_¿¢0xmÓòAþÇྙ,IӘønKäîÔ‡Ž‡îÊ	c$[{_æ,>¨>g½­Ï_}’¾ÇšØkð¶¿-cm€;í÷óQ¸›8~Ÿz ’ïlåõ×ï½EçN/;¯Žv矆û¯ÞÊSõpñúêB**­÷Ü·ïÞ¦u„7•ï§¸oõ:)bÇ_wßݔÈâïñä*M3́wÒÜÕGSr-Ï/åÈmºÇÏÞwüŠ"llNíþüµÁuøµ\ÇhÓ`mæç›ÿ EsBÍÎçú/#¡rø©ÆÒTIcmÃ]"qàª2ˆ_Q™|!@!Êb „FÜ«ê ùd_Qy<CZÆ5¹Ü×:ÅÎ6nœ‰:k¶º*|€÷vî÷/GÂY;r49®ÜŽjºtdš:ªŠkÿ $vAÿ !%¿÷T«cãÔË訤iÚóø栗´¦á<i½–V´·kºK¾97ñR[ÁÉÞ¼û¢‡ÿ ñ¬¯¥ð{wX|Šƒo¯ÏUeŽñS¾! òlcèÅ÷ÿ DõçÚÄj=Îè{=~¯ˆ£ÍJ0›‘ËŸåóVqèv¬ïˆÕ{¦xú¾· ùMË«ªÜN÷¨—ÿ 2¹M‹É£Èü¼”/wˆæU¢:Úª©wœò«”cÑþrÊüGŸÍ2›ý,­¹q wëý–:1ÖbrÏr5”‘Ñ’Áڕ­67y$ÙÖþÐzˆ{2Ê4·¶â-ÝbvW×pŒtØ‚bÚ¨ánm4L‰¢Á¢ËÙ_Õ¦D@DDD@DDD@DD6Ò<܋<ùr*ÿ V>6ö‰OóþCÁJ×Þ{k	ÓKi½‡žß™Qºc±iÓoÊ㚧àüÉú}ê£ê¯¯>ýÇ_¢ËiÆm>õå±½×Æ7»àoš”ç۝ýàüt
Îö€·/?/vüÐVÅ»‰ó²¤Å°XæŠHgŒ>)£|r1ÞË㑥¯k‡sšH;)´µ@iäM”òÜ܁ùt}ô«ôEÄ0*ÈP1Õtŀ†—>hmpdžg‰Êü¶/ÈÖØœWÝ%à ìËÔHWE+šÇ5ÂÀŒ®6xÒ×ß¼]Í©Ã$f9#kãuØöµÌs{‹H#ã¢ÀÜoèÂ8”®¨¨ÂšÉ\I{ ¨©¦ÌNå͆fµÇÄ·M…–µ‹È«ÆÙ'ø§——l4îm¸påämåãÁILLl¦Œós÷ÌI:n5Öã—J£õ_pfÿ ³ª‡í
µ8Mrw?½#]t*‹Êº™ÁƒCÊÞdý.!‰G:ɤd1´73äpcEÈkA.°ÕÄ 9­MÐö ,ïÚuEÀ—X¼ó0Œ„ëXr²OÐ|²¹®¬ª–¡­ †<ö./c” Ûêu·4ÄÔ4}*aµÃþ!k]
2023-09-25 14:13:20.466 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
2023-09-25 14:13:20.466 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Received [Û	¿t®„‹k­”x¯I˜träuSƒìHÑpM‹˜Aì›4œÆíÓ´@ƒ£ªPÂΩ™H¶ÁSPôWGòÂÍMö	†±Mbn.£¢c`Ø:§9•ä¬Ò[ü&ç]Âô©°Üvýa4ÞÉQ„å'{æϧpu¼i¡Â™Êƀ<Xj¸kFÜt7/WKœ›õ‚7Øè2gåÞJ÷0lYâÑÕ厤]˜å噗ÐE—6Y[*ñø„áªfIX>aLMZ¢üµ7ÖÄõäªM5´îù~ó^GA‹õ3Ïÿ ,Ž\í¢¢Ÿ¡ª§€Ç×Ôíb3X‘Ü\,ãñÕ1uQñ¥-4okçŒJZü‘æy6ìٍ»¬@ÛóWCxaŽ† E‰™ß⨸s¡85ɝۗ;RO™Y
–”1¡­Y§""¨""" """ """ ""–K/¨ƒå‘}DÔDD@DDD@DDD@DDD@DDDAñY¸Ä­l’‡o£Ûþ`F]Úó
ú†üCú%¡&ýC>
ôE0Õ§ÿ £:;[¨e¼•^À´Ñ89‘5¤l@Õ\(ª> ¾¢ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ÿÙ
------WebKitFormBoundary7CkOmOrPNq9cz83C--
]
2023-09-25 14:13:20.474  INFO 24676 --- [nio-8080-exec-6] i.u.c.ServletUploadControllerV1          : request=org.springframework.web.multipart.support.StandardMultipartHttpServletRequest@36e35533
2023-09-25 14:13:20.475  INFO 24676 --- [nio-8080-exec-6] i.u.c.ServletUploadControllerV1          : itemName=놀면뭐하니
2023-09-25 14:13:20.475  INFO 24676 --- [nio-8080-exec-6] i.u.c.ServletUploadControllerV1          : parts=[org.apache.catalina.core.ApplicationPart@6df5d50e, org.apache.catalina.core.ApplicationPart@19d8d6d0]
2023-09-25 14:13:20.480 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [1207]
2023-09-25 14:13:20.480 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Received []
2023-09-25 14:13:20.481 DEBUG 24676 --- [nio-8080-exec-6] o.apache.coyote.http11.Http11Processor   : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@132688ca:org.apache.tomcat.util.net.NioChannel@2ec28b55:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:59798]], Status in: [OPEN_READ], State out: [OPEN]

 

일단 POST로 보냈기 때문에

2023-09-25 14:13:20.435 DEBUG 24676 --- [nio-8080-exec-6] o.a.coyote.http11.Http11InputBuffer      : Received [POST /servlet/v1/upload HTTP/1.1 ~~~ 이렇게 쭉 나온다.

 

12행에

Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7CkOmOrPNq9cz83C

이게 지금 보면

------WebKitFormBoundary7CkOmOrPNq9cz83C
Content-Disposition: form-data; name="itemName"

놀면뭐하니 // 상품명
------WebKitFormBoundary7CkOmOrPNq9cz83C
Content-Disposition: form-data; name="file"; filename="nm.jpg"
Content-Type: image/jpeg

 

콘텐트 타입이 두개를 의미

 

그리고 외계어같이 장황하게 써진 글자들은 뭐냐면

바이너리 타입이 넘어가기 때문에 다 깨져서 보이는 것. 양해바람.

 

마지막에 나온 부분은

로그 찍어놓은 것.

 

 


멀티파트 사용 옵션

업로드 사이즈 제한

 

 

spring.servlet.multipart.enabled 끄기

application.properties에

 

전체 로그

2023-09-25 14:52:00.768 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]
2023-09-25 14:52:00.769 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received [POST /servlet/v1/upload HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 60350
Cache-Control: max-age=0
sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
Origin: http://localhost:8080
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypTZMnMHiMg0je1hS
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: http://localhost:8080/servlet/v1/upload
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: Idea-2cb03026=a6d91d98-a89f-40e6-9d4e-4dfec7692b2b; refresh_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJlandheXRvZ29AZ21haWwuY29tIiwiaWF0IjoxNjk0ODM5MTQ2LCJleHAiOjE2OTYwNDg3NDYsInN1YiI6ImV1aWpvb25pc21AZ21haWwuY29tIiwiaWQiOjF9.ypBPPpaI-Lx0H0DKuBYDqoCNngseUOdF-SDQpru7ZJ0

------WebKitFormBoundarypTZMnMHiMg0je1hS
Content-Disposition: form-data; name="itemName"

옵션끄기
------WebKitFormBoundarypTZMnMHiMg0je1hS
Content-Disposition: form-data; name="file"; filename="nm.jpg"
Content-Type: image/jpeg

Y  Ð  
[        mluc          enUS      


ÿÀ „„" ÿÄ              	
ý
4g+ê?
ùsLÇkâîòñðýèÙn_Co5&vþ›|?K Ÿ‚æ×å÷çbª3€<—•]ÊÖÚǟv£áý¬§ºB,.Ó{Þßz ®©ª lmcmywóðTaýþ7ñQ0kßa¾›í4þȘ÷ø+5ì‘Âεœ;œ4#ÜA^ò±¸"¨2¢ªÿ Äëš/siFsðq>å|­¹ˆˆ€ˆˆ€ˆˆ€ˆˆ€ˆ‹ár¨¡Î™‘CÖð`"E˜wˆTïÅ#ÅÁZ*Q‰ÇüíøÙLŒþfüGꦉȥŠ†ÿ 0ø…wŠ¢$Pæ_s ú‹àrfAõË¥Ð}Eñ}@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDD@DDg´g}ù–ÿ á
u×úx)P܎@mà|¿TŠ=3oö>%d}ªÇߙø)pãrV¹ÝRMȽ†ã]7ð÷¨£6w+m|9ÜüzÆ}NŸŸw÷_F2í7ß¼÷*QO 6;o}éMIÚ¿!¨åo¿ÍëÂEÖçÆ~ðEÁø+™c£¨ªÄXLÜ®;g~di%“šåÒ9×ÔDUD@DDD@DDD@DDD@DDD@E²€	;ã´g_ݛr7ååº+ÜEá3ˆ‰Ô4[į¯ÆßÈ7æ0¦˜öî—V츛ô»­~ë|n¤Éˆ³ï¶ûmmÓL\åáKu[FîoBo¯-Ê£¨›(.Ó@{¹ýSL\îÅüß J”üe£¼û­õ²¶(kóņÀ=“S£C››Wh4½¯ ^nÅ°Ï?S‘JÞ¥ÒçŠFJ.Éeã. ‚ã˜n4÷M\^§¶_ûß +çíGåûþŠÝ¶Ûé{÷‘½¾
4vF1¥Ú÷åO7mÏ-z¼£…â`}¡Åø½¯qÿ “Ÿ…Õ‰è%	üHí?Rð.CM¥š4“b3ۙ'½_¾ Åí¶ãVÚøÆ…ïü=Âÿ MT¶½®Àïü·½½ö·ÆÜÔ̧MÀ±#¼ÿ K©M–äÿ »ª›5íϞú˜Y ›èÓ¿åeQ`[}<‡ÆÖOz¤ŠIÛÇúmú©ïZ×Û¿á÷dÿ y\¿Š•bîÕöï6¿}¿U+.æÇÄòý.¢$X܁Üvó·ØA8å6¹¶üõñÔëðQ‡r¹åÎÿ ?ÍJ´îGÞ¼­ÝÞ¾± ^Ýü¿?—ÙAP$_ÉJëò}þ«áuìr{ÏÑDëwÚúxŽÅ§Tƒ¹çð?%åqÕd±R=Ѐds™mv$»zÁa»M†¶ï Ú|6Öãà¼7ë?
’2sÅªv‘k´ÅMÖ¼;Od€v÷àþ-õ´pÔŠhq*íìèàôkQ+$ ÿ ô=‹p—ª“]
2023-09-25 14:52:00.797  INFO 13996 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-09-25 14:52:00.797  INFO 13996 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-09-25 14:52:00.798  INFO 13996 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
2023-09-25 14:52:00.826  INFO 13996 --- [nio-8080-exec-1] i.u.c.ServletUploadControllerV1          : request=org.apache.catalina.connector.RequestFacade@46d938f9
2023-09-25 14:52:00.828  INFO 13996 --- [nio-8080-exec-1] i.u.c.ServletUploadControllerV1          : itemName=null
2023-09-25 14:52:00.828  INFO 13996 --- [nio-8080-exec-1] i.u.c.ServletUploadControllerV1          : parts=[]
2023-09-25 14:52:01.245 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [8192], byteBuffer.limit(): [8192], end: [1207]
-¿è’:ÇÍA¥·—ßõ
\•í{ˆ$1®u†îÊ	 ly}"ªÍo—æU)Վ¶—øÙ0~>£¬{ŸgºÅĀIԑ}oªÉ!ÊÃms­©±=|¿U*Ýßo‡èÖq}fK«Ö;m~ýÅDʗoý殞+ã2ûueō¼swÌýt^ŒJyëî·Ï_¢i‹‘†8„s°zýÓĬ·õ	©m‘ÆyÛïÂÿ 5XÜI‡ø‡Å4ÅZ)Lœ¾EG™TD‹à+ê" """ """ ³8ºâCoåiú…oÉ%í¡¾šn|ï©Ñ\¼PÓÖh@³Ô«p;ü žûü/·æ°éóTèu"ÀۖÂýëƒxl…ØŒDƒwañ;q»ž×\‘pwï]꩔åuïìž^[šá/ÒÚt­7þ«‚ú—8æ‚MÀ¹$\Ý­¾äx§&õz
LÓ_}É£©¶Œ ¼S@ ç°9ˆ&àëm/’=sñ‰Önj1Nð­ÖÖß]·Ðiߊ}
‡C~Õ=;Çý/‰Í#Àƒò
®{í¡ñ
îXÇ¡öéRãüUÿ âp&­G7ÔDUD@DDD@DD_?g|¿™ñVÌtÎ&î¾úî¸Ó[}è®^4’Î×ìý
60Æ)Øþ˪ xt¯oâiiçí;fÆÃ)“ þÕü/0x#^Øþ th¸¶òËÛ66jÒÿ LBÚÜ[—ÃeŠIjâi¦s£q’(›d‚B^qæcòÍt—´¬±+\ý%} áÈ)Üì{ÄjêÛQQväŽ'1Î5;¬plWhcšŽwdY¯-÷}]ýÔWãñֱΎŸ	oâj%l]+_Ý Fj‚çé”Þ8åÕº8y\;èij›>–
`¹¶¶þd\X“môêªewIXu.êæÀ¨ähÖÝeC&s]m}ŠãàWB¸R7!Ò°:ï¥Ànž6ŽÚ\»NwL‰t¾9µ¸ÛOþí¤Ço­D®ÁTÊ.{ÜOÕRTµÞ*:ÖÜïk|‡Š¡y:ƒ{hGÞë-Ä ËhOkKóµï­ýÿ {)mÃõ$n,~}ê|ò[_æ6>?Éî“=k¼Emm-5&O3@β
 ØY¢Çù¾:øÝr úhtˆÆÙ)"«êÝ«d ÁzÖ88ÜY¤hnn9¯.‹Óo0j˜*1GV¾ýiqJÃCPÐ;lc¿Øðݝ®ÓbZáv–&»/»Iæ¡ïþúëúþšØ-0° õŒ×v¿_­Ö<親>!ÂéñJ"C&d‰ä)¦IiäÚ±ÇGè$c˜ð xW•T­‚FU»CvÄñüÍs¬Óᔓçt/··Ålýåö³Y¯üÎ^-<$»[m—¨^¿þÐÔum¸ó$ül—˜´4“ÝñÊoñ*¬I†g‘½þþŠu+÷¾Àyê>þì¥Àû4ߙ?/¿ì¦4i›¼]ÞåòãÐëoíò
dN¹îÿ Ó梄í{jÆď¿-¯äƒ_vƒõø" ÎQâI÷ÿ Uˆ½!=(pîu¬dÓIXç原ªt‘ÃêÙeŽñµïcZ\÷9Ú•ÖÉÜEŒÃMõ5d4ôñ¾Y¦ålqDÜÒ=ÄÚÁ \®úQzDËÄÕV#w¶jz‰ª¢†â @Δ—TH	6|®mÈcUK]·èäêb–*ê	úêiKšIk™#ÛfŠhž㑠‚Zð4-"áÍq¼œÞÏ×éù…©­~§Ãøq³Ôæl¸¥D˜€ÃXà|pSÓ܂neŠ8؆Ì֐JÚùç‘ _;‹=¤G³i¡ Û̋Ÿ²›#»@‹ëk|?º5ÿ 2¼û?z©s;Vl¿0 QQÁ-~{yí¯¾Êu<Ö.> x{V¿ÍR¾^е¶-ʊ’a >ñäoù Ÿ%E‰î·Ç_¯5M—î°mÀç˜Ù|3æ7÷{õû÷*Y*l4ò¿>[ün «”_Üuøßæ¾Þ*DPO\æ¡Îÿ •À9¿÷l4îНõ@¿ÁGÂҘë΀2h†·Ýísr eî;•J¼ø–®Å£ÁÄý÷jµ—¦_H
 µÝʎšúÐí2ê	±p ñokß^Z-¹$¯B·
Ž)°È%9âdˆ´€[3֖~Ék¬Hq²íÿ D^ƒœ5AK.Âhë$Æd¨¯†:¹e“+KÜã+\Æëّµ­nÀi­ŸéMêæÂqjɄÒÒaX;^øM4,‚š¢Í.ê*"…¡¶}¬ÙÚÜñ:ć´¹¦j㍃â{%‰îŽHÞÙ#’7>7°‡1ì{Hs× æ¹¤@ ‹-ëôhô­¨8Õ;S•¯žH0.%‘­êá©!ç
;/­ïñî´ãÖ/ѧâ¨é*ÚZÏÄQLÃrU0JÇ»]oÁ¦öB7!Rµ•øÜož*¨òõUm»KZ2´ÊœŽ½c³²ëgbû©ÓdÃxk‰c'®ál^
âg&1Ãr9âsO@4£©ge µ¬ý΅ç«m<„þü´­Žæ׿›ÅeÖ%Lã ]ü4|õQlt½¹p¿¹Eu7÷{½ÿ ’9„ko蠂0'õùÙMëÀ±?Oš’[­ÍÉ¿~ƒÜtø)'ßoÍ }‡×îÊ8äÌþª ϧz‡ç~Do¿ 5—;}Aýא5±¼õ¿ÅLi#~kéx۟q|PH–;í;Ûã¿ÁÎÉMÏú(Üyoáý—XÛâ~¿}éE%­7дiîæ|×ÐuïlºxóóRÝI]
2023-09-25 14:52:01.247 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
2023-09-25 14:52:01.248 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received [”3[Ù·<ï˜æóùÖ~]7åqçÑH%8G…Åü<»´S)™­¯¸¾Þþò×K—ÇP ð6S"=§ì|®¨Šc¨æ.,~7ø©mi$’7:x__=”ÇC«mÈývÍâ>)¥¤k¤ªª§¦cGiõGkÿ Ž`ù ôY!§k_âtú ¥Æû6ç{ê?_z°kºÀc‚*‰1¼)I`É!J#yµì[©#äé†bÍe‚Hç…ì’Ã#eáÚݲ0¹®±qTÔç˱·éáuSUÛÜ{¾è© môð°Þúkùîv[ñm/ßãðø(*æîכ~Cä¹QëˆãʇbXVÛm$4F´ 垢y`%ÍÑ®|Ӏ×–
‰-”HsuâºjFu•sÁMt•G¤—J捹þ‹’¾´þ–pŒV»
{êa’’9)g¦1ñ>Y&vW5ì“HÙ`ᦶ œÃPûzžqÂÜ{¦½›6éO‹ ¬¥k}ùgºê³ÐWâØ.+
ÇÉq×ÐS
†„èÑpNb
Y±\ìÙ³@,!Âæàic{ÛÍqûÕ+ÿ çYø]oþ:¦ë²‰®Ìۃ˜9¶Ü”‹ýõ
³G{·ñ¾þZÙb^"ô›À©q7áÛ©¥€‰c‘È–#TYøvÈCŚù[ràÈ L6Ø4xßÇ]/ï×æ‚0ámtԝ9Ÿè£êA#[€ÐÜAµˆÐ7
&³ÛÚÇá© |® ŽÙ¶Úà§=~EyuÎsg£x‘,$\Ë·0ç|ºV=꾤Xöy4^Üí÷}9)ÌhmÜu7»Aå¡ù¨­©šî×}MüJµúJÁ^ˆÓ86¢†®Ó¨p’	Aocà®XÆ ï§Þê	˜ÙäA"ÄsòHŽ+tk‰9ôâÆù©e}hI0ڝŒŒÔ4.$Œ6Ï s`.ðovåm­ì³¾ä–ç™ öÑ«Ÿ W
;sÃRúãCOÖeyý쑌ˮýðýE3Ù¥1â9"ÅϒÅƒ¯Õ±©¯ÑÌö6W]æLî%îÑOD¼‚”pÝ,sŠºj[©•ýcÿ Q“0]×»¢¬‡’(ś	‹=ºÉ÷ôFj=á'<oîPíâ§<ýù)$jJ‚8ôïTxÝ5à3G#	ð-"ÿ 5鵖ïꨱfgŠFó,xÄ°àƒŠ=e
9[{]ä»'Þ¨iÁ0f‰VÁ!ÊLLÄóɯò‡4üÏh:*|N&¾·'î[áM!×¹/žÄ<KœÒ\ëFnÑ/q¥éØNŠÜEM@†Ó´  oáœ`-Ðõv•—¸×vÙæãÿ qÊÕèÄ1´ò1„~ê»fVÛ+qJ·ÆÛl2°†€4hÒÖ=+®áàk_ÃoŠ„E5¯½µ:}ý•;;íàE¶ûîRŒFÉ>¾: Šr2ºÝÆܗ…_Wr ¾ŒË{÷þ‹Û™÷ÛXý<Uã׆‡ÍÍíþ;)UÉ/O/CB,RlW	¡–²†¹ýtðÑÄée¥«6ëÁ‚6™3¸™›#àéC„a¬/Àýú.bØ¥e5$4ѼԴVISG$t°´°ç’wê^Zç^Æ;Få2u„3ºÕ Odê}ûÛAä~¡WÒ4–k»ümÈ_¢ºž(°¨ÆÃøt¿€Óô*®¶>ÃÇxq×À~þ*fµÚçP;ՃéÇ-Ã0,b¼¹­u.Vø‹ŽQø‡ÂøéÙsmdñ°rK€±ÐOÏ7þ4ºƒûÙ5àöΠó‘[êâªpã*0HeCk ” x߇Õ8´ßa™­$‹<Öµ³¾¯C‰ÌLtØ]+ˆK) e5™&g o⣹6±s;ì¶äè_«=î,ÊwþÄiù'Ïp;³½ÇÞ¶†xEÍ·}>ïÞµÏÕŲÃÂtRNe®ž®¸æ·i³ÎáôÐ	#cdl¶FVHç¸Óšç]"†xíouû´µí÷eçðE1kêZíÌÎvœÚþÐÛÀüW«)mÌk©¸>áºòáp‚²×?¼€8Üiš;/fÂߪŠ»zÿ ÙÇúõ+$¬oгOáXO=~+$.‘Έˆˆ€ˆˆ€ˆˆ-Ž.·ý.ú…lƒ¸¹ð½ÇÒÊêâÖûý_‘VؕÝÂܯa§?»,ºDˆXF÷¶·>þïlô£À±â¸}MÎN¾2ò?Õ§4Ri¸d¤Žb㚺Üý»»¿ª…Ú^á£Ìl~üu÷¨®ñž.ŒKìt&w¾š©ŽÌup<³0ÌÑv<€cu¬ö<¼
ŒPŠhK¿„9Õ¿hv½¡Nmog’ð8kÖqˆM•óp…_ìªi2VUR×
ä|,"ý±•Á\MoçXîßÌ~÷G¿“N§»[/‚8җ¢¦¯¢]IWf‚Ke»Þ× æ=¤9c¬Z斛WºÆáî×Ý¢"k-¿çùþJ
$†)qi¤ŠiHàá`tÌc¦WÉn:Þ##mÛ¸ãá*ÈÍ­ç¯õ½qytt+~Ë]lŽüÏü{ˆc|•­Äžµ.…±OCFI¾zj(Üë_o÷·U6ܽ›ÛõZ‚‹Lë5qG¦ŸÖ4¶|v¼4î ”R{¿Ý[	·†Ëcxüõ2jfš¢R,džGË!öò9Î#SϚÁ&¨xŠžgê#†7ÊóäÆ8ïܪ8‹…*¨Þ"«¦¨¥”°H#©†H$,q!¯•­qcˆ 8º"<«­ó¬è·‹:8’—¢¨v%ƒÉÕº²(ºÑIûÀ×9•”¥Ò~›e†½—Êà\ΰC.†.þaÔìÇ8J&râ|<Á”îS‡‹\ƒí5Îܨ©V5ÿ ҃Ö(ü3
?án™¸ÍÃÔø—ìñ…¾hœ%º7MÖ½ÕUÌÉc’FÍ#Áí»ZÇ66†zç¤ÿ A«øŠXð`¨©"öa”žó|ßæ̆&é[Õ4ìG­­¦ÆOOYQ5S¢–ÓM“¼É+æO%gXç–uE­-iÎZ^ïoõ>`­cŠâ’¾À9ЊHO2Ö¾
¥¤Ð4ÊÆõ•/n²¦S%C÷>Ô¤,‹%¬<€û
/”r9¹üÔ'\·ñûú(&`O…‡ß’§'K}ýÙT³Pà¤"µ÷Óƅÿ ìf<r
®2hîF7éÚmɶ–v–9Ÿ™Åª³…êÃgcƂ6Êû\¡yÖã1³C¬	Ôçvƒ ¤§ŸC§~¢Èíoq›ÊÝ­^H³Z©qšÁ}Aÿ …A_(qÓýÒG׉&ã÷–ÏÙ,ƒ¾©ú‚x±Îv¤á•¤ØZåÒSÞÀh5<‚ìÌ`{^;ÿ uÆïT]=øªCü˜Ec¾3R3ÿ ë]”€/m?ÓÞ­#ÍÃÅôžÑÿ ©Ù¿5ðSYÞ›øíªa±ds‡0õæFÞëZÞëäí»»»Ãïè£hcŽí6þûý7R1
™´”Ý|îÒ8)â’©å †°ÌlÜÎs€kÊçù¤hä=­Ììyync–îhkIksÈÆ5¥Û{ è¬ÕÕPá˜üpÅ-L¬Š–¾•ŽŽ'Ë!llŠ®:N©Ï†¶xÜ#%ÍdVÎíõ™‚ιÖå£ÃA¯¼®4ztü„X¶‹tµÒƒ«Dr禦ŒÛGÔÉi&ùbŽc{ä] ”¯+h|vû÷,Öâœ445܉ûøYA%06 n/ù|vùª©"ö+÷hȁ¿ýûíî
4ñégk÷åÞºWâ§Õb˜…L…ǯ®¬‘¤ƒc©“©#KC[ÌÛø.Òt‘Ä£¡®«Ù”´uU/7°h‚ÈI<´jàÝ=KÎ\Æïu$sgZċÞäêF»­Fy:yêâéVzÊ:Ü>w™‡
‡¸}U¿ñ½<ÒÓ8—ÔÕ9ÝLXÊbˆ³ñ/i GKN$g[3Èh{⍹äšÞ`àZ¦œÒ
ƒ$síÞÀí{j,V˜€ço?Ñ}h÷ø(&uöß»oïñJPyÛäÇ‘CJïáæH°Ú<ù+~¹²âNàÛ»Ãéo%pTGµŽ ßÜ?§½x³æ¿=¼°ø’•F¶åÃÀ}ßúHKM€¸$û´çòÑI{\æé·xîÖþ*ª”Í稿·ù(+ ‘ß{üO乩ëpô‘hd\3K /s£«Å2¸ƋIGJñc•Ï%µnmÚæµ´ÆÄJ·ó¦N•)°<*·ªÿ 
kLo¶軀¤¯«Š3=ßr†É+Éê¡s¬CË\ù^¦Š¢c¤]7õttD'¬¬â'vèàøf)oWø§u…øž"!±	§\6 ¶7¾"ÑԂtËy¸s†¢£¥§¤§`Ž
X"¦…ƒfÅqsZê¢4÷•ýúª™ÊöتiµÍáýЮuÕE$7¸î:ùíù«sŒ'È#šâљãmH‘¾|‹UÆo¯~ßõãñ&
*)ß%™›£‡ð»[_ÂåAzôAÿ ²CâÐVAXï¢r[#p³âŽ\üŽádEÒ9×ÔDUD@DDD@DDÿ {,ó?øU¨&nÅÖðñùŸÉ]¼VÛµƒüÇÿ 	V£XÑ¿öòý[âŠ7‹áíYS=Ο¿ê§ß@O˜ÖÞ{(K~o/é©÷Iäî4ïÛóXÒ·Ðöƒ‰©Ä™ÛG‹@ÛQâ,gl’æÁS–Ï–Ÿ1$kš"ç9›¹ÏíÞæÇfóýÔÆÄÛëϼÖêŽ+ñ¦Šp䏤|@œ°b4àËGP;]¦HÖ´9Öi9t‘ ‚è£æ¿Åb™†HÞÉc?Ƹä{+Bìž7ÃPTÃ%<ñCQM3Kd‚x™4R4‚dŽ@湤ibÓºÔ¾’½Wü?Y+ª(d¬Á¤~böáòøºÖÿ w•®êÚÒ4d2FÁsÙ؋¬x¹ó‹Ô‡¸ hÚÚhæÝêÛ¨áènècq;’ÆßãküÖÀtñêþÆð*)«àÅék©)²¶h$†¤6IY,*ò ..š=?åZÙÃXôϒX'cD‘’æɱ͍ˆ;û…]
2023-09-25 14:52:01.248 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
:y}|=Ñæg~g5¦ÿ òê-ãuzðG¸ˆ©4‘±ÑQD*+ª%ž
k\珨Լߴ%Þ×îó›Ÿ Úø®púæ0 `À§¶¬š¶/!# ’Þþ¬˜ÕŽ^.ûzV6Náçk®dw˜³D}ݝ<
­nÓ9ÿ ^’qF,"Ï±ÏÖB֎òéZ֏º×J±EIPL¯öš	<¶?з½z33´|E¯îRáŒ6Aa©¸÷^à÷­ý•E`»ü™¯é¢1O¤ßC·ðJü KÔ>¦6¤:µ“CQD9ʼn1ºHZ×Ø_)qÙs[„=X\Dé\ÚãC†ÒEs%sê#¨kb —I1–9ä o×¾•­—hBëÝ,{¹‘ýVôìà¼CálJ—l©say†'$ôñLÉj mµy|Mwî‡ø¶Égg±±ŠÒl'җƒ89ÝGáÆëٙ“ã6!¾Wˆj]²ïNJjx`x!͒Ohúzá$`4×ï8„Ä{
þj:äø5ð÷ø•:™€æñ×緞‹í4`]×¾îúßéò*6×ïNž*4¼)ºÝ©©ã¢h½ë§Š‘ÇÄJ罃—ðÊW^Y˜±qÚvVöZ̧´opˆÍmî-Ô?Z/ð
ùZ4wù¬?…ÖÊ×Pz}ðýÁҊäi¨Áð»üF‹ Õ¹¡­s¬dcœNÍõÏk¬N˜?@±·à±Ðà˜Va¹Þ
1ÈæÚ䶑®’œ‹Èéô##Ž’SS¹Îhh.sˆkZ˜Mƒ@’N–
Î7sÞëfsÜIs‹‰$’µçÕÿ Є””RãµÐ¶,G:(rŒ‰Œn‡FÛl-cœKz†¼DIÚ©ˆ¹ÿ Hú•šÔy•,⩚ëiï*®¸]yòK¦þµ.ašç‘ à ¬h]ÈÒþ?ÙNšQ{XÜÛQã¦ê“p"ÞBþû[åº
É3³A²’îÌD2Ý[cq°îÞm2îgCœT1+·ãpêJ¢ÒnC§§ŽG‚F—kœA>kH}r.ÁG3]9öm8Èv†‹F¸KӓŠè(à ¤Å傒š16žŒ˜ãÑ+©1æÅÒkØcޓ:fÅq™#—¯¨­|-sbëߙ±_Õ°YŒ/!¹‹Z²°r6Óµf.Øú¬±üJËÜÅ[^Ï/ß	m§ÿ Rü·ò\N]‹õEV_†*Zofbõ#]¬êj7iñ>ô©;bIœ.ØÏH´!·üwáØÍÝb°Éhs؋Ö=ÃCb×m¢æšê¿O¸W_Ò+ðæŒÇáZšsº
Çx¿A}`|3-c‹Ú‰”õd^ÁÑÒÕÃ4À÷兯æ`Zñêãé^®¿¬¢©žJ‡a•…ÎtTµMyŽ.³WuqËŅù²–ÏVÖj1XFAŽ/Ä@Ž'ãw
ð°d3Ûđ—Ùt‹(úÚg·
Uó5Û·gS0‹ÌÚþ讘ÿ »]|OÔ}êµCÒ¯Ó¡œ=TÚ
&bŒ‰²Tµó˜ ¦c…â†ìåÓÈË<DDq–—€Þý
ú^ᘦûv¢Hðèb{©«YQ+H¦«nQÔ	,Þ³­ë#tV`{Û#{ـËKSÒ«Ð'	â婂8è1{2ª&–ERü¤2:èÙa#MÛûæ3r·´öƒ¹/[Áõø&èÝ×áئ0p,n931ñ¿Q$r´‚ײV:Ö ¸.õpgPâ4Ì« ª‚¶î°šžFÈÌ͵ÚH'+Úlg7KVôËôGƒˆé…E;1G¿	6¢=^hjOñG!¹ŠM]O+³µóG"Sw¡w¦D<C©jrCŒR5¿ˆ…½˜ê£mšêºfŸá»›×D5…ïV¹Ž;8Áf›÷ |;ÇÍ~}º>⺼2ª
o[:AáñYA_HFaUGU¢âÓ@ö AÜk±\gèGy¤ê¤kšh,nÎ=‡9Îs‰o´]\ck4ÕÏX©Ò}gÏE^&~Æ4MëӌáõÎâ#dì{j#xnÏsCQ4†çØ¸\WBz4¨MÆb©‘±AMŠÔͳHÖ4S×G 	s¬Öµ³ÔÏßá›r\âü³ÄѝÑT‰Y4u-qkè߯kÙ]
2023-09-25 14:52:01.251 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
‡£¡ï¼_öNYÕ°8‘½ÿ w+†ä]˺׮mh=ÑìÈ|:Ãú¾J¦.h†UÏ"^óõu¾_šÙºO@¾5”]ÿ °)¯ü2M+ˆ'ÿ §OQ¯u‰ßáìa¾­^+ÿ ¼c84ð"¨˜å±¹íÐÀ/{Y¹µœÂÀãT£àªV)ã¿ùšð¸;*ùâ-µÆP†™Z†À-ÌÃýUµoÿ Úøª ƒü4´=Uïí]æ®Æûƃ–¶Wïú©¸r7g®¨Å13`jjDLöü;"–ÎÚÝou­­Úcœnâ
vï<"ßüÆ_Ü$û‚•'H´-¸3’G6Æ÷Ž@–·}uË°X À#Àhn¹’TžÈ´g|†M®s“›[Þ䜭½aÔqˆhè(¨ãmËc¦¥‚NbCc Iq<ɺiŽ!àU³Uµ¯£Â±šÆMDùímÙtbK¶š…|á½ñ$À:ÄÜ×ZÆbø\ííG$Mɦ™HßÞjCì<<@ RZë=ûkïþ‰«ŽBQt/ÅÍÿ õ6r<f§äÜâÒA³¥Ž¤i¨WVèÁÆõyõBÐöŸýcZÒ×5£@[K/\ےnt7:5¹[n«8[]TGgé¿$Ó?Ñ?¡F:q¼+Çñ4³nJ<'‚WQÃa|q6·©e9kÝÎ{a•ÎtlԐ×7uhëÁ‘âÆÍkNa¶äç{•Výµ±ø\oO	öÝåh¿2.OÔ,Ö¤C%@ÿ «‘oúýòæ­û¡·õ˜~;™áÕ®!…®t´pÍkóÏy flMÔ¸.œÃï×çù«g¤ÎŽ ÅpúÌ6®6¾
k›¡‘Òg£ÆŒå~)…ÒUÈ”M$ygkGð‰ã-—(äÜÄ冽
‰-¹aus¦Íc®5 軄`pCs1E~qDÈõæNF´UÂ?²·©Ÿ®Lpgª©q~!ˆÐQç9‰ašºrâIqxËwçq;³vÜ⮒ú/­èçŠpÙEH«uðÔGSøŠg9ðUÓ¾'¾PÇ=‚zwZGÞ9àæ—YÁŠ>â¹½ë›á°aÀ«9¶JÚSâ$l36ú_C­¯ñ9!f6Ȫ#t¥ÐÙÐÎÈæ‡ù]Lq½¤†·1m¬w€ÊìÒ°5Âi衆j™@pkŸsA±onÝYpä@È÷eèåŽþ/‡0i‰ÌïÙÔð¾ïqsJÁJââvЋ¹¤¿`ÞÖp².#¶—
×+#»Ù:i¨#]z¬§“ß-ʑ‹@.ó{_ ñ¸û
`Í>΀Ø\€5:å±ÛÎ<õoàuÒ¼~
iØ“X.íÍX}:ã­¦Á±
…á6éaslÆþ©-~Sg3´Ó½œƜÅǽcFlg®Â%™_‰Á­·¥®žŸ"`ÑdV¸kb;Z‹õ¸ÚãÍEvwj@·ß¿ÍRԋ°Ž}÷¶ {¼UTÓܓ{ƒ«HÄ{øß`©ª Øí¿/ëaªŠ
sO•´ðScSþQòÊGå©ñT˜|y[ Û­½Žã3öÒÜ÷ÓUUNMΛþZý–¸zÅx‚J~Æ_ò2’Ûÿ ‡Q[/ø±Îep‘뿾›|øÞÇ`˙̡’¥ ’ê'6¬ æðö@æ¸àµ¬½èƒÀ¬Ä¸Ÿ£“X䯅òÊ{Ô½„á{a,>¯Ð¥;€øáÊöú.ú¸ähãL5­ž´ÿ 1Ãk ñ/- ò6<—x¡e›o»û¤Mß~jŸ¦ùª¨„ïáú]SâzËQA+þŸÑJ}­~ëö«¿»¹|Ðßû¨Ò’v¶ñ^M}(i¾þ`l½âÝòêÏÖÊ
ïv¶fjèΤÅ&xˬ왚×)€ú­8F	)*괽箝÷ҙÔëp$~\Þïßý=,‡[òîå¿ÑSô á*v5±à{ÃZçŒÔºÀnçÔ>W¼írââVJá.Œ°Ú´Páô4@?I×]cº“¹ñWDV “ày
<6QºòÚÿ ~ôLE+õחÑ@Ù·÷j£ë/Ëk©1¾ö¶×¿ß½Rãò²4Þ縪w:æÚXóò*t;N”ÒÅßÈÜ~_U">w×ÅMª~šø[ïÃÉSõFÜîo§Ž÷ExüC‚õ€;+Û«Ñc~ãÞ	6T˜F _v>Âfjëi6ñW+[a®¶«oŠ(_~¶´ŽWÌ/±ÚßNå(ô©Þs#¿’‰Ž¹±ó¿‚§¡©ÎÐñ¶ÎXó=Úìªl¿©þß‘ZM€÷&9w¿É$7>=×Ö@MƺþKbxv«@ýqöý‹„wœQçÿ á$¾‹~:».ï/¿5Î\¿~㥱»å®¨åkFÊx¼õ2-§eÊĽ.ÿ AÚçÃ3ßAT7s{²k`KAm»qí{ƒòú¯ê¸gˆä¸ú¢®뚗¶¶ÏÔfûÝïV_¢6`áŒ$;LÔæbëdÊ&–Ii7-!’5ÆOe¥æOø–›&
í n>KБ h6ÃÈ~‹Ël'µ{ç¾Ü¿…¬?B£
gXrßKwkoŠò8çŽiðÚ*ºú§ä§¢§’y]»²FÒlÖÿ £ZÑ«œZ 7zï=Ú_á ú•Î[O!£áèCª2×â رå´p»³”‰&d“¸7ðð›#oYsæN•ª]
2023-09-25 14:52:01.252 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
a|pêŠÙ™—4q‰Ðí3½ïÎW$Ì%®k\»iÓgø[ðør`ô””ñw2†H¢ƒ™Ê2~*Ԏ=tó鉌ã8¼•ðVÖÓEÖÃ)iæ–&SÆÇþ䈢pkê%6’G¼=Îsƒ.XÈØÞâàŽ”Á§°œÃ\°—«i”ݜ‘o.åùêècˆ©©1|"ª®ÿ „¦Ä¨**²‚ãÔCS’œ¡®sìƸ–4$Û|gÓk„¢€Ììz‚@[pÈ$uDäh …›9þ\—ice#3‹åñ܉ú­2ôÜôùÿ gÜì?	Tâƒ+ª](2Á@Çُk\Þ²ª@‹­{Çn6?
}MD¹$êâÍvÆÇ:W‚Ñ”2GDz2Çq{sý-÷ô\Lõ¤Ë9ã
eÏÂÞcOª©ˆéo%%ĝGÏõSí©#d*Hî#¿ä¡-·šœè½ÊG¾ÿ aM(ì¸[ïENÈ7¶Öûçà¦Ê6·2tó¶êk–öÜ÷í§æƒÃü&I\!¯íË0ßËš©Ž:âþ7碤ã
ÆBÆÔHðÖ±ìnº\½ÀXs7ßÀt²¸i2HÐæZp;…0Q¸‘nÏ?¿è¦²<»}÷¯“³îÊ(ÆÀû•ë{n¹ë‡âBü{¤ڛ
É52£ÑŠ£™°»‡ñ"ó·W%ŽÃÿ Ÿ€ã ]ÙnÞïÓò^Oñ]-ÕVTCKM	’iÞØã`îç/} “µöM1Ê~‹=X\A^ö»tE6î{*ëH¸Ñ@ãI³ŸRréxݨúéá
Y½ˆøƒywú*"q°`Órt°·ˆo‹Ñlîv ¾b$ÍcÑI#ZHCc0eîçÎÅòzR®ü°Ú¦]߁­Šy6=‡ºî{­üox:Û´âãÉTøꇣ<f*
 ]Û -`®
5»§{z˜Áydh¹÷"ùÿ ¢?V¯bFìrx°Z@I’ž’VOˆJ´nxÝ54 ™¯2Im3BHC:p×A‹t“ØcDXVQKŠÕCgS‰d|½U;¦hË#Ù,¬¸?¼ŽP?À—.ñF6䬆úÂp
ü½Ä¨éƄ¶¿T1í¦ÆÆÞ{®>úà8xÇÄTU6§
ˆmüPTÔ°ëϲY§-;ÂëóH¸ó\ÖõÏð¹,Àk@ì±Õ´6ÝÏO¾ÚKçc5ËðºÍê |xãxLÙ^ÏÅÏãp¸ê1
…Ü7Žß•þ¿šå¯­§‹šü_
£Ôþ–gAÕµ 4ßk‘G{ikî‰ZuÑD†~ Â7ëqŒ5‚î3{@zsÐkk¯ÐTƒsÜ>Wºà·¡¾ڞ,ÀæéûJ)­npfœíwVïS™§˜ýmù%"˜<Øh9u‡ê§DëaËKù$ÿ ‡çßáeÞFúå$_ïÃ_²£I®”]¾7¡þªª1«oßp›ª*Rú_}ÿ P¨x»ê)*%½œØœÖþd]
2023-09-25 14:52:01.253 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
úØe–¢HÜßϸ âÏG/-[)‚Zø–ùºÈjÌr±£lÎ,ÚÐ5–ú\U„2J)â”5ϙ†í¸°ŒÌ³¹6 ‡[FÆç|Ë"t¥ÐÄÍtõ.'Cžºgb8.#<BOÆ:¦AøÊY3ƒISÛþ2JXå{l3YN)üÎô:Åñ
šF´—@Oh“µØ•å·¥˜Ã%l¸[G–¹¥¥¤Ž`óÛUktMÁ´¸m)(è‡SÇ؊+3­{žw4½Îš[gq–GÈow\æ2úÐòëóÒÞ~<–+QkGÄØÄYC£¦ªÊ{N³¢qòÁæ·.f«
靲OøWQU²kµ¯Ê"’¹Ú<ÈǞW¼MÐó²÷ØNoÙ·¹Hèòˆ:Z¹œÌ϶Á‡+Ë䐫µŒö6·(¿}õ*lìåão’Š1{Ÿü”Y‡¼Ÿ°´ÊM;‰µõ>²¬.›ºt°
SVtï5/—1=æë2á¸tpGPÆÈ£c#Ž&¶61€ Ö²6€Ö5»´X!W«¾œùùrù¯-­°ñs¤ø‚[ò /Fؒ5ÐøŽ~ë/9Ð[ù¤:÷™²Óã@#K’,uDmm,ý/=XU‘ÔÍ_ÃP
ÊpÊÆZæ×sŸXÆ÷¹îk@Ԑ5[kзª»¬trcS3
΄Ž\—̝¢I6pÛê¿äŒ˜ëq}€åq÷ªŠ«‚Z܁ñû¾ÊÍé.#°ú`E¥«{y¹°1η“d1’{쯨>m¿²µ±XZìN„h\ØæyðtcnW-ßÁeœ:œ1h òUãB‰m–6ãXí+Ž»‡|E¾£è¼	óý9…|q¶
÷sÏäйØé*ã‚+[�M€º}þŸÑ[ÍÃñc´p0iÉî?7)ÌáYÛË;òÆþ7ºe5sSÞÞ*\G¸Ûàl­ýânÐÖ‹lÖ1¿<ª*ŽÅ=†Õ47›²4¼ßrK¯©>
å6.g_/%ò²¹¬Îs[¶äó#ì/
ߚCÞò\}÷*šÄÝþŠã”ÒC#këÀs2g–œT8S=ÎhÎ÷:®obHÚæó›¤JKè÷¸q’9\/ÿ E¾k$PôOGзàµOÂíÚ&pSŝa9x͏=ˆ*åµ{D\[M‚˜ôçFQNíI‹Zuۓ¶?šÎÑፘÑî
4cP_ ë$k‰tq9ÁݦwwÒs Vñ6׺–røª(êš	4õp?<2hC²“v<°‡†¼–›€µãÃxÞºhXþÀ©1ŠvdW-T5°äê]UKH#u@œD爄ÂF°—k²3Z¡õE#èpéóÅÄ8ÍCh©°§õRKGG—ýû¨0¾F6ÌÐÓÄç4Ëf©¯ªom8‚ Ã¨©(iš<Tñ§f&ˆÃ{bçeĕ‹½}(ðº­òI‰cuûëíTÎçå22+—zlÌm¡k‰!‘‡9ùlÕÿ #ú¥X©£o¾åMQËȪ†¸)5EeT:ÖÑR;•üþüÕUIÖÃ~|Ô Û\ $ì ԓåk£k/Žç/lT-&¢ffiÕÂ6œÄ‹m¨[¬ÅÃØ[a‰ŒÖ |–,èü]LÕÏ9ql:ÚlÛÏ}ÊÍ -G:õVDD@DDD@DDDAð¬y]{»Sí;oõÊ°q=ý	í»`{ü­qSÆtÖäöþ—òH⸵Óæ.T-h¸°w•öùÞêkàGpþ÷Ym% ÚÙ®;þ¶²šrú~Z©Æ>{øŸ±o5Lûÿ ¨ß»o}µA5™»®/Þí¼湍ëdàÒÊÚjÖ:jH¤k4ÿ ‚g²wŽnýÝe6kí”wëÓn·뮶ùE­>Ÿý·À]=®úÞâ–võ:îoďûÜ
fB[øˆŸG×\ sò1ђàæ8‚X̙zÉø2óŒ\Ô8°=±AC^^A'²KécÓVHö8hM®
4ûЕ43¸ó\ÃéCÖw‹Ö揇pá‡@ækñ É'šlè`Ð5Íö…Å`&×`Ø]ñ¯buùÅ،X¬íP6A›
I'`íôÕ[ðø>'8q :*
<´Sƒã[	c÷°sò5eîTÃXX`øØÿ ‰ÿ ðÿ Bð¸Ø7ÿ v$lz·|trÍ6L©†° þZSæÇÿ çù¨ÅV6ÐSJío{H/ÿ ågÊ;“ îL5…%ŒéiϾAo™_?kbÿ ý’ÿ xþ~â³gV;—ά)†°˜âQ£ÿ aÇ¼Jáòêќ]‰7S‡ƒå9ÿ ifΨw/@î	‹¬%þÛV雺oÿ ×Ïô_OÕ^ÿ ³e¸Û÷ÿ ʳ_á‡pø/Ÿ…opø&Ã#¤Ùů‡T[œÃð
àÀq7K$1º"ã#„o#3GZðÜÙI;èv#šÈ¦‘¿Ê>
Ìxî ¿O±É‚™À´¶ÃÏåú©ºëùwŸ›uÿ O¿%î7Üùk좠‘×çöµÔúfí®Ÿ×OþªS[` ä-~íTI›7 4ÖüÅρ߽ñ¹ððóøj¢.ÓÏ_’‡?>G_¿¢0xmÓòAþÇྙ,IӘønKäîÔ‡Ž‡îÊ	c$[{_æ,>¨>g½­Ï_}’¾ÇšØkð¶¿-cm€;í÷óQ¸›8~Ÿz ’ïlåõ×ï½EçN/;¯Žv矆û¯ÞÊSõpñúêB**­÷Ü·ïÞ¦u„7•ï§¸oõ:)bÇ_wßݔÈâïñä*M3́wÒÜÕGSr-Ï/åÈmºÇÏÞwüŠ"llNíþüµÁuøµ\ÇhÓ`mæç›ÿ EsBÍÎçú/#¡rø©ÆÒTIcmÃ]"qàª2ˆ_Q™|!@!Êb „FÜ«ê ùd_Qy<CZÆ5¹Ü×:ÅÎ6nœ‰:k¶º*|€÷vî÷/GÂY;r49®ÜŽjºtdš:ªŠkÿ $vAÿ !%¿÷T«cãÔË訤iÚóø栗´¦á<i½–V´·kºK¾97ñR[ÁÉÞ¼û¢‡ÿ ñ¬¯¥ð{wX|Šƒo¯ÏUeŽñS¾! òlcèÅ÷ÿ DõçÚÄj=Îè{=~¯ˆ£ÍJ0›‘ËŸåóVqèv¬ïˆÕ{¦xú¾· ùMË«ªÜN÷¨—ÿ 2¹M‹É£Èü¼”/wˆæU¢:Úª©wœò«”cÑþrÊüGŸÍ2›ý,­¹q wëý–:1ÖbrÏr5”‘Ñ’Áڕ­67y$ÙÖþÐzˆ{2Ê4·¶â-ÝbvW×pŒtØ‚bÚ¨ánm4L‰¢Á¢ËÙ_Õ¦D@DDD@DDD@DD6Ò<܋<ùr*ÿ V>6ö‰OóþCÁJ×Þ{k	ÓKi½‡žß™Qºc±iÓoÊ㚧àüÉú}ê£ê¯¯>ýÇ_¢ËiÆm>õå±½×Æ7»àoš”ç۝ýàüt
Îö€·/?/vüÐVÅ»‰ó²¤Å°XæŠHgŒ>)£|r1ÞË㑥¯k‡sšH;)´µ@iäM”òÜ܁ùt}ô«ôEÄ0*ÈP1Õtŀ†—>hmpdžg‰Êü¶/ÈÖØœWÝ%à ìËÔHWE+šÇ5ÂÀŒ®6xÒ×ß¼]Í©Ã$f9#kãuØöµÌs{‹H#ã¢ÀÜoèÂ8”®¨¨ÂšÉ\I{ ¨©¦ÌNå͆fµÇÄ·M…–µ‹È«ÆÙ'ø§——l4îm¸påämåãÁILLl¦Œós÷ÌI:n5Öã—J£õ_pfÿ ³ª‡í
µ8Mrw?½#]t*‹Êº™ÁƒCÊÞdý.!‰G:ɤd1´73äpcEÈkA.°ÕÄ 9­MÐö ,ïÚuEÀ—X¼ó0Œ„ëXr²OÐ|²¹®¬ª–¡­ †<ö./c” Ûêu·4ÄÔ4}*aµÃþ!kÛ	¿]
2023-09-25 14:52:01.255 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [false], parsingRequestLine: [false], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [9399], byteBuffer.limit(): [9399], end: [1207]
2023-09-25 14:52:01.255 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received [t®„‹k­”x¯I˜träuSƒìHÑpM‹˜Aì›4œÆíÓ´@ƒ£ªPÂΩ™H¶ÁSPôWGòÂÍMö	†±Mbn.£¢c`Ø:§9•ä¬Ò[ü&ç]Âô©°Üvýa4ÞÉQ„å'{æϧpu¼i¡Â™Êƀ<Xj¸kFÜt7/WKœ›õ‚7Øè2gåÞJ÷0lYâÑÕ厤]˜å噗ÐE—6Y[*ñø„áªfIX>aLMZ¢üµ7ÖÄõäªM5´îù~ó^GA‹õ3Ïÿ ,Ž\í¢¢Ÿ¡ª§€Ç×Ôíb3X‘Ü\,ãñÕ1uQñ¥-4okçŒJZü‘æy6ìٍ»¬@ÛóWCxaŽ† E‰™ß⨸s¡85ɝۗ;RO™Y
–”1¡­Y§""¨""" """ """ ""–K/¨ƒå‘}DÔDD@DDD@DDD@DDD@DDDAñY¸Ä­l’‡o£Ûþ`F]Úó
ú†üCú%¡&ýC>
ôE0Õ§ÿ £:;[¨e¼•^À´Ñ89‘5¤l@Õ\(ª> ¾¢ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ """ ÿÙ
------WebKitFormBoundarypTZMnMHiMg0je1hS--
]
2023-09-25 14:52:01.256 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [1207]
2023-09-25 14:52:01.257 DEBUG 13996 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer      : Received []
2023-09-25 14:52:01.257 DEBUG 13996 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor   : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@4d58bc7c:org.apache.tomcat.util.net.NioChannel@24f11160:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:60500]], Status in: [OPEN_READ], State out: [OPEN]

 

주목할 부분

결과 로그

request=org.apache.catalina.connector.RequestFacade@xxx
itemName=null
parts=[]

 

MVC1을 보면 HttpServletRequest를 그대로 찍으면 이것의 구현체가 RequestFacade였다.

 

false 로 둠으로써 멀티파트와 관련된 작업을 안 하게 만드는 것. 

 


spring.servlet.multipart.enabled 켜기

spring.servlet.multipart.enabled=true (기본 true)

이 옵션을 켜면 스프링 부트는 서블릿 컨테이너에게 멀티파트 데이터를 처리하라고 설정한다. 

참고로 기본값은 true 이다.

 

실행하면 결과값은

'`

이렇게 나온다.

 

 

`

728x90
Comments