๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ ๊ณต๋ถ€/WEB

@SessionAttribute, @SessionAttriubtes

by syLim___ 2024. 3. 1.
728x90

 

โœ… ๊ฐ์ฒด๋ฅผ ์„ธ์…˜์— ๋„ฃ์–ด์„œ ์‚ฌ์šฉํ•˜๊ธฐ

์–ด๋–ค ์ •๋ณด๋ฅผ ์„ธ์…˜์— ๋„ฃ๊ณ  ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด

๋ฉ”์„œ๋“œ ํ•ธ๋“ค๋Ÿฌ ํŒŒ๋ผ๋ฏธํ„ฐ์— HttpSession์„ ๋ฐ”๋กœ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

session.setAttribute(ํ‚ค,๋ฐธ๋ฅ˜)

 


โœ… @SessionAttribute

@SessionAttribute ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด,

session.setAttribute() ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์„ธ์…˜์— ๋„ฃ์–ด์ค€๋‹ค.

 

 

 

โœ… @ModelAttribute

ModelAttribute๋Š” ์„ธ์…˜์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ์กฐํ•ฉํ•ด์„œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ํผ๋ฐ์ดํ„ฐ๋กœ ์ž…๋ ฅ๋ฐ›์•˜๋˜ key, value ์Œ์„ ์„ธ์…˜์— ์ €์žฅํ•ด๋‘์—ˆ๋‹ค๊ฐ€ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŽ˜์ด์ง€1์—์„œ id๋ฐ›๊ณ  ์„ธ์…˜์— ๋„ฃ์–ด๋‘๊ณ , ๋‹ค์Œ ํŽ˜์ด์ง€2์—์„œ pwd ๋ฐ›๊ณ  ์„ธ์…˜์— ๋„ฃ์–ด๋‘๊ณ ,

๋ชจ๋ธ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ์„ธ์…˜์—์„œ id, pwd ๊บผ๋‚ด์„œ ์กฐํ•ฉํ•ด์„œ User ๊ฐ์ฒด ๋งŒ๋“ค์–ด์คŒ

 

 

 

<< ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ 11๋ถ€ RedirectAttributes ๋‚ด์šฉ >>

โœ… SessionAttributes์˜ ๊ฐ์ฒด ์ด๋ฆ„๊ณผ, ModelAttribute์˜ ๊ฐ์ฒด ์ด๋ฆ„์ด ๊ฐ™์„ ๊ฒฝ์šฐ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค!!

 

๋งŒ์•ฝ ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค ์ƒ๋‹จ์— @SessionAttributes("event") ๊ฐ€ ์„ ์–ธ๋˜์–ด ์žˆ๊ณ 

ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ์— @ModelAttribute("event")๊ฐ€ ์„ ์–ธ๋˜์–ด ์žˆ๋‹ค๊ณ  ์น˜์ž.

 

๊ทธ๋ฆฌ๊ณ  sessionStatus.setComplete()๋กœ ์„ธ์…˜์ด ๋น„์›Œ์ง„ ์ƒํƒœ์ด๋‹ค.

 

ํ•ธ๋“ค๋Ÿฌ๊ฐ€ @ModelAttribute๋กœ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ,

์šฐ์„  ์„ธ์…˜์„ ๋’ค์ง€๋Š”๋ฐ,

์„ธ์…˜์— events๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์žˆ์œผ๋ฉด ๊ทธ ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ 

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด uri query param์˜ ์ •๋ณด๋ฅผ ์กฐํ•ฉํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.

 

์ด๋•Œ ์„ธ์…˜์ด ๋น„์›Œ์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—

ํ•ธ๋“ค๋Ÿฌ์—์„œ๋Š” ์„ธ์…˜์˜  "event"๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์–ด์„œ
HttpSessionRequiredException์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

 @ModelAttribute("newEvent")๋กœ ์„ค์ •ํ•˜๋ฉด ์—๋Ÿฌ ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

728x90