๐ Today I Learned(๊ฐ๋ฐ์ธ์ดํ์ต)/JSP
Day04(error)
01errorMain.jsp ์ฝ๋๋ด์ฉ ๋๋ ํฐ๋ธ ๋ถ๋ถ์ errorPage="01errorPage.jsp" ๋ฅผ ์ถ๊ฐํ๋ค. ์ฌ๊ธฐ์ 01errorPage.jsp๋ 01errorMain.jsp์์ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋ ๋ณด์ฌ์ค ํ์ด์ง์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ๋ฒํผ๋ฅผ ๋น์ฐ๊ณ ์๋ฌํ์ด์ง์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ๋ฒํผ์ ์ฑ์์ ์ ์กํ๋ค. errorํ์ด์ง๋ฅผ ์ค์ ํ๊ฒ ๋๋ฉด ๊ธฐ๋ณธerrorํ์ด์ง(ํ๋ํ๋ฉด) ๋์ ์ผ๋ฐ ์ฌ์ฉ์๋ค์ด ๋ณผ๋งํ ํ์ด์ง๋ฅผ ๋์ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋ค. RunTimeException : ์คํ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ์ ์ข ๋ฅ ์คํ ์ค์ ๋ฐ์ํ๋ฉฐ ์์คํ ํ๊ฒฝ์ ์ผ๋ก๋ ์ธํ ๊ฐ์ด ์๋ชป๋ ๊ฒฝ์ฐ, ํน์ ์๋์ ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ์ก์๋ด๊ธฐ ์ํ ์กฐ๊ฑด ๋ฑ์ ๋ถํฉํ ๋ ๋ฐ์(throw)๋๊ฒ ๋ง๋ ๋ค. NullPointerException ..
Day03(ArrayList)
ArrayListํ์ฉํ์ฌ ์ซ์ ์กฐํฉํ๊ธฐ? addAll : ํฉ์งํฉ ex) list2.addAll(list1); -> list2 = list1 + list2๊ฐ ๋๋ค. (์ค๋ณต๋๋ ๊ฐ์ด ๊ฑธ๋ฌ์ง์ง์์) removeAll : ์ฐจ์งํฉ ex) list2.removeAll(list1); -> list2 = list2 - list1๊ฐ ๋๋ค. (์ค๋ณต๋๋ ๊ฐ ์ ๊ฑฐ๋จ) retainAll : ๊ต์งํฉ ex) list2.retainAll(list1); -> list2=list1๊ณผ list2์ ์ค๋ณต๊ฐ์ ์ ์ฅํ๋ค. (์ค๋ณต๋๋ ๊ฐ๋ง ์ ์ฅ) ์ถ๋ ฅ๊ฒฐ๊ณผ
Day03(session)
08sessionSet.jsp ์ฝ๋๋ด์ฉ session๊ฐ์ฒด ์ฌ์ฉ์๋ณ๋ก ํ๊ฐ์ฉ ์์ฑ๋๋ ๊ฐ์ฒด ์๋ฒ : 1๊ฐ request(์ด๋ค ๋ธ๋ผ์ฐ์ ์์ ์๋์ง์ ๋ํ ์ ๋ณด๊ฐ ์์) request.getSession์ ์๋ฒ๋ก๋ถํฐ ์ฐฝํฌ ์ปดํจํฐ์์ ์จ๊ฑฐ๋๊น ๊ฑฐ๊ธฐ์ ํด๋นํ๋ session ์ฃผ์ธ์. session์ ํค๊ฐ์ ๋๋ฌธ์๋ก ์ด๋ค. ์๋ฏธ๋ณ ๊ตฌ๋ถ์ '_' 08sessionGet.jsp ์ฝ๋๋ด์ฉ sessionGet USER_INFO : PRE_PAGE : session์ ํ๋ฒ setํ๊ณ ๋์ getํ์ ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ์๋๋ก ๋ก๊ทธ์ธํ๋ฉด์ผ๋ก ๊ฐ์ง, ์ ์์ ์ธ ํ๋ฉด์ ๋ณด์ฌ์ค์ง ๊ฒฐ์ ๋๋ค.
Day03(ํ์ผ ์ฝ๊ธฐ)
07applicationResource.jsp ์ฝ๋๋ด์ฉ ์ค์ ํ์ผ ์์น :
Day03(application)
06application.jsp์ ์ฝ๋๋ด์ฉ 06application2.jsp์ ์ฝ๋๋ด์ฉ application ๊ฐ์ฒด๋ ์๋ฒ์ ๋จ ํ๋ ์๋ ๊ฐ์ฒด์ด๊ณ , ์ด๋ค ๊ณณ์์ application๊ฐ์ฒด ์ฌ์ฉํ๋ ๋๊ฐ์ ๊ฐ์ฒด ์ฌ์ฉํ๋ค. ๊ทธ๋์ ์ด๋ ๊ณณ์์๋ application.setAttribute("data", "dataval");์ด ์ด๋ฏธ ์์ฑ๋์ด ์๋ ์ํ๋ผ๋ฉด ์ด๋ค ๊ณณ์์ ๋ฅผ ์์ฑํ๊ฒ๋๋๋ผ๋ ๊ฐ์ ธ์ค๋ ๊ฐ์ ๊ฐ๋ค. ์์ ๋ด์ฉ์์๋ dataval์ด ๋์จ๋ค.
Day03(pageContext)
pageContext ๊ฐ์ฒด(javax.servlet.jsp.PageContext) pageContext ๊ฐ์ฒด๋ JSP ๊ธฐ๋ณธ๊ฐ์ฒด๋ก JSP ํ์ด์ง์์ ๋ฐ๋ก ์ ์ธํ์ง ์์๋ ์ฐธ์กฐํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. pageContext๋ JSP ํ์ด์ง์ ๋ํด 1:1๋ก ์ฐ๊ฒฐ๋ ๊ฐ์ฒด๋ก JSP ํ์ด์ง๋น ํ๋์ pageContext ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ JSP ํ์ด์ง ๋ด์์๋ ์๋ก ๊ฐ์ ๊ณต์ ํ ์ ์์ผ๋ฉฐ, ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค๋ฅธ ๊ธฐ๋ณธ๊ฐ์ฒด๋ค์ ๊ตฌํ ๋ ์ฌ์ฉํ๊ฑฐ๋ ํ์ด์ง ํ๋ฆ์ ์ ์ดํ ๋ ์ฌ์ฉ๋๋ค. pageContext์ ๋ฉ์๋๋ค์ ํํ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ๊ฐ์ฒด๋ค์ ๋ฆฌํดํ๋ค. ์ค์ ๋ก pageContext์ ๋ฉ์๋๋ค์ JSP ํ์ด์ง๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋ ๋ ๊ธฐ๋ณธ๊ฐ์ฒด๋ค์ ์์ฑํ๋๋ฐ์ ์ฌ์ฉ๋๋ค. ์ฆ JSP๊ฐ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํ๋๋ ๊ณผ์ ์์ pageCo..
Day03(saneNameFrom)
formํ๊ทธ์ input์์ ๊ฐ์ name์ ๊ฐ์ง ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ 03sameNameForm.jsp ์ฝ๋๋ด์ฉ ์ด๋ฆ : ์ฃผ์ : ์ทจ๋ฏธ ์ด๋ ์ํ ๋ณผ๋ง ์ถ๊ตฌ ์ค๋ฌธ์กฐ์ฌ checkbox๊ฐ์ ๊ฒฝ์ฐ์๋ ๊ฐ์ name์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ผ ํ๋ค. ๊ทธ ๊ฒฝ์ฐ ํ๋ผ๋ฏธํฐ์ ์ด๋ฆ์ด ๊ฐ์ ๊ฒ ์ฌ๋ฌ๊ฐ ๋ฐ์๋๋ ๋ฐ Map์ ์ด์ฉํ for๋ฌธ์ ํตํด ๋ณด์ฌ์ค ์ ์๋ค. 03sameNameResult.jsp ์ฝ๋๋ด์ฉ ์ด๋ฆ : ์ฃผ์ : ์์ ๊ฐ์ ๋ด์ฉ์ด์ง๋ง Enumeration๊ณผ Map์ ํ์ฉํ ๋ฐฉ์ ๋ ๊ฐ์ง ์์์ด๋ค. 04sameNameForm.jsp ์ฝ๋๋ด์ฉ ์ด๋ฆ : ์ฃผ์ : ์ทจ๋ฏธ ์ด๋ ์ํ ๋ณผ๋ง ์ถ๊ตฌ ์ค๋ฌธ์กฐ์ฌ 04sameNameResult.jsp ์ฝ๋๋ด์ฉ