Spring MVC 7

HTTP 요청 데이터 - POST HTML Form

HTTP 요청 데이터 - 개요 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알아보겠다. 주로 3가지 방법을 사용한다. ● GET - 쿼리 파라미터 - /url?username=hello&age=20 - 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 - 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 ● POST - HTML Form - content-type: application/x-www-form-urlencoded - 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 - 예) 회원 가입, 상품 주문, HTML Form 사용 ● HTTP message body에 데이터를 직접 담아서 요청 - HTTP API에서 주..

HTTP 요청 데이터 - GET 방식

HTTP 요청 데이터 - 개요 HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알아보겠다. 주로 3가지 방법을 사용한다. ● GET - 쿼리 파라미터 - /url?username=hello&age=20 - 메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달 - 예) 검색, 필터, 페이징등에서 많이 사용하는 방식 ● POST - HTML Form - content-type: application/x-www-form-urlencoded - 메시지 바디에 쿼리 파리미터 형식으로 전달 username=hello&age=20 - 예) 회원 가입, 상품 주문, HTML Form 사용 ● HTTP message body에 데이터를 직접 담아서 요청 - HTTP API에서 주..

HttpServletRequest

●HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편하다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 "HttpServletRequest" 객체에 담아서 제공한다. HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다. HTTP 요청 메시지 POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=kim&age=20 ● START LINE - HTTP 메소드 - URL - 쿼리 스트링 ..

Hello 서블릿 실습

서블릿 실습을 진행하기 위해서 프로젝트는 생성해준다. 프로젝트는 다음과 같이 생성해준다. 프로젝트를 생성할 때 보통 Packaging를 War이 아닌 Jar로 많이 생성하는데 JSP에 대해서 공부를 진행하기 위해서 Jar이 아닌 War을 선택해서 생성하겠다. 다음으로는 사진과 같이 Spring Web, Lombok를 선택 후 생성해준다. 이어서 다음과 같이 셋팅을 해준다. File -> Settings -> 검색창에 annotation processors 이어서 https://www.postman.com/downloads/에 접속 후 postman을 다운받아준다. 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 올린 다음, 톰캣 서버를 실행하면 되지만 매우..

HTML, HTTP API, SSR, CSR

정적 리소스 ● 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 ● 주로 웹 브라우저 HTML 페이지 ● 동적으로 필요한 HTML 파일을 생성해서 전달 ● 웹 브라우저 : HTML 해석 HTTP API ● HTML이 아니라 데이터를 전달 ● 주로 JSON 형식 사용 ● 다양한 시스템에서 호출 ● 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리 ● 앱, 웹 클라이언트, 서버 to 서버 HTTP API - 다양한 시스템 연동 ● 주로 JSON 형태로 데이터 통신 ● UI 클라이언트 접점 - 앱 클라이언트(아이폰, 안드로이드, PC 앱) - 웹 브라우저에서 자바스크립트를 통한 HTTP API 호출 - React, Vue.js 같은 웹 클라이언트 ● 서버 to 서버 - 주문 ..

서블릿, 동시 요청 - 멀티 쓰레드

서블릿이란? 웹 통신에서 요쳥과 응답을 처리하는 자바 객체이다. 주요 클래스로는 HttpServlet가 있다. 서블릿 특징 urlPatterns(/hello)의 URL이 호출되면서 서블릿 코드가 실행 HTTP 요청 정보를 편리하게 사용할 수 있는 HttpServletRequest HTTP 응답 정보를 편리하게 제공할 수 있는 HttpServletResponse 개발자는 HTTP 스펙을 매우 편리하게 사용 서블릿 HTTP 요청, 응답 흐름 HTTP 요청시 WAS는 Request, Response 객체를 새로 만들어서 서블릿 객체 호출 개발자는 Request 객체에서 HTTP 요청 정보를 편리하게 꺼내서 사용 개발자는 Response객체에 HTTP 응답 정보를 편리하게 입력 WAS는 Response 객체에 ..

웹 서버, 웹 애플리케이션 서버(WAS)

클라이언트에서 서버로 데이터를 전송할 때 서버에서 클라이언트로 데이터를 응답할 때 모두 HTTP를 기반으로 데이터를 전송하고 응답한다. 그러므로 모든것이 HTTP를 기반으로 전송을 하고 응답을 하게 된다. 예를 들어 HTML, TEXT, IMAGE, 음성, 영상, 파일 등이나 요즘에 많이 사용하는 API의 문서양식인 JSON, XML등이 있다. 거의 모든 형태의 데이터 전송이 가능하고 서버간에 데이터를 주고 받을 때도 대부분 HTTP 프로토콜을 사용한다. 웹서버(Web Server) HTTP 기반으로 동작 정적 리소스 제공, 기타 부가기능 정적HTML, CSS, JS, 이미지 등등 EX) NGINX, APACHE 웹 애플리케이션 서버 (WAS-Web Application Server) HTTP 기반으로 ..