๐Ÿ“† 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 ์ฝ”๋“œ๋‚ด์šฉ