WebFrameHomework2 Project explain - GoldSwan/WebFrameHomework2 GitHub Wiki

Welcome to the WebFrameHomework2 wiki!

WebFrameHomework2 Project explain

<ํ™ˆํŽ˜์ด์ง€ ์ ‘์†>

์ฒ˜์Œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ์ ‘์†ํ•˜๋ฉด springSecurityFilter๋ฅผ ์ด์šฉํ•ด MYSQL์— ์ €์žฅ๋œ ์ธ์ฆ์ž ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•ด์•ผ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. isAuthenticated()๋ฅผ ํ†ตํ•ด ์ธ์ฆ๋งŒ ํ•˜๋ฉด ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

<ํ•™๊ธฐ๋ณ„ ์ด์ˆ˜ ํ•™์  ์กฐํšŒ>

ํ•™๊ธฐ๋ณ„ ์ด์ˆ˜ ํ•™์  ์กฐํšŒ ํŽ˜์ด์ง€๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @RequestMapping("/courses") ํ•  ๋•Œ CourseService์—์„œ MakeSplitCourseBySemesters() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ํ•™๊ธฐ๋ณ„ ์ด์ˆ˜ ํ•™์  ์กฐํšŒ๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ splitCourseBySemesters๋ผ๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์„ ํ†ตํ•ด courses.jsp ํŽ˜์ด์ง€์— ํ…Œ์ด๋ธ”๋กœ ๋ณด์—ฌ์คฌ์Šต๋‹ˆ๋‹ค. ๋งํฌ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @RequestMapping("/detailcourse") ํ•  ๋•Œ DB๋‚ด์—์„œ ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น ๋…„๋„, ํ•™๊ธฐ์™€ ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ด๋ธ”๋งŒ ๋ฝ‘์•„๋‚ด์–ด detailCourses๋ผ๋Š” ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด detailcourse.jsp์— ๋ณด์—ฌ์คฌ์Šต๋‹ˆ๋‹ค.

<์ด์ˆ˜ ๊ตฌ๋ถ„๋ณ„ ํ•™์  ์กฐํšŒ>

์ด์ˆ˜ ๊ตฌ๋ถ„๋ณ„ ํ•™์  ์กฐํšŒ ํŽ˜์ด์ง€๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @RequestMapping("divisioncourse") ํ•  ๋•Œ "๊ตฌ๋ถ„"(๊ตํ•„,์ผ๊ต,์ „๊ธฐ,ํ•ต๊ตA,ํ•ต๊ตB,์ „์„ ,์ž์œจ,์ธ์žฌ)๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ด์ ๋„ ๊ณ„์‚ฐํ•˜์—ฌ DB๋‚ด์˜ ๋ ˆ์ด๋ธ”์„ ๊ฐ’๋“ค์„ splitGrades ๋ชจ๋ธ์— ์ €์žฅํ•˜์—ฌ divisioncourse.jsp์—์„œ ํ…Œ์ด๋ธ”๋กœ ๋ณด์—ฌ์คฌ์Šต๋‹ˆ๋‹ค.

<์ˆ˜๊ฐ• ์‹ ์ฒญ ํ•˜๊ธฐ>

์ˆ˜๊ฐ• ์‹ ์ฒญ ํ•˜๊ธฐ ํŽ˜์ด์ง€๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ @RequestMapping("/createcourse") ํ•  ๋•Œ course ๋ชจ๋ธ์„ createcourse๋กœ ์ „์†กํ•ด์ค๋‹ˆ๋‹ค. ๊ทธ ํ›„ createcourse.jsp์—์„œ submit์„ ํ†ตํ•ด ์ž…๋ ฅํ•œ ๊ฐ’์„ course ๋ชจ๋ธ์„ ํ†ตํ•ด ์ „์†กํ•˜๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ @RequestMapping("/docreate")ํ•  ๋•Œ Courseํด๋ž˜์Šค์—์„œ hibernate-validator ์–ด๋…ธํ…Œ์ด์…˜์ด ์„ค์ •๋œ ๋ณ€์ˆ˜๋“ค์—๊ฒŒ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์—๋Ÿฌ ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๊ณ  ๋‹ค์‹œ createcourse.jsp๋กœ ๋ฆฌํ„ด, ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด DB๋‚ด์— ์ž…๋ ฅ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  coursecreated.jsp๋กœ ๋ฆฌํ„ดํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

<์ˆ˜๊ฐ• ์‹ ์ฒญ ์กฐํšŒ>

์ˆ˜๊ฐ• ์‹ ์ฒญ ์กฐํšŒ ํŽ˜์ด์ง€๋Š” ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ @RequestMapping("/newcourses") ํ•  ๋•Œ ํ•™๊ธฐ๋ณ„ ์ด์ˆ˜ ํ•™์  ์กฐํšŒ์˜ ๋งํฌ์™€ ๊ฐ™์ด 2018๋…„ 1ํ•™๊ธฐ ์— ํ•ด๋‹น๋˜๋Š” DB๋ ˆ์ด๋ธ”์„ ๋ฝ‘์•„๋‚ด์–ด newcourses๋ชจ๋ธ์„ newcourses.jsp๋กœ ๋ณด๋‚ด์ค˜์„œ ์ด๋ฅผ ํ…Œ์ด๋ธ”๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

<์ถ”๊ฐ€ ์„ค๋ช…>

jsp ํŽ˜์ด์ง€์™€ css๋Š” ๋™์˜์ƒ์—์„œ ๋งŒ๋“  helloSpringMVC ํ”„๋กœ์ ํŠธ๋ฅผ ์ฐธ๊ณ ,์‘์šฉํ•˜์—ฌ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์›นํŽ˜์ด์ง€์—์„œ ์ „์†กํ•œ ๊ฐ’์„ DB์— ์ „์†กํ•  ๋•Œ ํ•œ๊ธ€์ด ๊นจ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒจ์„œ encodingFilter๋ฅผ ํ†ตํ•ด ์ธ์ฝ”๋”ฉํ›„ ์˜ฌ๋ฐ”๋ฅธ ํ•œ๊ธ€๊ฐ’์ด ์ €์žฅ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ