WebFrameHomework2 Project explain - GoldSwan/WebFrameHomework2 GitHub Wiki
์ฒ์ ํํ์ด์ง๋ฅผ ์ ์ํ๋ฉด 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๋ฅผ ํตํด ์ธ์ฝ๋ฉํ ์ฌ๋ฐ๋ฅธ ํ๊ธ๊ฐ์ด ์ ์ฅ๋ ์ ์๋๋ก ๊ตฌํํ์ต๋๋ค.