목록Bank-End/Spring Boot (27)
관심쟁이 영호
오늘은 이전 포스팅에서 다루었던 서블릿을 코드로 직접 확인하자! 목차 프로젝트 생성 HttpServletRequest 확인 HttpServletResponse 확인 프로젝트 생성 스프링으로 시작할 것이다. 1. 스프링 부트 프로젝트 생성 https://start.spring.io/ 에서 프로젝트를 생성한다. Project : Gradle Language : Java Packaging : war Dependencies : spring web, lombok 나머지는 있는 그대로 만들자! ide 툴로 해당 폴더의 build.gradle을 open 해준다. 생성된 gradle 코드는 다음과 같다. plugins { id 'org.springframework.boot' version '2.5.4' id 'io.s..
이번에는 웹에서 이루어지는 상호 작용을 전반적으로 살펴보고 몇 가지의 기술 들을 살펴볼 것이다. 목차 웹 기본 구조 서블릿 HTTP 웹 기본 구조 사용자와 서버로 나누어 생각해보자! 우리가 네이버에서 "뉴스" 버튼을 클릭하면 뉴스 화면으로 이동한다. 실제로 내부에서는 어떻게 이루어질까?? 다음을 보면서 이해해보자! 사용자가 "뉴스" 버튼을 클릭한다. 사용자의 웹 브라우저가 요청 메시지를 보낸다. (ex. naver.com/news) naver.com가 DNS를 거쳐 naver의 ip주소로 변경되어 보내진다. (ex. 192.123.123/news) 192.123.123/news 정보가 웹 애플리케이션 서버를 거쳐 http 메시지로 변경된다. naver의 서블릿 컨테이너로 해당 http 메세지가 도착한다...

아는 동생이 개발자를 준비해보겠다고 전화가 왔다. 백엔드를 지망하고 있어서 대표적인 Spring 공부를 추천했다. 그런데 동생이 "그래서 Spring이 무엇인가요?"라고 물었다. 명쾌하게 대답하지 못하는 내 자신을 보았다. "Spring은 웹 개발을 하기 위해서 각종 도구와 기술이 집약되어있는 프레임워크야"라고 이야기했지만, 솔직히 나도 완벽히 이해하지 못하고 있는 느낌이다. 그래서 이번 기회에 Spring MVC 구조를 살펴보며 차근차근 다루어볼 예정이다. 이번 포스팅 글의 목적은 다음과 같다. Spring & Spring Boot란 무엇인가? 목차 JAVA Web Application 귀차니즘 Framework Spring Spring Boot JAVA 가장 먼저 JAVA가 무엇인지 알아야 될 것 같..

인터셉터에서 세션 처리를 하는 도중에 문제가 생겼다. 지금까지 Controller에서 Model을 이용하여 view에 넣어주었는데, HandlerInterceptor의 postHandle에는 ModelAndView를 이용하는 것이다..(확장하면 되지만 있는 그대로를 이용하자!!) 똑같겠지 생각하며 addAttribute를 찾아보았지만 없다....(세션에 있는 User 정보를 넣고 싶다고!!) 그럼 ModelAndView로 Model에 데이터를 넣는 방법을 찾아보면서 Model과 ModelAndView를 확실히 다루어 볼 예정이다! 가장 먼저 알아둬야 할 것이 있다. Model, ModelAndView에서 Model이란 무엇인가? 다음 그림을 보자! (발로 그린 그림이다..) 그림을 보면 Controlle..

오늘은 Spring Boot를 이용하여 파일 업로드에 대해서 공부할 예정이다. 목차 HTML Form 전송 방식 File 도메인 생성 게시글 쓰기 Post Mapping 수정 파일 올리기 Service 작성 FileHanler 작성 HTML 폼 전송 방식 파일을 서버와 주고받기 위해서는 가장 먼저, HTML Form 전송 방식을 알아야 한다. 두 가지의 전송 방식이 있다. application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded - 해당 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. form 태그에 enctype 옵션을 넣어주지 않으면 브라우저는 헤더에 다음 내용을 추가한다. Con..
오늘은 스프링 부트에서 제공하는 필터와 인터셉터에 대해서 공부를 해볼 예정이다. 목차 인터셉터란? 스프링 인터셉터 인터페이스 인터셉터 적용하기 인터셉터란? 하나의 예시를 통해서 이해해보자. 사용자가 Get 요청으로 로그인을 하지않은 상태에서 "회원A의 정보 수정 페이지"를 요청하면 해당 페이지가 나오지 않아야 한다. 그러기 위해서 인터셉터를 사용한다. 여기서 인터셉터는 해당 사용자가 "회원 A"로 로그인을 했는지 살펴봐야한다! 인터셉터 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 인터셉터는 서블릿이 컨트롤러를 호출하기 전에 호출된다는 것을 알아두자!! 인터셉터 체인 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 인터셉터1 -> 인터셉터2 -> 인터셉..