REST API Rest API는 Representational State Transfer (REST) 아키텍처 스타일을 따르는 웹 서비스를 개발하기 위한 기능과 도구를 제공합니다. `REST`는 클라이언트-서버 간의 통신을 위한 아키텍처 스타일로, 자원을 고유한 식별자(URI)로 표현하고 HTTP 프로토콜을 사용하여 자원에 대한 CRUD (Create, Read, Update, Delete) 작업을 수행합니다. REST API에 대해 공부하거나 예제를 보면 `JSON(JavaScript Object Notation)`을 같이 사용하는 것을 봤을 것입니다. JSON은 데이터를 표현하기 위한 텍스트 기반 형식으로 가볍고, 파싱하기도 쉽고, 사람도 읽기 쉬워서 많이 사용되는 데이터 교환 형식입니다. @Res..
Model 객체 Spring MVC의 `Model` 객체는 컨트롤러에서 뷰로 데이터를 전달하는데 사용하는 객체입니다. Model 객체는 컨트롤러 메서드의 파라미터로 선언되어 사용됩니다. 컨트롤러에서 데이터를 추가하면, 해당 데이터는 뷰에서 참조할 수 있게 됩니다. 아래는 `Model` 객체를 파라미터로 받아 `addAttribute()`로 데이터를 추가하고, 해당 데이터를 `dataView`라는 뷰에서 참조할 수 있게 하는 예제 코드 입니다. @Controller public class MyController { @RequestMapping("/getData") public String getData(Model model) { model.addAttribute("name", "Kim"); model.ad..
@RequestMapping @RequestMapping은 Spring Framework에서 HTTP 요청과 컨트롤러 메서드를 매핑하기 위해 사용되는 어노테이션입니다. Controller 클래스 레벨 또는 메서드 레벨에서 사용할 수 있으며, URL과 메서드를 연결합니다. @Controller @RequestMapping("/accounts") public class AccountController{ @RequestMapping("/list") public String accountList(){ return "account_list"; } } 결과로 "account_list" 뷰를 반환합니다. @Controller @RequestMapping("/accounts") public class AccountCo..
스프링 MVC Spring MVC는 Spring Framework에서 제공하는 웹 애플리케이션 개발을 위한 모듈입니다. MVC는 `Model-View-Controller`의 약자로, 애플리케이션의 구조를 이 세 가지 역할로 분리하여 개발하는 디자인 패턴입니다. Spring MVC는 Model, View, Controller를 모듈화하여 개발할 수 있기 때문에 유지보수성과 확장 가능성이 좋아집니다. 스프링 MVC는 `프런트 컨트롤러 패턴` 아키텍처를 사용합니다. `프런트 컨트롤러 패턴`은 클라이언트 모든 요청을 `프런트 컨트롤러`라는 컴포넌트가 받아 중앙 집중적으로 처리하는 디자인 패턴입니다. 공통적인 처리를 `프런트 컨트롤러`에 통합할 수 있기때문에 핸들러에서 처리하는 내용을 줄일 수 있다는 장점이 있습..
쿠키(Cookie) `클라이언트 측`에 저장되는 작은 텍스트 파일 서버에서 클라이언트로 전송되어 클라이언트 측에 저장됩니다. 클라이언트 요청 시에 요청 헤더에 쿠키를 포함하여 서버에 전송됩니다. 만료 기간을 설정할 수 있어서 일정 기간 동안 유지될 수 있습니다. 클라이언트 측에서 수정 가능하므로 보안에 취약할 수 있습니다. @Controller public class CookieController { @GetMapping("/setCookie") public String setCookie(HttpServletResponse response) { // 쿠키 생성 및 설정 Cookie cookie = new Cookie("username", "Kim"); cookie.setMaxAge(7 * 24 * 60 ..
HandlerInterceptor Spring Framework에서 HandlerInterceptor는 요청 처리의 전, 후 또는 요청 전체에 대한 처리를 수행하는 인터셉터입니다. 주로 요청의 전처리, 후처리, 예외 처리 등을 담당하여 공통적인 작업을 처리할 수 있도록 도와줍니다. 인터셉터 생성 public class CustomInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 요청 전처리 작업 수행 // 예: 인증, 권한 체크 return tr..