๐ 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¶m2=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 ! ์ฝ๋ ์คํ ์์๋ ์๋ฒ๋ฅผ ํตํด ์คํ๋๋ค. (์ดํด๋ฆฝ์ค๊ฐ ์ง์ ์ ์ผ๋ก ์คํํ๋ ๊ฒ์ด ์๋๋ค.)