스프링 MVC 1편 백엔드 웹 개발 핵심 기술의 복습을 위한 글이며, 이 글에 나오는 모든 사진과 코드의 저작권은 김영한 강사님께 있습니다. 1. 프론트 컨트롤러 프론트 컨트롤러 도입 전 프론트 컨트롤러가 도입 되기 전에는 한 개의 URL에 한 개의 서블릿이 매핑되는 구조였다. 이러한 구조는 매 서블릿을 구현할 때 마다 아래와 같은 중복되는 소스가 발생하였다. String viewPath = "/WEB-INF/views/new-form.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); 프론트 컨트롤러 도입 후 프론트 컨트롤러 도입 전에는 공통으로 발..
스프링 MVC 1편 백엔드 웹 개발 핵심 기술의 복습을 위한 글이며, 이 글에 나오는 모든 사진과 코드의 저작권은 김영한 강사님께 있습니다. 1. 회원 관리 웹 애플리케이션 회원 저장, 회원 목록 조회 기능이 있는 회원 관리 웹 애플리케이션을 만들어보겠다. 스프링 없이 순수 서블릿으로 먼저 만들고, JSP를 추가하고 마지막에는 MVC 패턴을 적용하여 만들어보겠다. 회원 도메인 모델 // 회원 도메인 모델 @Getter @Setter public class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.userna..
스프링 MVC 1편 백엔드 웹 개발 핵심 기술의 복습을 위한 글이며, 이 글에 나오는 모든 사진과 코드의 저작권은 김영한 강사님께 있습니다. 1. 서블릿 스프링 부트 환경에서 서블릿 등록하고 사용해보겠다. ❗️Tip 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다. 스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원한다. 아래 코드에 추가해주자. ServletApplication @ServletComponentScan // 서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[..
스프링 MVC 1편 백엔드 웹 개발 핵심 기술의 복습을 위한 글이며, 이 글에 나오는 모든 사진과 코드의 저작권은 김영한 강사님께 있습니다. 1. 정적, 동적 웹 페이지(Static, Dynamic Web Page) 1.1 정적 웹 페이지 정적 웹 페이지는 서버(Web Server)에 미리 저장된 파일(HTML, css, JS, 이미지 등)을 불러와 구성하는 페이지이다. 서버에 저장된 데이터가 변경되지 않는 한 사용자는 고정된 웹 페이지를 보게 된다. 정적 웹 페이지의 장점 Request에 대한 데이터만 전송하고 추가적인 작업이 없으므로 빠르다. Web Server만 구축해서 비용이 적게 든다. 정적 웹 페이지의 단점 저장된 데이터만 보여줄 수 있어 서비스가 한정적이다. 삽입, 수정, 삭제 등의 작업이 ..
모든 개발자를 위한 HTTP 웹 기본 지식의 복습을 위한 글이며 글에 나오는 모든 그림의 저작권은 김영한 강사님께 있습니다. 상태 코드 HTTP의 상태 코드는 클라이언트가 보낸 HTTP 요청이 성공했는지 실패했는지를 서버에서 알려주는 숫자 코드이다. 개발자 도구의 네트워크 탭을 보면 아래와 같이 Status 숫자 코드로 요청의 결과를 간략하게 나타내주는데, 클라이언트를 다루는 개발자들은 이 숫자를 보고 별과를 단번에 유추할 수 있게 된다. HTTP 상태 코드는 3자리 숫자로 이루어져 있으며, 총 100번대 ~ 500번대 까지 존재한다. 그리고 각 상태 코드의 첫 번째 자리는 최상위 코드가 되어 다음과 같이 5개의 그룹으로 나뉘어 관리된다. 1xx : 요청이 수신되어 처리중 2xx : 요청 정상 처리 3x..
모든 개발자를 위한 HTTP 웹 기본 지식의 복습을 위한 글이며 글에 나오는 모든 그림의 저작권은 김영한 강사님께 있습니다. HTTP 메소드 HTTP 메소드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. 주요 메소드는 다음과 같다. GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 잘 사용하진 않지만 다음과 같은 메소드들도 있다. HEAD : GET과 동일하지만 메시지 부분을 제..