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

    Day07(Expression Language)

    01el.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ${koreatech } ${user } EL (Expression Language ํ‘œํ˜„์–ธ์–ด ${ } ) ํ‘œํ˜„์–ธ์–ด๋Š” ๊ฐ’์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ, JSP์˜ ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋ฅผ ๋ณด์™„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. JSP์˜ ๋„ค ๊ฐ€์ง€ ๊ธฐ๋ณธ ๊ฐ์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜์—ญ์˜ ์†์„ฑ ์‚ฌ์šฉ ๊ฐ์ฒด์— set๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅ. ๊ฐ์ฒดํƒ์ƒ‰์ˆœ์€ pageContext, request, session, application ์ˆ˜์น˜ ์—ฐ์‚ฐ, ๊ด€๊ณ„ ์—ฐ์‚ฐ, ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ์ œ๊ณต ์ž๋ฐ” ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๊ธฐ๋Šฅ ์ œ๊ณต ์ฟ ํ‚ค, ๊ธฐ๋ณธ ๊ฐ์ฒด์˜ ์†์„ฑ ๋“ฑ JSP๋ฅผ ์œ„ํ•œ ํ‘œํ˜„ ์–ธ์–ด์˜ ๊ธฐ๋ณธ ๊ฐ์ฒด ์ œ๊ณต ๋žŒ๋‹ค์‹์„ ์ด์šฉํ•œ ํ•จ์ˆ˜ ์ •์˜์™€ ์‹คํ–‰ ์ŠคํŠธ๋ฆผ API๋ฅผ ํ†ตํ•œ ์ปฌ๋ ‰์…˜ ์ฒ˜๋ฆฌ ์ •์  ๋ฉ”์„œ๋“œ ์‹คํ–‰

    Day06(session login)

    login.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ๋กœ๊ทธ์ธ ์•„์ด๋”” ๋น„๋ฐ€๋ฒˆํ˜ธ ID ๊ธฐ์–ตํ•˜๊ธฐ ๋กœ๊ทธ์ธ ๋กœ๊ทธ์ธ ์ค‘ ๋กœ๊ทธ์•„์›ƒ loginCheck.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

    Day06(session = get,set,remove)

    02set.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ 02get.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ํฌ๋กฌ๋ธŒ๋ผ์šฐ์ €์—์„œ set์„ ํ•˜๊ณ  get์„ ํ•˜๋ฉด ํ•ด๋‹น session์˜ attribute๊ฐ€ ์ถœ๋ ฅ๋˜์ง€๋งŒ ๊ทธ์ƒํƒœ๋กœ firefox์—์„œ getํ•˜๋ฉด ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค. firefox์—์„œ๋Š” ๋”ฐ๋กœ set์„ ํ•œ์ ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— (๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค session์ด ์ƒ๊ธด๋‹ค.) 02remove.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ํŠน์ • attribute๋ฅผ ์ง€์ •ํ•ด์„œ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค.

    Day06(session)

    httpํ†ต์‹ ์€ ์ƒํƒœ์—†์Œ : ๊ผผ์ˆ˜๋กœ ์ƒํƒœ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ฟ ํ‚ค, session ์ฟ ํ‚ค ์šฉ๋„ : ID๊ธฐ์–ตํ•˜๊ธฐ, ์ผ์ฃผ์ผ๋™์•ˆ ๊ณต์ง€ ์•ˆ๋ณด๊ธฐ ์„ธ์…˜ ์šฉ๋„ : ๋กœ๊ทธ์ธ์ฒ˜๋ฆฌ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ฟ ํ‚ค๋กœ ํ•˜๋ฉด id,pw ์œ„ํ—˜ํ•ด์„œ ๋กœ๊ทธ์ธ๊ธฐ๋Šฅ์€ ์„ธ์…˜(์„œ๋ฒ„์—๋งŒ์กด์žฌ)์œผ๋กœ ํ•œ๋‹ค. ์„ธ์…˜์€ ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด์žˆ์–ด์„œ ๋น„๊ต์  ์•ˆ์ „ํ•˜๋‹ค. 01sessionInfo.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ ์„ธ์…˜ ์ƒ์„ฑ ์‹œ๊ฐ„ : ์„ธ์…˜ ์ ‘๊ทผ ์‹œ๊ฐ„ : session์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ ‘๊ทผ(์š”์ฒญ)ํ•  ๋•Œ ์ƒ์„ฑ๋œ๋‹ค. ํ•ด๋‹น ๋ธŒ๋ผ์šฐ์ €์— ๋Œ€ํ•œ session์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ 01sessionDelete.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ session.invalidate(); ์‚ฌ์šฉ์‹œ ์„ธ์…˜ ์ง€์šฐ๊ธฐ

    Day06(์ฟ ํ‚ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„)

    CookieUtils.java์˜ ์ฝ”๋“œ๋‚ด์šฉ package com.study.common.util; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; public class CookieUtils { //์ƒ์„ฑ์ž, exist, getValue, getCookie, createCookie private Map cookieMap = new HashMap(); //request์— ์žˆ๋Š” ๋ชจ๋“  ์ฟ ํ‚ค๋“ค์„ ๋งต์—๋‹ค ์ €์žฅ public CookieUtils(HttpServletRequest request) { Cookie[] cookies = reque..

    Day05(cookie์ •๋ฆฌ)

    ์ฟ ํ‚ค : httpํ†ต์‹ ์€ ์ƒํƒœ์—†์Œ : ๊ผผ์ˆ˜๋กœ ์ƒํƒœ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ฟ ํ‚ค ์ฟ ํ‚ค ์šฉ๋„ : ID๊ธฐ์–ตํ•˜๊ธฐ, ์ผ์ฃผ์ผ๋™์•ˆ ๊ณต์ง€ ์•ˆ๋ณด๊ธฐ ๋ธŒ๋ผ์šฐ์ € ->(์ฟ ํ‚ค) ->>> ์„œ๋ฒ„ ์ฟ ํ‚ค๋กœ ํ•˜๋ฉด id,pw ์œ„ํ—˜ํ•ด์„œ ๋กœ๊ทธ์ธ๊ธฐ๋Šฅ์€ ์„ธ์…˜(์„œ๋ฒ„์—๋งŒ์กด์žฌ)์œผ๋กœ CookieUtils Cookie ๊ฒฝ๋กœ์„ค์ •, maxAge์„ค์ •์€ ์ฟ ํ‚ค๋งŒ๋“ค๊ณ  ๋‚˜์„œ set, set, setsetset ์• ์ดˆ์— ๋งŒ๋“ค๋•Œ๋งˆ๋‹ค ๊ฒฝ๋กœ, age ๋‹ค ์„ค์ •ํ•˜๊ณ ์‹ถ๋‹ค. ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด์ž ! -> Utils ์ฟ ํ‚ค ์‚ฌ์šฉํ•˜๊ธฐ ๏ถ ์ฟ ํ‚ค(cookie)๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ์„œ ์›น ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ํ•จ๊ป˜ ์ „์†ก๋œ๋‹ค. ๏ถ ์ฟ ํ‚ค๋Š” ์›น ์„œ๋ฒ„์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์–‘์ชฝ์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›น ์„œ๋ฒ„๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ „์†กํ•œ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ๏ถ ์›น ์„œ๋ฒ„..

    Day05(cookie04)

    04cookieUtilsMake.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ 04cookieUtilsView.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ

    Day05(cookie03)

    03cookieAge.jsp์˜ ์ฝ”๋“œ๋‚ด์šฉ