728x90 ๊ฐ์ธ ๊ณต๋ถ84 @ExceptionHandler, @ControllerAdvice โ ExceptionHandler - ์์ธ ์ฒ๋ฆฌ ํธ๋ค๋ฌ - ํน์ ์์ธ๊ฐ ๋ฐ์ํ ์์ฒญ์ ์ฒ๋ฆฌํจ - ์ง์ํ๋ ๋ฉ์๋ ์๊ท๋จผํธ๊ฐ ์ผ๋ฐ ํธ๋ค๋ฌ๋ณด๋ค๋ ํ์ ์ ์ - ์์ธ ๊ฐ์ฒด, ํธ๋ค๋ฌ ๊ฐ์ฒด, ๋ชจ๋ธ ๋ฑ (๊ณต์ ๋ฌธ์ ์ฐธ๊ณ ) ๋ค๋ฅธ ํธ๋ค๋ฌ์์ TestException์ ๋์ง๋ฉด, testErrorHandler๊ฐ ๋์ํ๊ณ ์๋ฌ ํ์ด์ง๋ฅผ ๋ฐํ - REST API์ ๊ฒฝ์ฐ ์ต์ ์ ํธ๋ค๋ฌ ๋ฆฌํด ํ์ ์ผ๋ก ResponseEntity๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค. โ ControllerAdvice - ํน์ ์ปจํธ๋กค๋ฌ ์์์๊ฐ ์๋๋ผ, ๋ชจ๋ ์ปจํธ๋กค๋ฌ์ ๊ฑธ์ณ์ ExceptionHandler, InitBinder, ModelAttributes ๋ฅผ ์ ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ์ฉ - @ContrllerAdvice ์์ฑ์ผ๋ก ์ ์ฉํ ๋ฒ์๋ฅผ ์ง์ ํ ์๋ ์๋ค. @Targ.. 2024. 3. 1. @SessionAttribute, @SessionAttriubtes โ ๊ฐ์ฒด๋ฅผ ์ธ์ ์ ๋ฃ์ด์ ์ฌ์ฉํ๊ธฐ์ด๋ค ์ ๋ณด๋ฅผ ์ธ์ ์ ๋ฃ๊ณ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด๋ฉ์๋ ํธ๋ค๋ฌ ํ๋ผ๋ฏธํฐ์ HttpSession์ ๋ฐ๋ก ๋ฐ์์ ์ฌ์ฉํ ์๋ ์๋ค.session.setAttribute(ํค,๋ฐธ๋ฅ) โ @SessionAttribute@SessionAttribute ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ฉด,session.setAttribute() ๋ฅผ ํ์ง ์์๋ ์๋์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ธ์ ์ ๋ฃ์ด์ค๋ค. โ @ModelAttributeModelAttribute๋ ์ธ์ ์ ์๋ ๊ฐ๋ค์ ์กฐํฉํด์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ค ์๋ ์๋ค. ๊ทธ๋์ ์ฌ๋ฌ ํ์ด์ง์์ ํผ๋ฐ์ดํฐ๋ก ์ ๋ ฅ๋ฐ์๋ key, value ์์ ์ธ์ ์ ์ ์ฅํด๋์๋ค๊ฐ ์ฌ์ฌ์ฉํ ์ ์๋ค.ํ์ด์ง1์์ id๋ฐ๊ณ ์ธ์ ์ ๋ฃ์ด๋๊ณ , ๋ค์ ํ์ด์ง2์์ pwd ๋ฐ๊ณ ์ธ์ ์ ๋ฃ์ด๋๊ณ ,๋ชจ๋ธ์ดํธ๋ฆฌ๋ทฐํธ๊ฐ ์ธ.. 2024. 3. 1. @ModelAttribute @RequestParam์ http์์ฒญ์ผ๋ก๋ถํฐ ์ฌํ ํ์ ์ ๊ฐ์ฒด๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์์๋ค๋ฉด, @ModelAttribute๋ก๋ http ์์ฒญ ํผ๋ฐ์ดํฐ๋ก๋ถํฐ ๋ณตํฉ ๊ฐ์ฒด ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. ๐ฅ ์์ @RequestParam - ๋จ์ผ ํ์ @ModelAttribute - ๋ณตํฉ ํ์ ModelAttribute๋ ์ธ์ ์ ์ ์ฅ๋ ๋ฐธ๋ฅ ์ ๋ณด๊น์ง ์กฐํฉํ์ฌ ๋ณตํฉ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. โ BindingResult @ModelAttribute ๋ณ์ ์ค๋ฅธ์ชฝ์ ํจ๊ป ์จ์ฃผ๋ฉด, binding ์ค๋ฅ ๋ฐ์์ ๋ฐ๋ก ์ต์ ์ ๋์ง๋ ๊ฒ ์๋๋ผ, ์๋ฌ ์ ๋ณด๋ฅผ BindingResult ์์ ๋ด์์ค๋ค. ๐ฅ ์ ๋ ฅํผ์์ id๋ฅผ String์ผ๋ก ์ค๊ฒฝ์ฐ ์๋ต์ฝ๋๋ 200์ด ์ด ๊ทธ๋ฌ๋ ์๋ฒ์์๋ id๊ฐ String์ด ์๋๋ผ Long์ผ๋ก ์ ์ธ๋์๊ธฐ ๋๋ฌธ์ user.. 2024. 3. 1. [๊ฐ์ ์ ๋ฆฌ] ์คํ๋ง MVC ํ์ฉ ๊ฐ์ ์ถ์ฒ: https://www.inflearn.com/course/%EC%9B%B9-mvc ์คํ๋ง ์น MVC ๊ฐ์ - ์ธํ๋ฐ ์ด ๊ฐ์๋ ์๋ฐ ์๋ธ๋ฆฟ(Servlet) ๊ธฐ๋ฐ์ MVC ํ๋ ์์ํฌ์ธ ์คํ๋ง ์น MVC์ ๋ํด ํ์ตํฉ๋๋ค. ์ํ ํ ํ์ต์ ์ํด์ ใ์คํ๋ง ํ๋ ์์ํฌ ํต์ฌ ๊ธฐ์ ใ ๊ฐ์๋ฅผ ์๊ฐํด์ฃผ์ธ์., ์คํ๋ง ์น MVC์ ํต์ฌ ์ www.inflearn.com ๐ฉ๐ป HTTP ์์ฒญ ๋งตํํ๊ธฐ @RequestMapping(์์ฒญurl) - ๋ฉ์๋ ์ง์ ์ ํด์ฃผ๋ฉด ๋ชจ๋ ๋ฉ์๋๋ฅผ ํ์ฉํ๊ฒ ๋๋ค - ํน์ ๋ฉ์๋ ์ง์ ํด์ฃผ๋ ค๋ฉด: @RequestMapping(value={์์ฒญurl} , method=RequestMethod.GET) @RequestsMapping(value={์์ฒญurl}, method={Reque.. 2024. 2. 29. 304 NOT MODIFIED ์ ์ ์ธ ๋ฆฌ์์ค ์์ฒญ์ ๋ํ ์๋ต์ ํ ๋ ์๋ฒ์ธก์ ์ ์ ์ธ ๋ฆฌ์์ค๊ฐ ๋ธ๋ผ์ฐ์ ์ ์บ์ฑ๋ ๋ฆฌ์์ค์ ๋์ผํ์ฌ ์บ์ฑ๋ ๋ฆฌ์์ค๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ ์๋ต์ฝ๋์ด๋ค. โ ์๋ฒ์ธก ์๋ต ํค๋ Cache-Max-Age: ์บ์ฑ ์ ์ง์๊ฐ Last-Modified : ์๋ฒ์ธก ๋ฆฌ์์ค๊ฐ ๋ง์ง๋ง์ผ๋ก ๋ณ๊ฒฝ๋ ์๊ฐ โ ๋ธ๋ผ์ฐ์ ์ธก ์์ฒญ ํค๋ If-Modified-Since: ๋ธ๋ผ์ฐ์ ์บ์๊ฐ ๊ฐ๊ณ ์๋ ๋ฆฌ์์ค์ Last-Modified time. ์ฒซ 200 ์๋ต ํค๋์ Last-Modified ๋ฐธ๋ฅ Cache-Control: max-age=n : ์๋ต ๋ฐ์ ์๊ฐ์ผ๋ก๋ถํฐ n์ด๋์์, ํด๋น ์์์ ๋ํด ์ฌ์์ฒญํ์ง ์๊ณ ์บ์ฑ๋ ๊ฐ์ ์ฌ์ฉํ๋ผ๋ ์๋ฏธ ๐ฅ ๋ธ๋ผ์ฐ์ ์์ ํด๋น ๋ฆฌ์์ค์ ๋ํ ์์ฒญ์ ๋ณด๋ด๋ ค๊ณ ํ ๋, 1๏ธโฃ ์บ์ฑ ๊ธฐ๊ฐ ๋ง๋ฃ๋์ง ์์์ผ๋ฉด.. 2024. 2. 28. [๊ฐ์ ์ ๋ฆฌ] ์คํ๋ง MVC ์ค์ (2) ๊ฐ์ ์ถ์ฒ: https://www.inflearn.com/course/%EC%9B%B9-mvc/dashboard ์คํ๋ง ์น MVC ๊ฐ์ - ์ธํ๋ฐ ์ด ๊ฐ์๋ ์๋ฐ ์๋ธ๋ฆฟ(Servlet) ๊ธฐ๋ฐ์ MVC ํ๋ ์์ํฌ์ธ ์คํ๋ง ์น MVC์ ๋ํด ํ์ตํฉ๋๋ค. ์ํ ํ ํ์ต์ ์ํด์ ใ์คํ๋ง ํ๋ ์์ํฌ ํต์ฌ ๊ธฐ์ ใ ๊ฐ์๋ฅผ ์๊ฐํด์ฃผ์ธ์., ์คํ๋ง ์น MVC์ ํต์ฌ ์ www.inflearn.com ๐ฉ๐ป WebMvcConfigurer โ Formatter - ์ด๋ ํ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๊ฑฐ๋, ์ด๋ ํ ๊ฐ์ฒด๋ก ๋ณํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค - Formatter๋ฅผ ์ฌ์ฉํ๋ฉด, http ์์ฒญ ๋ฌธ์์ด์ ๊ฐ์ฒด๋ก ๋ณํํ์ฌ ๋ฐ์ ์ ์๋ค - Printer : Locale ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํ์ฌ, ํด๋น ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ์ด๋ป๊ฒ ์ถ๋ ฅํด ์ค .. 2024. 2. 21. ์ด์ 1 ยทยทยท 5 6 7 8 9 10 11 ยทยทยท 14 ๋ค์ 728x90