백엔드 웹 개발 노트4.1 - MVC 역사1 소개
1. 프론트 컨트롤러 도입 - v1 먼저 구조를 바꿔볼 것이다. 각자의 역할을 하는 컨트롤러의 인터페이스 만들어보자. 1.2 프로젝트 구조 1.3 ControllerV1 Interface package hello.servlet.web.frontcontroller.v1; import javax.servlet.ServletException;...
1. 프론트 컨트롤러 도입 - v1 먼저 구조를 바꿔볼 것이다. 각자의 역할을 하는 컨트롤러의 인터페이스 만들어보자. 1.2 프로젝트 구조 1.3 ControllerV1 Interface package hello.servlet.web.frontcontroller.v1; import javax.servlet.ServletException;...
1. MVC 패턴 개요 서블릿과 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되는 것은 너무 많은 역할을 맡기고, 유지보수도 어려워진다. 버튼 하나 옮기는 작업에 Java코드가 섞인 JSP파일을 본다면 머리가 어질어질할 것이다. 마찬가지로 비즈니스 로직을 바꾸려고 Java코드를 건드려야 하는데 HTML 코드가 수백줄...
1. JSP로 웹 어플리케이션 만들기 Servlet으로 웹 어플리케이션을 만들기는 굉장히 비효율적이라는 것을 알았다. JSP로 만들어보자. <% %> 이 안에 코드를 넣으면 자바문법을 사용할 수 있다. <%= %> 이 안에 값을 넣으면 출력한다는 의미이다. 먼저 JSP 라이브러리를 추가해야한다. build.gradl...
1. 서블릿으로 웹 어플리케이션 제작 개요 부분에서 작성한 코드를 가지고 서블릿을 통한 동적 웹을 작성해보자. 먼저 회원을 저장하기 위해 등록 폼을 만들어야 할 것이다. 대충 패키지를 만들자 나의 프로젝트 경로는 다음과 같다. web.servlet에 코드를 다 넣을 것이다. 1.1 MemberFormServlet - 회원 등록 폼 pa...
1. HttpServletResponse 정리 응답코드를 지정할 수 있는데, 개발자가 편하게 지정할 수 있도록 해당 객체가 많은 기능을 제공한다. 1.1 기본 사용법 java파일을 만들자. package hello.servlet.basic.response; import javax.servlet.ServletException; import ja...
Http Request에 대한 내용 HTTP 요청 메시지를 통해서 클라이언트에서 서버로 전달하는 방식은 크게 3가지가 있다. 1. GET 쿼리 파라미터 url에 직접 요청 데이터를 때려 박는다. 구문은 ‘url?username=kms&city=goyang’ 이런식으로 때려박으면된다. URL...
1. HTTPServletRequest에 대해 HTTPServletRequest는 HTTP 요청 메시지를 개발자가 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱해옴. 이런 것이 없다면 개발자가 직접 파싱해야할 것이다.! 이렇게 파싱한 결과를 HTTPServletRequest객체에 담아서 제공한다. 중요한 것은 HTTPser...
1. 도메인 모델 작성 domain 패키지를 만들고 그 안에 Member라는 클래스를 작성하였다. package hello.servlet.basic.domain; import lombok.Getter; import lombok.Setter; import static java.lang.Math.pow; //lombok @Getter @Sette...
1. Servlet 노트 1.2 프로젝트 생성 서블릿을 사용하기 위해서 프로젝트를 생성한다. https://start.spring.io/에서 다음과 같이 설정한다. Group명과 Artifact는 적절하게 바꾸면 된다. 중요한 것은 Servlet을 원할하게 사용하기 위해서는 Packaging을 Jar가 아닌 War로 설정해야 한다. 전부...
프로그래머스 카카오 블라인드 2022 - 신고 결과 받기 문제 입니다. 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/86051 2. 분류 및 난이도 Programmers 문제입니다. 프로그래머스 카카오 블라인드 2022 문제입니다. Level 1난이도의 문제입니다. 3. 생각한 ...