Spring
-
[김영한 스프링] 08. 서블릿 - HTTP 응답 데이터(HTML, API JSON)Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 17. 00:55
HTTP 응답 데이터 - HTML HTTP 응답 메시지는 주로 다음 내용을 담아서 전달한다. 단순 텍스트 응답 HTML 응답 HTTP API - MessageBody JSON 응답 main/java/hello.servlet/basic/response/ResponseHtmlServlet 생성 ResponseHtmlServlet package hello.servlet.basic.response; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import ja..
-
[김영한 스프링] 07. 서블릿 - HttpServletResponseSpring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 16. 23:22
HTTP 응답 메시지 생성 HTTP 응답 코드 지정 헤더 생성 바디 생성 편의 기능 제공 Content-Type, 쿠키, Redirect main/java/hello.servlet/basic/response/ResponseHeaderServlet 생성 ResponseHeaderServlet Status Code 실행 http://localhost:8080/response-header ResponseHeaderServlet - Content 편의 메서드 실행 ResponseHeaderServlet - 쿠키 편의 메서드 실행 ResponseHeaderServlet - redirect 편의 메서드 package hello.servlet.basic.response; import javax.servlet.Serv..
-
[김영한 스프링] 06. 서블릿 - HTTP 요청 데이터(API 메시지 바디)Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 16. 03:25
API 메시지 바디 - 단순 텍스트 HTTP message body에 데이터를 직접 담아서 요청 HTTP API에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH main/java/hello.servlet/basic/request/RequestBodyStringServlet 생성 RequestBodyStringServlet package hello.servlet.basic.request; import org.springframework.util.StreamUtils; import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet...
-
[김영한 스프링] 05. 서블릿 - HTTP 요청 데이터(GET 쿼리 파라미터, POST HTML Form)Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 15. 22:44
HTTP 요청 데이터 - 개요 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에서 주로 사용, JSON, XML, TEXT 데이터 형식은 주로 JSON 사용 POST, PUT, PATCH HTTP 요청 데이터 - GET 쿼리 파라미터 ma..
-
[김영한 스프링] 04. 서블릿 - HttpServletRequestSpring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 14. 21:46
HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱 해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱 한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. main/java/basic/request/RequestHeaderServlet 생성 start-line 정보 package hello.servlet.basic.request; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServle..
-
[김영한 스프링] 03. Hello 서블릿Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 12. 22:29
Hello 서블릿 @ServletComponentScan - 스프링이 현재 패키지를 포함 하위 패키지를 다 찾아서 서블릿을 자동으로 서비스 등록 main/java/hello.servlet/basic/HelloServlet 생성 Ctrl + O 키로 재정의/구현할 메서드 선택 창을 띄운 후 service를 입력하여 열쇠모양으로 되어있는 service를 선택 HttpServlet - 서블릿이 웹상에서 HTTP 프로토콜을 이용해 서비스를 처리하기 위해 반드시 상속받아야 함 @WebServlet - 경로를 입력하면 알아서 톰캣서버가 찾아서 실행해줌 name : 서블릿 이름 urlPatterns : URL 매핑 ServletApplication 실행 localhost:8080/hello 접속 빈 화면이 정상 로그..
-
[김영한 스프링] 02. 서블릿 - 프로젝트 생성 & 세팅Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 11. 21:51
https://start.spring.io Project : Gradle-Groovy Language : Java Spring Boot : SNAPSHOT이 아닌 버전에서 2.x Group : hello Artifact : servlet Name : servlet Package name : hello.servlet Packaging : War Java : 11 Dependencies : Spring Web, Lombok build.gradle 선택 -> 프로젝트 열기 ServletApplication 실행 Error Page 나오면 성공 설정 -> Gradle -> 테스트 실행만 Intelij IDEA로 변경 IntelliJ 무료 버전에서 War의 경우 톰캣이 정상 시작되지 않는 문제가 있어 빌드 및 실..
-
[김영한 스프링] 01. 웹 애플리케이션 이해 - 서블릿, 동시요청 멀티 쓰레드Spring/스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 2023. 6. 9. 23:46
1. 서블릿 HTML Form 데이터 전송 POST 전송 - 저장 서버에서 처리해야 하는 업무 웹 애플리케이션 서버 직접 구현 서블릿을 지원하는 WAS 사용 의미 있는 비즈니스 로직을 제외한 다른 작업은 서블릿이 해줌 서블릿 HTTP 요청, 응답 흐름 HTTP 요청 시 WAS는 Request, Response 객체를 새로 만들어서 서블릿 객체 호출 개발자는 Request 객체에서 HTTP 요청 정보를 편리하게 꺼내서 사용 개발자는 Response 객체에 HTTP 응답 정보를 편리하게 입력 WAS는 Response 객체에 담겨있는 내용으로 HTTP 응답 정보를 생성 서블릿 컨테이너 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생..