๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JSP

    Day01(postํ˜•์‹ ์‚ฌ์šฉ์‹œ ์˜ค๋ฅ˜ํ•ด๊ฒฐ)

    07form.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ 07encodingResult.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ (์ˆ˜์ •์ „) ๋‚˜์ด : ์ด๋ฆ„ : ์ฃผ์†Œ : ํ†ฐ์บฃ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ get๋ฐฉ์‹์€ utf-8๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ ์ธ์ฝ”๋”ฉ ํ•ด์ค€๋‹ค. contentType์˜ charset์€ ์„œ๋ฒ„๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ณด๋‚ผ๋•Œ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์ด๊ณ , pageEncoding์€ jsp ์†Œ์ŠคํŒŒ์ผ ์ธ์ฝ”๋”ฉ ๋ฐฉ์‹์ด๋‹ค. ํ•˜์ง€๋งŒ 07form์—์„œ action="post"๋ฐฉ์‹์œผ๋กœ ๋ณด๋ƒˆ๊ธฐ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ํ›„ ์ œ์ถœ์‹œ์—๋Š” ๋ฌธ์ž๊ฐ€ ์ฝํžˆ์ง€ ์•Š๋Š”๋‹ค. ๋ฌธ์ž๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์˜์™ธ๋กœ ๊ฐ„๋‹จํ–ˆ๋‹ค. ๋‚˜์ด : ์ด๋ฆ„ : ์ฃผ์†Œ : ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ ! โ€ป์ด๋ฆ„์€ Encoding์ธ๋ฐ ํ•˜๋Š” ์ผ์€ ์‹ค์ œ๋กœ decoding์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. 07form์—์„œ '์ด๋ฆ„'์ด๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„˜๊ธธ ๋•Œ ์ธ์ฝ”๋”ฉ๋ผ..

    Day01(form, result)

    06form.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ formํƒœ๊ทธ ์ž‘์„ฑ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค. formํƒœ๊ทธ์˜ ์†์„ฑ์ธ action=""์•ˆ์—๋Š” ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ณณ์„ ์ž‘์„ฑํ•˜๋„๋ก ํ•œ๋‹ค. 06result.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ๋‚˜์ด : ์ด๋ฆ„ : ์ฃผ์†Œ : 06form.jsp์•ˆ์— ์žˆ๋Š” formํƒœ๊ทธ์˜ action์†์„ฑ์— ๋‹ด๊ฒจ์žˆ๋˜ ํŒŒ์ผ์˜ ์ฝ”๋“œ์ด๋‹ค. request.getParameter();๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ๋ฐ์ดํ„ฐํƒ€์ž…์— ๋งž๊ฒŒ ๋ณ€์ˆ˜ ์„ ์–ธ ํ›„ ์•ˆ์— ๋Œ€์ž… ์‹œํ‚จ๋‹ค. ์ถ”ํ›„ ์ถœ๋ ฅํ•œ๋‹ค. (request.getParameter();์˜ ๊ฐ’์€ formํƒœ๊ทธ์•ˆ์˜ inputํƒœ๊ทธ์— ์ง€์ •๋˜์–ด์žˆ๋˜ name์ด๋‹ค.)

    Day01(request)

    I'm miseon parameter๊ฐ€ ์—†์–ด์š” url์˜ ? ๋’ท๋ถ€๋ถ„์— ์ฟผ๋ฆฌ๋ฌธ๋ถ€๋ถ„์—์„œ 01basic/ hello.jsp?param1=value1&param2=value2 param1, param2๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„ value1์€ param1์˜ ๊ฐ’, value2๋Š” param2์˜ ๊ฐ’ String a=request.getParameter("ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋ฆ„") url์š”์ฒญ์— ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์ด ์—†์œผ๋ฉด a๋Š” null, ์žˆ์œผ๋ฉด url์š”์ฒญ์— ์จ์ ธ์žˆ๋Š” value๊ฐ’์ด a ์œ„์— ๋‚ด์šฉ์„ ๋ณด๋ฉด ์š”์ฒญํ•˜๊ณ  ์žˆ๋Š” parameter์ธ "miseon"์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— if๋ฌธ์— ์˜ํ•ด "parameter๊ฐ€ ์—†์–ด์š”"๊ฐ€ ์ถœ๋ ฅ๋œ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    Day01(trimDirectiveWhitespaces, contentType)

    ์˜ค๋Š˜ ์ ์‹ฌ์€ ํ•ซ๋„๊ทธ๋‹ค. ๋ฐ€ํ‚ค์Šค๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”์นด์ฝœ๋ผ jsp์—์„œ ๋กœ๋”ฉ๋œ ํŽ˜์ด์ง€์˜ ์†Œ์Šค๋ณด๊ธฐ๋ฅผ ํ•ด๋ณด๋ฉด ๊ณต๋ฐฑ์œผ๋กœ ํ‘œ๊ธฐ๊ฐ€ ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. trimDirectiveWhitespaces="true" ๋กœ ์ง€์ •ํ•  ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ๊ณต๋ฐฑ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ด ์ค๋‹ˆ๋‹ค. 04contentType contentType์€ ๋ง๊ทธ๋Œ€๋กœ ์ž‘์„ฑ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ธ์‹ํ•˜๊ฒŒ ํ•  ๊ฒƒ์ธ๊ฐ€์— ๊ด€ํ•œ ์†์„ฑ์„ ์ž‘์„ฑํ•˜๋Š” ๊ณณ์ด๋‹ค. 'plain'๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋ฐ‘์˜ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ด์ค€๋‹ค. trimDirectiveWhitespaces="true"์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์•˜๊ธฐ๋•Œ๋ฌธ์— ์ถœ๋ ฅ๋‚ด์šฉ ์œ„์ชฝ์— ๊ณต๋ฐฑ์ด ์ƒ๊ธด๋‹ค.

    Day01(๋ณ„ ๊ทธ๋ฆฌ๊ธฐ, ํƒœ๊ทธ์ƒ์„ฑ, out.print(); )

    JSP์—์„œ ๋ณ„ ๊ทธ๋ฆฌ๊ธฐ * ** *** **** ***** ์ฃผ์„๋ฌธ ์‚ฌ์šฉ๋ฒ• : ctrl+shift+/ ํ™•์žฅ์ž๋Š” jsp์ด์ง€๋งŒ htmlํ™˜๊ฒฝ์ด๊ธฐ๋•Œ๋ฌธ์—? html์˜ ํƒœ๊ทธ๋ฅผ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ๋„ ์žˆ๋‹ค. ๋˜ํ•œ ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ ์•ˆ์— ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์กฐ๊ฑด๋ฌธ,๋ฐ˜๋ณต๋ฌธ ๋“ฑ ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์ž๋ฐ”์ฝ”๋“œ์•ˆ์—์„œ out.print(); ๋ฅผ ํ†ตํ•ด์„œ ๋ฌธ์„œ์— ์ž…๋ ฅ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ out.print๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์›ํ•˜๋Š” ๊ฒƒ์„ ์ถœ๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ์ž‘์„ฑํ•ด์•ผํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๊ธฐ๋•Œ๋ฌธ์— StringBuffer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข€ ๋” ๋ฐ”๋žŒ์งํ•œ๋“ฏํ•˜๋‹ค. ์œ„์˜ ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ ์„ ํ†ตํ•ด ๋ฐ”๋กœ sb์— ๋‹ด๊ฒจ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ–ˆ๋‹ค.

    Day 01(๊ธฐ๋ณธ ํ˜•ํƒœ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•)

    JSPํŒŒ์ผ ์ƒ์„ฑ ์‹œ ๊ธฐ๋ณธ ํ˜•ํƒœ ์„ค์ • ๋ถ€๋ถ„: JSP ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด ์ƒ์„ฑ ๋ถ€๋ถ„: HTML ์ฝ”๋“œ ๋ฐ JSP ์Šคํฌ๋ฆฝํŠธ JSP์—์„œ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ์—๋Š” ๋ฅผ ์ด์šฉํ•ด์„œ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ์‚ฌ์ด์— =๋ฅผ ๋ถ™์ด๋ฉด ๋ฐ”๋กœ ์‹คํ–‰๋œ๋‹ค. ์ž๊ธฐ์†Œ๊ฐœ๋Š” ๋ง˜๋Œ€๋กœ ๋ถ€ํ„ฐ jsp,Spring ์ˆ˜์—…์„ ํ•จ๊ป˜ ํ•ฉ๋‹ˆ๋‹ค. jsp๋ฅผ ์—ด์‹ฌํžˆํ•ด์„œ ๋ฉ‹์ง„ ์›น์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ณ  ์ข‹์€๊ณณ์— ์ทจ์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ์‹œ๋‹ค ํ™”์ดํŒ…! ๋””๋ ‰ํ‹ฐ๋ธŒ ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ ํ‘œํ˜„์‹ ํ˜„์žฌ ์‹œ๊ฐ„์€ ์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ๋œ ๋ชจ์Šต tip ! ์ฝ”๋“œ ์‹คํ–‰ ์‹œ์—๋Š” ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋œ๋‹ค. (์ดํด๋ฆฝ์Šค๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.)