728x90 ๋ฐ์ํ ์ธํ๋ฐ๊ฐ์10 [์ธํ๋ฐ - ์คํ๋ง MVC 1ํธ] HTTP ์๋ต ๋ฐ์ดํฐ - HTML, JSON /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง MVC 1ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํต์ฌ ๊ธฐ์ | ๊น์ํ - ์ธํ๋ฐ๊น์ํ | ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ๊ธฐ์ด๋ถํฐ ์ดํดํ๊ณ , ์์ฑํ ์ ์์ต๋๋ค. ์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , ๋ ๊น์ด์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์ ์์ตwww.inflearn.com 1. HttpServletReponse - HTML ์๋ต @WebServlet(name="responseHtmlServlet", urlPatterns = "/response-html")public class ResponseHtmlServlet extends Ht.. 2024. 5. 18. [์ธํ๋ฐ - ์คํ๋ง MVC 1ํธ] HttpServletRequest ๊ฐ์, ์ฌ์ฉ๋ฒ /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง MVC 1ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํต์ฌ ๊ธฐ์ | ๊น์ํ - ์ธํ๋ฐ๊น์ํ | ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ๊ธฐ์ด๋ถํฐ ์ดํดํ๊ณ , ์์ฑํ ์ ์์ต๋๋ค. ์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , ๋ ๊น์ด์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์ ์์ตwww.inflearn.com 1. HttpServletRequest ๊ฐ์ 1) HttpServletRequest์ ์ญํ : ์๋ธ๋ฆฟ์ ๊ฐ๋ฐ์๊ฐ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ๋ฐ์ ๋์ ์ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํ์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ 'HttpServletRequ.. 2024. 5. 15. [์ธํ๋ฐ - ์คํ๋ง MVC 1ํธ] ์๋ธ๋ฆฟ์ด๋, ์๋ธ๋ฆฟ ํ๊ฒฝ ๊ตฌ์ฑ /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง MVC 1ํธ - ๋ฐฑ์๋ ์น ๊ฐ๋ฐ ํต์ฌ ๊ธฐ์ | ๊น์ํ - ์ธํ๋ฐ๊น์ํ | ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ชจ๋ ์น ๊ธฐ์ ์ ๊ธฐ์ด๋ถํฐ ์ดํดํ๊ณ , ์์ฑํ ์ ์์ต๋๋ค. ์คํ๋ง MVC์ ํต์ฌ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ , ๋ ๊น์ด์๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์ ์์ตwww.inflearn.com 1. ์๋ธ๋ฆฟ์ด๋? ์๋ฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ์์ฑํ๋ ์๋ฒ์ธก ํ๋ก๊ทธ๋จ์ผ๋ก, HTTP ์์ฒญ๊ณผ ์๋ต ์ฒ๋ฆฌ๋ฅผ ์ํ ์คํ๋ง์์ ์ ๊ณตํ๋ ํต์ฌ ๊ธฐ๋ฅ์ด๋ผ๊ณ ํ ์ ์๋ค. HTTP๋ก ํต์ ํ ๋ ์์ฒ๋ผ ๋ง์ ๊ณผ์ ๋ค์ด ์กด์ฌํ๋๋ฐ, ์๋ธ๋ฆฟ์ ๊ทธ ๊ณผ์ ์ ๊ฐ์ํ ์์ผ์ฃผ๋ฉฐ ๊ฐ๋ฐ.. 2024. 5. 14. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์์กด๊ด๊ณ ์๋ ์ฃผ์ - ์ต์ ์ฒ๋ฆฌ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข ์ต์ ์ฒ๋ฆฌ - ์ฃผ์ ํ ์คํ๋ง ๋น์ด ์์ด๋ ๋์ํด์ผ ํ ๋๊ฐ ์๋ค. (๊ทธ๋ฐ๋ฐ '@Autowired'๋ง ์ฌ์ฉํ๋ฉด 'required' ์ต์ ๊ธฐ๋ณธ๊ฐ์ด 'true'๋ก ๋์ด์์ด์ ์๋์ฃผ์ ๋์์ด ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํจ) 1. ์๋ ์ฃผ์ ์ต์ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ (์ฌ๊ธฐ์ Member๋ ์คํ๋ง ๋น์ด ์๋) โ `@Autowired(required = false).. 2023. 12. 21. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์ปดํฌ๋ํธ ์ค์บ - ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์์กด๊ด๊ณ ์๋ ์ฃผ์ ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข ์ปดํฌ๋ํธ ์ค์บ๊ณผ ์์กด๊ด๊ณ ์๋ ์ฃผ์ ์์ํ๊ธฐ 1. ์ฝ๋ ์์ฑ AutoAppConfig @Configuration @ComponentScan( excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public .. 2023. 11. 2. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์คํ๋ง ์ปจํ ์ด๋์ ์คํ๋ง ๋น - ์คํ๋ง ๋น ์กฐํ ์ ๋์ผํ ํ์ ์ด ๋ ์ด์, ์์ ๊ด๊ณ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์คํ๋ง ๋น ์กฐํ - ๋์ผํ ํ์ ์ด ๋ ์ด์ ApplicationContextSameBeanFindTest public class ApplicationContextSameBeanFindTest { //ํ ์คํธ๋ฅผ ์ํด ์ฌ์ฉํ ํด๋์ค ์์ฑ @Configuration static class SameBeanConfi.. 2023. 10. 28. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์คํ๋ง์ผ๋ก ์ ํํ๊ธฐ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์คํ๋ง์ผ๋ก ์ ํํ๊ธฐ AppConfig @Configuration public class AppConfig { @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public .. 2023. 10. 25. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ๊ตฌ์กฐ์ ํ ์ธ ์ ์ฑ ์ ์ฉ, ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น ์ ์ฉ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์๋ก์ด ๊ตฌ์กฐ์ ํ ์ธ ์ ์ฑ ์ ์ฉ 1. ์๊ตฌ์ฌํญ ํ์ธ โพ ์๊ตฌ์ฌํญ : ์ ์ก ํ ์ธ ์ ์ฑ ์ ์ ๋ฅ ํ ์ธ ์ ์ฑ ์ผ๋ก ๋ณ๊ฒฝ(FixDiscountPolicy โ RateDiscountPolicy) โพ AppConfig์ ๋ฑ์ฅ์ผ๋ก ํฌ๊ฒ ์ฌ์ฉ์์ญ๊ณผ ๊ตฌ์ฑ์์ญ์ผ๋ก ๋ถ๋ฆฌ๋์๊ธฐ ๋๋ฌธ์ ๊ตฌ์ฑ์์ญ์์ RateDiscountPolicy๋ก.. 2023. 10. 21. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์์ ๋ง๋ค๊ธฐ - ํ์ ๋๋ฉ์ธ ์ค๊ณ, ๊ฐ๋ฐ, ์คํ, ํ ์คํธ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ํ์ ๋๋ฉ์ธ 1. ํ์ ๋๋ฉ์ธ ์ค๊ณ ํ์ ๋๋ฉ์ธ ํ๋ ฅ ๊ด๊ณ โพ ํด๋ผ์ด์ธํธ์ ์ญํ : ํ์์๋น์ค ํธ์ถ โพ ํ์์๋น์ค์ ์ญํ : ํ์๊ฐ์ / ํ์์กฐํฌ ์ด ๋ ๊ฐ์ง์ ๊ธฐ๋ฅ โพ ํ์์ ์ฅ์์ ์ญํ : ์ธ๊ฐ์ง ์ ์ฅ์ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ํ์ ๊ด๋ฆฌ [ DB ํ์ ์ ์ฅ์(์์ฒดDB) / ์ธ๋ถ ์์คํ ์ฐ๋ ํ์ ์ ์ฅ์ ] .. 2023. 10. 18. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์์ ๋ง๋ค๊ธฐ - ํ๋ก์ ํธ ์์ฑ, ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ๊ณผ ์ค๊ณ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., - ๊ฐ์ ์๊ฐ | ์ธํ๋ฐ www.inflearn.com ํ๋ก์ ํธ ์์ฑ *์ฌ์ ์ค๋น๋ฌผ * - Java 17 ๋ฒ์ (๊ฐ์์์๋ 11๋ฒ์ ์ ์ฌ์ฉํ์ง๋ง ์คํ๋ง๋ถํธ 3.0 ์ดํ๋ถํฐ๋ ์๋ฐ17์ ์ฌ์ฉ!) - IDE : IntelliJ 1. ์คํ๋ง ๋ถํธ ์คํํฐ ์ฌ์ดํธ์์ ์คํ๋ง ํ๋ก์ ํธ ์์ฑ https://start.spring.io/ โพ ํ๋ก์ ํธ๋ ๋ง๋ค๊ธฐ ํธํด์ ์คํ๋ง๋ถํธ๋ก ๋ง๋ค์ง๋ง ์ผ๋จ์ ์คํ๋ง์๋ ์์ ์๋ฐ๋ก ๊ฐ.. 2023. 10. 18. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ