Programming/Spring MVC
-
[SpringMVC] 인터셉터(interceptor) 적용 - sessionProgramming/Spring MVC 2021. 4. 22. 19:36
개요 프로젝트를 진행하던 중 개발 중인 가입된 유저만 접근이 가능하도록 제한하기 위한 접근 권한이 필요하였다. Spring에서는 Spring Security와 같이 애플리케이션의 보안을 담당하는 하위 프레임워크가 존재한다. 하지만 워낙 양과 자료가 방대하여 배울 내용이 많았기 때문에 적용하는데 어려움이 많았다. 그렇기 때문에 다른 차선책을 찾아야만 했다. 관련 키워드를 검색하던 중 Spring interceptor에 대하여 알게되었다. interceptor는 말 그대로 무언가를 가로채는 역할을 한다. Interceptor 흐름도 interceptor는 위와 같은 흐름으로 Controller(Handler) 로 가기전에 요청을 가로채는 preHandle, controller 처리 후 postHandle, ..
-
[SpringMVC] ResponseEntity 적용Programming/Spring MVC 2021. 4. 16. 18:13
개요 기존 프로젝트에는 단순히 값을 body에 담아 전달하기 위한 api 서버를 구성하였다. 하지만 프론트 개발자와의 원할한 통신을 위해서는 body 이외에 HTTP의 상태 코드와 헤더 정보를 좀 더 상세하게 조작해야 할 필요성을 느끼게 되었다. @RestController Spring에는 기본적으로 @Controller와 @ResponseBody을 합쳐둔 @RestController 애노테이션으로 인하여 손쉽게 REST API를 구성할 수 있다. 간단한 User의 정보를 가지고 있는 도메인 클래스이다. 밑의 코드는 @RestController가 적용된 controller에 정의한 User 조회 메소드이다. postman을 활용하여 간단하게 확인해보면 Json 형태로 body에 담겨 응답하는 것을 확인할..
-
[SpringMVC] SpringMVC 구조Programming/Spring MVC 2021. 3. 18. 23:27
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. SpringMVC의 구조 동작순서 1. 핸들러 매핑을 통해 요청한 URL에 매핑된 핸들러(컨트롤러)를 조회한다. 스프링 부트에서는 가장 먼저 @RequestMapping을 활용한 애노테이션 기반의 컨트롤러를 찾아서 사용한다. @Controller는 @Component의 기능 뿐만 ..
-
[SpringMVC] 프론트 컨트롤러 패턴Programming/Spring MVC 2021. 3. 15. 16:17
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. 기존의 MVC 패턴 기존의 MVC 패턴의 controller는 매핑되는 url 마다 하나씩 매칭되어야 하기 때문에 비슷한 형태의 Servlet 이 늘어나게 된다. 그렇기 때문에 이러한 Servlet을 하나로 줄이고 모든 요청을 받는 프론트 컨트롤러를 도입하게 되었다. Front C..
-
[SpringMVC] HTML, HTTP API, CSR, SSRProgramming/Spring MVC 2021. 3. 14. 10:23
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. HTML 정적 리소스는 말 그대로 정적인 자원들이다. 정적이라는 말은 결국 변하지 않는 다는 의미이고, 미리 생성할 수 있다. 이러한 자원들은 미리 생성되어 있고 웹 서버로 요청이 들어오면 단순히 생성되어 있는 자원들을 응답한다. 하지만 상품 내역과 같이 database에 있는 자..
-
[SpringMVC] 멀티 쓰레드Programming/Spring MVC 2021. 3. 14. 09:52
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. 쓰레드 클라이언트는 웹 서버에 특정한 요청을 보내면 TCP/IP가 특정한 커넥션을 연결해준다. 이러한 커넥션을 활용하여 HTTP 요청과 응답을 주고 받는다. WAS는 이러한 요청 마다 하나의 쓰레드를 할당한다. 즉 여러 개의 요청이 들어오면 들어온 만큼 쓰레드를 할당하여 각각 처리..
-
[SpringMVC] 서블릿Programming/Spring MVC 2021. 3. 13. 23:52
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. 서블릿 클라이언트는 서버와 다양한 요청을 하고 서버 구성 중 WAS는 이러한 요청 중 처리해야 하는 비즈니스 로직인 동적 리소스를 맡아서 처리하고 응답한다. 클라이언트가 서버에게 요청을 보낼 때, 단순히 처리해야 하는 데이터만 보내는 것은 아니다. 어떤 주소로 보내는지, 보내는 프..
-
[SpringMVC] web server와 WASProgramming/Spring MVC 2021. 3. 13. 18:57
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com 이 게시글은 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의를 듣고 느낀점과 배운 것들을 다시 한 번 각색하여 정리한 것입니다. Web 현대의 웹은 모든 것이 HTTP 메시지를 기반으로 동작한다. 단순히 HTML과 같은 마크업 언어를 전달하는 용도가 아닌, image나 JSON과 같이 다양한 형태의 데이터를 전송할 수 있다. Web Server 웹 서버는 말 그대로 HTTP를 기반으로 동작하는 서버이다. 웹..