๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (208)
๐ป
MVC(Model - View - Controller) ํจํด MVC์ ์ปจํธ๋กค๋ฌ : ์๋ธ๋ฆฟ 1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์กํ HTTP ์์ฒญ์ ๋ฐ๋๋ค. ์๋ธ๋ฆฟ์ doGet()๋ฉ์๋๋ doPost()๋ฉ์๋๊ฐ ํธ์ถ๋๋ค. 2. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ค ๊ธฐ๋ฅ์ ์์ฒญํ๋์ง ๋ถ์ํ๋ค. 3. ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์์ฒญํ ๊ธฐ๋ฅ์ ์ํํ๋ค. 4. ๋ชจ๋ธ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ๊ณตํ์ฌ, request ๋ session์ setAttribute()๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ๊ณผ๊ฐ์ ์์ฑ์ ์ ์ฅํ๋ค. ์ด๋ ๊ฒ ์ ์ฅํ ๊ฒฐ๊ณผ๊ฐ์ ๋ทฐ JSP์์ ์ฌ์ฉํ๋ค. 5. ์น ๋ธ๋ผ์ฐ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์กํ JSP๋ฅผ ์ ํํ ํ, ํด๋น JSP๋ก ํฌ์๋ฉํ๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ redirect FrontController ํจํด ํด๋ผ์ด์ธํธ์ ๋ค์ํ ์์ฒญ๋ค์ ํ๊ณณ์ผ๋ก ์ง์ค์์ผ์ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์..
function tags ํ์ค ํจ์๋ฅผ ์ ๊ณตํ๋ค. ๋๋ถ๋ถ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์์ด ์กฐ์์ ์ํ ํจ์์ด๋ค. ${str1} ${str3} 1. ๋ฌธ์์ด๊ธธ์ด: ${fn:length(str1)} 2. ๋๋ฌธ์: ${fn:toUpperCase(str1)} 3. ์๋ฌธ์: ${fn:toLowerCase(str1)} 4. ๋ฌธ์์ด์ถ์ถ: ${fn:substring(str1,3,6)} 5. ๋ฌธ์์ด์นํ: ${fn:replace(str1, " ", "-")} 6. ๋ฌธ์์ด์์น: ${fn:indexOf(str1, "t")} 7. ๋ฌธ์์ด1์์ ๋ฌธ์์ด2์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด ์ดํ: ${fn:substringAfter(str1, str2)} 8. ๋ฌธ์์ด1์์ ๋ฌธ์์ด2์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด ์ด์ : ${fn:substringBefore(str1,..
formatting tags ์์ํ๊ทธ๋ ๋ฉ์์ง ํ์, ๋ฒํธ ๋ฐ ๋ ์ง ํ์ ๋ฑ์ ์ง์ํ๋ค. ๊ตญ์ ํ ๋ ์น ์ฌ์ดํธ์์ ํ ์คํธ, ์๊ฐ, ๋ ์ง ๋ฐ ์ซ์๋ฅผ ํ์ํ๊ณ ํ์ํํ๋๋ฐ ์ฌ์ฉํ๋ค. ์ซ์๋ฅผ ๋ฌธ์์ด ๋ณํ number: currency: percent: ๋ฌธ์์ด์ ์ซ์ ๋ณํ ${isu} ๋ ์ง๋ฅผ ๋ฌธ์์ด ๋ณํ ๋ ์ง: ์๊ฐ: ๋ ์ง์๊ฐ: ๋ ์ง์๊ฐ: ๋ ์ง์๊ฐ: ํจํด: ๋ฌธ์์ด์ ๋ ์ง ๋ณํ
JSTL์ JSP๊ฐ๋ฐํ ๋ ๊ฐ๋จํ๊ฒ ์์ฑํ๊ธฐ ์ํ ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. core ํ๊ทธ ${fruit} ${fruit} ๋ apple ์๋ ${"ํํํ"} ์ ์ด๋ฌธ - choose/when ${fruit} ${fruit} ${fruit} ๊ธฐํ๋ฑ๋ฑ ๋ฐ๋ณต๋ฌธ - for ${i} 1~100๋ฐฐ๊น์ง์ ํฉ:${tot} ์์์ถ๊ฐ์ ๊ฐ์ ์ ๋ฌํด์ฃผ๊ณ ์ํ๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์จ๋ค.
JSP๋ ์ปดํ์ผํ๋ฉด์ ์๋ธ๋ฆฟ์ผ๋ก ๋ฐ๋๋ค. ์ฆ, ์๋ธ๋ฆฟํ์ผ์ ์ข ๋ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํ๋๊ฒ JSP JSTL๋ค์ด๋ก๋ http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ Index of /dist/jakarta/taglibs/standard/binaries archive.apache.org ๋ค์ด๋ฐ์๊ฑฐ ์์ถ ํ๊ณ lib > jarํ์ผ docs.oracle.com/cd/E17802_01/products/products/jsp/jstl/1.1/docs/tlddocs/index.html TLDDoc Generated Documentation docs.oracle.com core01.jsp ๋ณ์ ์ ์ธ ${su} / ${imsi} ๋ฉ์์ง: ${ms..
EL(Expression Language) JSTL(Jsp Standard Tag Library) el.jsp JAVA๋ช ๋ น์ด๋ JSTL, EL์ฌ์ฉํด์ผํ๋ค. EL - 1. ์ถ๋ ฅ, ์ฐ์ฐ์ ๊ฐ๋ฅ (์ง์ ๋ฐ์ดํฐ ์ฌ์ฉ๊ฐ๋ฅ, ๋ณ์(JSTL)) ์ ์ถ๋ ฅ: ${10}, ${99.99} ๋ฌธ์(๋ฌธ์์ด) ์ถ๋ ฅ: ${"apple"}, ${'apple'} ์ฐ์ฐ: ${10+20}, ${10-20}, ${4/5}, ${5%7} ์๋ค: ${23}, ${2 gt 3} ์๊ฑฐ๋ ๊ฐ๋ค: ${2.53.3}, ${2 ge 3} ๋ ผ๋ฆฌ์ฐ์ฐ์: ${"&&, AND, ||, OR, !, NOT"} ๋น๋ฌธ์์ด: ${null} MemberInfo.java package com.java.el; public class MemberInfo { private S..
Cookie(์ฟ ํค) - ํด๋ผ์ด์ธํธ ์ฟ ํค ํด๋์ ์ ์ฅ - ์: ์ฅ๋ฐ๊ตฌ๋ Session(์ธ์ ) - ์๋ฒ์ ์ ์ฅ - ์: ๋ก๊ทธ์ธ/๋ก๊ทธ์์ ์น ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ๋ก ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด, ์๋ฒ์ธก์์๋ ์๋ง์ ๋ก์ง์ ์ํํ ํ ๋ฐ์ดํฐ๋ฅผ ์น ๋ธ๋ผ์ฐ์ ์ ์๋ตํ ํ ์๋ฒ๋ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ด๊ณ๋ฅผ ์ข ๋ฃํ๋ค. ์ฐ๊ฒฐ์ด ๋์ด์ก์ ๋ ์ด๋ค ์ ๋ณด๋ฅผ ์ง์์ ์ผ๋ก ์ ์งํ๊ธฐ ์ํ ์๋จ์ผ๋ก ์ฟ ํค๋ผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ์ฟ ํค๋ ์๋ฒ์์ ์์ฑํ์ฌ ์๋ฒ๊ฐ ์๋ ํด๋ผ์ด์ธํธ์ธก์ ํน์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.(4KB ์ฉ๋ ์ ํ) ์ธ์ ๋ ์ฟ ํค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฒ์์ ๊ด๊ณ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์๋จ์ ๋๋ค. ๋จ, ์ฟ ํค์ ๋ฌ๋ฆฌ ํด๋ผ์ด์ธํธ์ ํน์ ์์น์ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ, ์๋ฒ์์ ๊ฐ์ฒด๋ก ์กด์ฌํ๋ค. ๋ฐ๋ผ์ ์ธ์ ์ ์๋ฒ์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ์ฌ ๋ณด์์ ์ข๊ณ , ๋ฐ์ดํฐ ์ฉ๋ ํ..
๊ฐ์ฒด ๋ฒ์ page < request < session < application ๊ฐ์ฒด ๋ฒ์ ์ข ๋ฅ page ์์ญ JSP ํ์ผ์๋ pageContext๊ฐ ๋ด์ฅ๋์ด ์์ผ๋ฉฐ, ์ด ๊ฐ์ฒด๋ page ์์ญ์์๋ง ์ ํจ JSP ํ์ผ์ ์์ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ๋ณ์๋ ํด๋น JSP ํ์ผ ๋ด์์๋ง ์ ํจํ๋ฐ, page ์ค์ฝํ์ ์ ์๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํ ๋ฒ์ ํด๋ผ์ด์ธํธ ์์ฒญ์ด ์ค๋ฉด, ํ๋์ JSP ํ์ด์ง๊ฐ ์๋ต page ์์ญ์ ์ด ๋ ํ๋์ JSP ํ์ด์ง ๋ด์์๋ง ๊ฐ์ฒด๋ฅผ ๊ณต์ ํ๋ ์์ญ์ ์๋ฏธ request ์์ญ Servlet์์๋ reqeust.setAttribute("์ด๋ฆ", ๊ฐ์ฒด); ๋ก ์ ๋ฌํ๊ณ , JSP์์๋ Obejct ob j = request.getAttribute("์ด๋ฆ"); ์ผ๋ก ๋ฐ๋๋ค. ์ด ๋ ์ฌ์ฉํ๋ req..