목록Spring (27)
yeon's blog
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 회원관리 웹 애플리케이션 요구사항 💡 회원 정보 이름: username 나이: age 💡 기능 요구사항 회원 저장 회원 조회(id) 회원 목록 조회 Member.java 전체코드 package hello.servlet.domain.member; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Member { private Long id; private String username; private int age; // 기본 생성자 public Member() { } // 생성자 public Me..
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 HTTP 응답 데이터 💡 단순 텍스트 writer.println("ok"); 💡 HTML ResponseHtmlServlet 전체코드 package hello.servlet.basic.response; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpSer..
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 HttpServletResponse 💡 역할 HTTP 응답 메시지 생성 HTTP 응답코드 지정 헤더 생성 바디 생성 편의 기능 제공 ContentType, 쿠키, Redirect 💡 기본 사용법 ResponseHeadetServlet 전체코드 package hello.servlet.basic.response; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.Cookie; import jakarta.servlet.http..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 HTTP 요청 데이터 💡 개요 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법은 3가지로 나뉜다! GET - 쿼리 파라미터 /url?username = hello&age=20 메시지 바디 없이 URL의 쿼리 파라미터에 데이터를 포함해서 전달 검색, 필터, 페이징 등에서 많이 사용하는 방식 POST - HTML Form content-type:application/x-www-form-urlendcoded 메시지 바디에 쿼리 파라미터 형식으로 전달 ex. 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담..
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 HttpServletRequest 💡 개요 1. HttpServletRequest 역할 Http 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아 제공한다. 2. HTTP 요청 메시지 ``` POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=min..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 Hello 서블릿 💡 스프링 부트 서블릿 환경 구성 @ServletComponentScan: 서블릿을 직접 등록해 사용할 수 있도록 해주는 어노테이션 ServletApplication.java 전체코드 package hello.servlet; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @S..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 프로젝트 생성 💡 프로젝트 환경 Project: Gradle Language: Java Spring Boot: 3.2.1 Packaging: War Java: 17 Dependencies : Spring Web, Lombok Spring Web: 톰캣 서버를 내장하여 별도의 서버 없이 웹 어플리케이션 실행 가능 Lombok: annotation을 사용하여 getter와 setter를 작성하지 않아도 사용 가능 💡 Jar & War Jar Jar를 사용하면 항상 내장 서버( 톰캣 등 )를 사용하고, webapp 경로도 사용하지 않고 내장 서버 사용에 최적화 되어 있는 기능 J..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 HTML, HTTP API, CSR, SSR 💡 정적 리소스 (Static Resource) 정적 리소스 파일을 제공하는 경우, 주로 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 웹 브라우저에 제공한다. 💡 HTML 페이지 주문 내역 페이지처럼 동적인 HTML 페이지를 요청하는 경우, WAS(애플리케이션 로직을 수행하는 서버)가 DB를 통해 주문 정보를 조회한 후 동적으로 HTML 파일을 생성(주문 정보들 포함)해 웹 브라우저에 제공한다. 웹 브라우저는 받은 HTML을 해석해 클라이언트에게 화면을 띄워준다. 💡 HTML API 위의 경우처럼 HTML 파일을 생..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 동시 요청 - 멀티 쓰레드 💡 쓰레드 #쓰레드: 애플리케이션 코드를 하나하나 순차적으로 실행하는 작은 작업 단위로, 서블릿 객체를 호출해 줌! ex. 자바 main 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행되며, 쓰레드는 한번에 하나의 코드 라인만 수행한다. 만약 쓰레드가 없다면 자바 애플리케이션은 실행이 불가능하다. → 동시 처리가 필요한 경우 쓰레드를 추가로 생성해야 한다. 1. 단일 요청 쓰레드 하나 사용 요청이 들어옴 → 쓰레드를 하나 할당함 → 쓰레드를 가지고 servlet을 호출해 코드를 실행함 → 응답까지 보낸 후 휴식 2. 다중 요청 쓰레드 하..

본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 서블릿 💡 서블릿(Servlet) 이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 ex. 사용자가 아이디와 비밀번호를 입력하고 로그인 버튼을 눌렀을 때, 서버가 아이디와 비밀번호를 확인한 후 다음 페이지를 띄워 줘야 한다. 이러한 역할을 수행하는 것이 바로 서블릿(Servlet)이다!! 💡 HTML Form 데이터 전송 (POST 전송) 클라이언트가 웹 페이지에서 username, age를 입력하고 전송 버튼을 누르면, 위와 같이 웹 브라우저가 요청 HTTP 메시지를 생성해 서버로 전송한다. WAS를..