본문 바로가기

분류 전체보기54

스프링 MVC 요청 매핑 스프링 MVC는 요청이 들어오면 어떤 컨트롤러에 매핑하나요? 안녕하세요. 스프링 MVC에서 요청이 왔을 때, 어떤 컨트롤러가 매핑되는지 알아봅시다. 요청 매핑 http://localhost:8080/mapping 으로 들어온 요청을 처리하는 컨트롤러는 아래 코드처럼 만듭니다. @Slf4j @RestController public class MappingController { @RequestMapping("/mapping") public String mapping(){ log.info("mapping"); return "ok"; } } 첫 번째 줄의 @Slf4j는 로그를 찍기 위한 어노테이션으로, 요청 매핑과는 무관합니다. 두 번째 줄의 @RestController와 다섯 번째 줄의 @RequestMapp.. 2022. 1. 30.
스프링 MVC를 이용해서 회원 관리 웹 만들기 스프링 MVC를 이용해서 어떻게 웹을 만들까요? 안녕하세요. 오늘은 스프링 MVC를 이용해서 간단한 회원 관리 웹을 만들어보겠습니다. 회원 등록 폼을 보여주고, 회원을 저장하고, 회원 목록을 조회하는 웹입니다. 앞서 회원 관리 웹을 서블릿, JSP, MVC 패턴을 적용해서 만들어보았습니다. 관심 있으신 분은 아래 게시글을 참고해주세요! 함께 코드를 작성하실 분은 가장 위의 게시글 '서블릿으로 회원 관리 웹 만들기'에서 '회원 도메인, 회원 저장소 만들기'를 먼저 수행해주세요! HTML 삽입 미리보기할 수 없는 소스 V1 - 시작하기 스프링은 어노테이션 기반 컨트롤러를 제공하기 때문에 정말 간편합니다. @Controller : 컨트롤러 메소드가 있는 클래스에 @Controller 어노테이션을 붙여서 스프링.. 2022. 1. 28.
핸들러 매핑, 핸들러 어댑터, 뷰 리졸버 핸들러 매핑, 핸들러 어댑터, 뷰 리졸버에는 어떤 것들이 있고 어떻게 사용될까요? 안녕하세요. 오늘은 스프링 MVC 구조 중에서 핸들러 매핑, 핸들러 어댑터, 뷰 리졸버를 자세히 알아보겠습니다. 지난 게시글에서 스프링 MVC의 전체적인 구조를 알아보았는데요, 궁금하신 분은 아래 게시글을 참고해주세요. https://passionate.tistory.com/43 스프링 MVC 구조 스프링 MVC는 어떤 구조로 이루어져 있을까요? 안녕하세요! 오늘은 스프링 MVC의 구조를 알아보겠습니다. 앞서 MVC 프레임워크를 점진적으로 만들어보았습니다. 관심 있으신 분들은 아래 링크를 passionate.tistory.com 스프링 MVC의 구조는 아래와 같습니다. 핸들러 매핑, 핸들러 어댑터, 뷰 리졸버를 자세히 알아.. 2022. 1. 27.
스프링 MVC 구조 스프링 MVC는 어떤 구조로 이루어져 있을까요? 안녕하세요! 오늘은 스프링 MVC의 구조를 알아보겠습니다. 앞서 MVC 프레임워크를 점진적으로 만들어보았습니다. 관심 있으신 분들은 아래 링크를 참고 해주세요. HTML 삽입 미리보기할 수 없는 소스 스프링 MVC 구조 최종적으로 만든 MVC 프레임워크의 구조는 아래 사진과 같습니다. 직접 만든 MVC 프레임워크는 스프링 MVC와 매우 유사합니다. 스프링 MVC 구조를 봅시다. 객체의 이름만 다르고 작동 과정은 거의 유사합니다. 1. 요청이 들어오면 DispatcherServlet으로 들어가고, 핸들러 매핑 객체를 불러서 핸들러를 조회합니다. 2. 핸들러 어댑터 목록에서 핸들러를 처리할 수 있는 핸들러 어댑터를 찾습니다. 3. 핸들러 어댑터를 실행합니다. .. 2022. 1. 26.
MVC 프레임워크 만들기 3 - 유연한 컨트롤러 여러 종류의 컨트롤러를 사용하고 싶다면 어떻게 할까요? 안녕하세요! 오늘은 유연한 컨트롤러를 도입한 MVC 프레임워크를 만들어 보겠습니다. 지금까지 MVC 프레임워크를 두 단계로 발전시켜왔습니다. 첫 번째로 프론트 컨트롤러 패턴을 적용하였고, 두 번째로 모델을 추가하고 실용적인 컨트롤러를 만들었습니다. 관심 있으신 분은 아래 게시글을 참고해주세요. https://passionate.tistory.com/40 MVC 프레임워크 만들기 1 - 프론트 컨트롤러 안녕하세요! 오늘은 MVC 패턴을 따르는 프레임워크를 만들어보겠습니다. 지난 시간에 MVC 패턴을 적용해서 회원 관리 웹을 만들어보았습니다. 관심 있으신 분은 참고해주세요! https://passionate.tistor passionate.tistory.. 2022. 1. 24.
MVC 프레임워크 만들기 2 - 모델 추가, 실용적인 컨트롤러 모델 객체를 따로 만들어볼까요? 안녕하세요! 오늘은 지난 게시글에 이어서 MVC 프레임워크를 발전 시켜 보겠습니다. 지난 게시글에는 프론트 컨트롤러 패턴을 도입해서 코드 중복을 제거하였습니다. 관심 있는 분들은 아래 게시글을 참고해주세요! https://passionate.tistory.com/40 MVC 프레임워크 만들기 1 - 프론트 컨트롤러 안녕하세요! 오늘은 MVC 패턴을 따르는 프레임워크를 만들어보겠습니다. 지난 시간에 MVC 패턴을 적용해서 회원 관리 웹을 만들어보았습니다. 관심 있으신 분은 참고해주세요! https://passionate.tistor passionate.tistory.com 지난 게시글에서 만든 MVC 프레임워크는 2가지 단점이 있습니다. 1. 컨트롤러가 서블릿에 종속합니다:.. 2022. 1. 23.
MVC 프레임워크 만들기 1 - 프론트 컨트롤러 직접 MVC 프레임워크를 만들어 봅시다! 안녕하세요! 오늘은 MVC 패턴을 따르는 프레임워크를 만들어보겠습니다. 지난 시간에 MVC 패턴을 적용해서 회원 관리 웹을 만들어보았습니다. 관심 있으신 분은 참고해주세요! https://passionate.tistory.com/39 MVC 패턴을 적용해서 회원 관리 웹 만들기 안녕하세요. 이번 게시글에서는 MVC 패턴을 적용해서 회원 관리 웹을 만들어보겠습니다. 서블릿과 JSP의 한계 앞서 서블릿(https://passionate.tistory.com/37)과 JSP(https://passionate.tistory.com/38)로 회원.. passionate.tistory.com 컨트롤러와 뷰를 분리하니 코드가 깔끔해졌습니다. 그런데 여전히 문제가 있었습니다. .. 2022. 1. 22.
MVC 패턴을 적용해서 회원 관리 웹 만들기 비즈니스 로직과 뷰 로직을 분리하면 어떨까요? 안녕하세요. 이번 게시글에서는 MVC 패턴을 적용해서 회원 관리 웹을 만들어보겠습니다. 서블릿과 JSP의 한계 앞서 서블릿(https://passionate.tistory.com/37)과 JSP(https://passionate.tistory.com/38)로 회원 관리 웹을 만들어보았습니다. 궁금하신 분은 게시글을 참고해주세요! 두 방법으로 웹을 만들었을 때, 한 파일에 많은 역할이 들어간다는 문제가 있었습니다. 웹을 만들 때는 비즈니스 로직과 뷰 로직이 필요합니다. 비즈니스 로직은 유저의 요청에 따른 결과물을 만들어내기 위한 일련의 작업을 의미합니다[1]. 로그인을 예로 들면, 유저가 아이디와 비밀번호를 입력하면 유저에게는 단순하게 로그인이 되었는지 아닌지.. 2022. 1. 21.