목록Spring/Spring MVC (17)
yeon's blog
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 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를..
본 내용은 인프런 사이트에서 김영한 선생님의 "스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술" 강의 내용을 정리한 것입니다. 🌱 웹 서버, 웹 애플리케이션 서버 💡 웹 - HTTP 기반 웹 브라우저(클라이언트)에서 URL을 입력하면 인터넷을 통해 서버에 접근하고, 서버에서는 HTML을 만들어 클라이언트에게 전달해 우리에게 화면을 띄워준다. 이러한 과정은 전부 HTTP 프로토콜을 기반으로 동작하게 된다. 💡 모든 것이 HTTP HTTP 메세지에 모든 것(거의 모든 형태)을 전송할 수 있다. HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML (API) 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 💡 웹 서버 (Web Server) HTTP 기반으로 동작하는 서버이고, 정적 ..