์ ์ฒด ๊ธ (135) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์คํ๋ง ์ปจํ ์ด๋์ ๊ด๊ณ Spring Quick Start(์ฑ )์ Day4 class03 ์ ๊ณต๋ถํ ๋ด์ฉ์ ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์์ฃผ ์ค์ํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค! characterEncoding org.springframework.web.filter.CharacterEncodingFilter encoding EUC-KR characterEncoding *.do contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:dispatche.. intelliJ ํฐ์บฃ ์๋ฒ๋ก ์คํํ๊ธฐ 1. add Configuration Template์์ Tomcat Server > Local Warning์ด ๋จ๋๋ฐ ์์ ๋นจ๊ฐ ์ ๊ตฌ๋ก Fix ๋ถ๋ถ์ ๋๋ฅด๋ฉด war์ war:exploded๊ฐ ๋ฌ๋ค. ๋ฐ์ ๊ฒ์ ํด๋ฆญํ๋ค. Application context์ "/๋ธ๋ผ์ฐ์ ์์ํธ์ถ๋๊ธธ์ํ๋ํ๋ก์ ํธ์ด๋ฆ" ์ ์ง์ ํ ์ ์๋ค. 2. ์ด๋ ๊ฒ ์ค์ ์ ๋ค ํ๊ณ ์ ์ฉํ๋ฉด Run button(์ด๋ก์ ์ธ๋ชจ ๋ฒํผ)์ด ํ์ฑํ๋๋ค. ๋๋ฌ๋ณด์! IntelliJ๋ก, Spring ํ๋ก์ ํธ(maven) ์์ฑํ๊ธฐ ๐ํ๋ก์ ํธ ์์ฑํ๊ธฐ 1. maven์ webapp์ผ๋ก ํ๋ก์ ํธ ์์ฑํ๋ค. maven์ ์ด์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ pom.xml ํ์ผ๊ณผ webapp ๋๋ ํ ๋ฆฌ ๋ฐ์ webapplication ์ค์ ์ ์ํ web.xml ํ์ผ์ด ์์ฑ๋๋ค. 2. pom.xml์ ์ ์ถ๊ฐํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ค. ์คํ๋ง 5.3.2๋ก ์์ฑํ๋ pom.xml์ ์ฌ๊ธฐ์ ํ์ธํ ์ ์๋ค. 16๋ฒ์งธ ์ค ์ดํ (properties)๋ก ๋ณต๋ถํด์ค๋ค. ๋ฐ์ ๋ฒํผ ํด๋ฆญํ๋ฉด reload ๋๋ค. 3. Spring MVC ํ๋ ์์ํฌ๋ฅผ ์ถ๊ฐํ๋ค. ๋ฃจํธํด๋ ์ฐํด๋ฆญ ํ > Add Frameworks Support > Spring MVC ํ๋ฉด webapp directory์ applicationContext.xml์ dispatcher-servlet... IntelliJ Add Framework Support์ Spring์ด ๋ณด์ด์ง ์์ ๋ IntelliJ Add Framework Support์ Spring์ด ๋ณด์ด์ง ์์ ๋ ์ฆ, ๋ฐ์ ๋ถ๋ถ์ด ๋ณด์ด์ง ์์ ๋๋ File > Project Structure (ctrl + alt + shift + s) ์ ๋ค์ด๊ฐ์ Facets > Spring ํด๋ฆญ > ์ญ์ ๋ฒํผ ๋๋ฅด๊ธฐ ๋ค์ Add Framework Support์ ๋ค์ด๊ฐ๋ฉด Spring ๊ด๋ จ ๋ฉ๋ด๋ค์ด ์๊ธด ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด๋ ธํ ์ด์ ์ ์ ์ฉํ Spring MVC ๊ฒ์ํ ๊ฐ๋ฐ Spring Quick Start(์ฑ )์ Day4 class01~02 ์ค์ต์ ์งํํ๋ฉด์ ๊ธฐ๋กํ ๋ด์ฉ์ ๋๋ค. ์ค์ตํ ์ฝ๋์ ๋งํฌ์ ๋๋ค. 1. ์ปจํธ๋กค๋ฌ ๊ฐ์ฒด์ @Controller ๋ฑ๋กํ๊ธฐ @Controller๋ก ๋ฑ๋ก๋ ์ปดํฌ๋ํธ๊ฐ ์ค์บ๋๊ธฐ ์ํด ์คํ๋ง ์ค์ ํ์ผ(webapp/WEB-INF/presentation-layer.xml)์ ์ผ๋ก ํจํค์ง ์์น๋ฅผ ์ง์ ํด ์ฃผ์ด์ผ ํ๋ค. ์ปจํธ๋กค๋ฌ ํด๋์ค์ @Component๋ฅผ ์์ํ @Controller๋ฅผ ๋ฑ๋กํ๋ค. 2. @RequestMapping ์ฌ์ฉํ๋ฉด์ Controller ํตํฉํ๊ธฐ @RequestMapping ์คํ๋ง์์๋ @RequestMapping์ ์ด์ฉํ์ฌ HandlerMapping ์ค์ ์ ๋์ฒดํ๋ค. HandlerMapping ์ ์ด์ ์ ์คํ๋ง ์ค์ ํ์ผ์์ ์ง.. ๊ฒ์๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด: HttpSession, HttpServletRequest, ModelAndView ์คํ๋ง MVC๋ฅผ ์ ์ฉํ์ฌ Controller๋ฅผ ์์ฑํ๋ ์ค ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด๋๋ ๊ฐ์ฒด์ ๋ํด์ ์ด์ผ๊ธฐํด๋ณด๋ ค ํ๋ค. import javax.servlet.http.HttpSession; HttpSession๋ ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ํ๋๋น ํ๋์ฉ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋์ด ํด๋ผ์ด์ธํธ์ ์ํ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ธ์ ์ ๋ง์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฉด ๋ ์๋ก ์๋ฒ์ ๋ถ๋ด์ ์ค ์ ๋ฐ์ ์๋ค. import javax.servlet.http.HttpServletRequest; ๊ทธ๋์ ๊ฒ์ ๊ฒฐ๊ณผ๋ HttpServletRequest์ ์ ์ฅํ๋ ๊ฒ์ด ๋ง๋ค. HttpServletRequest๋ ํด๋ผ์ด์ธํธ ์์ฒญ์ผ๋ก ์์ฑ๋๋ค๊ฐ ์๋ต๋ฉ์ธ์ง๊ฐ ํด๋ผ์ด์ธํธ๋ก ์ ์ก๋๋ฉด ์๋์ผ๋ก ์ญ์ ๋๋ ์ผํ์ฑ ๊ฐ์ฒด์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์๋ฒ์ ๋ถ๋ด์ .. ์คํ๋ง ์ธ์ฝ๋ฉ ์ค์ ์คํ๋ง์์๋ ์ธ์ฝ๋ฉ ์ฒ๋ฆฌ๋ฅผ ์ํด CharacterEncodingFilter ํด๋์ค๋ฅผ ์ ๊ณตํ๋ค. web.xml ํ์ผ์ CharacterEncodingFilter๋ฅผ ๋ฑ๋กํ๋ฉด ๋ชจ๋ ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ํด์ ์ผ๊ด์ ์ผ๋ก ์ธ์ฝ๋ฉ์ ์ฒ๋ฆฌํ ์ ์๋ค. [web.xml ์ค] characterEncoding org.springframework.web.filter.CharacterEncodingFilter encoding EUC-KR characterEncoding *.do ๋ ๊ณผ ๊ฑฐ์ ๋น์ทํ ํํ๋ก ๋ฑ๋กํ๋ค. WEB-INF/action-servlet.xml ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ action org.springframework.web.servlet.DispatcherServlet action *.do web.xml์์ servlet-name์ด action์ด๋ผ์ "WEB-INF/action-servlet.xml"์ด ๊ธฐ๋ณธ์ ์ธ DispatcherServlet ์ค์ ํ์ผ์ด๋ค. DispatcherServlet์ ์ค์ ํ์ผ ์ด๋ฆ์ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด action org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/presentation-layer.xml action *.do init-param์ผ๋ก contextConfigLocation ์ง์ ํ๊ณ /WEB-INF/config/์ํ๋_ํ์ผ_์ด๋ฆ .. Spring MVC๋ฅผ ์ ์ฉํ ๊ฒ์ํ ๊ฐ๋ฐ Spring Quick Start(์ฑ )์ Day3 class05~07 ์ค์ต์ ์งํํ๋ฉด์ ๊ธฐ๋กํ ๋ด์ฉ์ ๋๋ค. ์ค์ตํ ์ฝ๋์ ๋งํฌ์ ๋๋ค. 1. DispatcherServlet ๋ฑ๋ก WEB-INF/web.xml ํ์ผ์ ์คํ๋ง ํ๋ ์์ํฌ์์ ์ ๊ณตํ๋ DispatcherServlet ๋ฑ๋กํ๊ธฐ ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ํด๋ผ์ด์ธํธ์ ".do" ์์ฒญ์ด ์์ด์ผ DispatcherServlet ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. [web.xml] action org.springframework.web.servlet.DispatcherServlet action *.do 2. ์คํ๋ง ์ปจํ ์ด๋ ๊ตฌ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ผ๋ก DispatcherServlet ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ค. DispatcherServlet์ ํด๋ผ์ด์ธํธ์ ์์ฒญ ์ฒ๋ฆฌ์ ํ์ํ HandlerMa.. EL & JSTL ๋? EL: Expression Language JSP 2.0์์ ์๋ก ์ถ๊ฐ๋ ์คํฌ๋ฆฝํธ ์ธ์ด๋ก์, ๊ธฐ์กด์ ํํ์์ ๋์ฒดํ๋ ํํ์ธ์ด์ด๋ค. ์๋ฅผ ๋ค์ด session์ ์ ์ฅ๋์ด ์๋ ์ฌ์ฉ์ ์ด๋ฆ์ JSP ํ๋ฉด์ ์ถ๋ ฅํ ๋, ๊ธฐ์กด์๋ ์๋์ ๊ฐ์ด ํํํ๋ค๋ฉด, EL์ ์ด์ฉํ๋ฉด ์๋์ ๊ฐ์ด ํํํ ์ ์๋ค. ${userName} ์๋์ ์ฝ๋์์ ๊ฐ๊ฐํ ${ } ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ์ฐ๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. [ getBoard.jsp ] ๊ธ ์์ธ Log-out ์ ๋ชฉ ์์ฑ์ ${board.writer } ๋ด์ฉ ${board.content } ๋ฑ๋ก์ผ ${board.regDate } ์กฐํ์ ${board.cnt } ๊ธ๋ฑ๋ก ๊ธ์ญ์ ๊ธ๋ชฉ๋ก JSTL: JSP Standard Tag Library JSP ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด .. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 14 ๋ค์