Spring/Spring MVC
-
Spring MVC - 응답 메시지를 만드는 방법 (정적 리소스, 뷰 템플릿, HTTP API 메시지 바디에 직접 입력)Spring/Spring MVC 2022. 1. 29. 23:04
응답 메시지를 만드는 방법 정적 리소스 - 정적 HTML, CSS, javascript를 제공 뷰 템플릿 - 동적 HTML을 제공(뷰 템플릿을 사용한다) HTTP API, 메시지 바디에 직접 입력 - HTTP API를 제공하는 경우 HTML이 아니라 데이터를 전달해야 하므로 HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 정적 리소스 스프링 부트는 클래스 패스의 아래와 같은 디렉터리 안에 있는 정적 리소스를 제공한다. /static, /public, /resources, /META-INF/resources str/main/resources는 리소스를 보관하는 곳이고, 또한 클래스패스의 시작 경로이다. 따라서 다음 디렉토리에 리소스를 넣어두면 스프링 부트가 정적 리소스로 서비스를 제공..
-
Spring MVC - JSON으로 보낸 HTTP 요청 메시지 조회Spring/Spring MVC 2022. 1. 29. 20:39
JSON으로 보낸 HTTP 요청 메시지 URL에 쿼리 파라미터를 통한 요청 메시지, Form을 통한 HTTP message body에 쿼리 파라미터를 담아 요청하는 방법이 아닌 JSON으로 message body에 데이터를 직접 담아 요청 메시지를 보낸 경우 해당 데이터들을 어떻게 조회하는지 알아보자. HTTP API에서 주로 사용하며 데이터 형식은 JSON, XML, TEXT가 있다. 보통 JSON을 사용하며 POST, PUT, PATCH 메서드로 요청 메시지를 보낸다. message body를 직접 조회해야 하기 때문에 요청 파라미터와는 달리 @RequestParam, @ModelAttribute를 사용할 수 없다. JSON 요청 메시지와 응답 메시지 HttpServletRequest, HttpSer..
-
Spring MVC - 단순 텍스트으로 보낸 HTTP 요청 메시지 조회와 HTTP 응답 메시지 처리(@RequestBody, @ResponseBody)Spring/Spring MVC 2022. 1. 29. 19:41
단순 텍스트으로 보낸 HTTP 요청 메시지 URL에 쿼리 파라미터를 통한 요청 메시지, Form을 통한 HTTP message body에 쿼리 파라미터를 담아 요청하는 방법이 아닌 단순 텍스트으로 message body에 데이터를 직접 담아 요청 메시지를 보낸 경우 해당 데이터들을 어떻게 조회하는지 알아보자. HTTP API에서 주로 사용하며 데이터 형식은 JSON, XML, TEXT가 있다. 보통 JSON을 사용하며 POST, PUT, PATCH 메서드로 요청 메시지를 보낸다. message body를 직접 조회해야 하기 때문에 요청 파라미터와는 달리 @RequestParam, @ModelAttribute를 사용할 수 없다. 단순 텍스트 요청 메시지와 응답 메시지 HttpServletRequest, H..
-
Spring MVC - HTTP 헤더 조회Spring/Spring MVC 2022. 1. 28. 19:29
Web on Servlet Stack (spring.io) Web on Servlet Stack Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more com docs.spring.io Web on Servlet Stack (spring.io) Web on Servlet Stack Spring Web MVC is the ..
-
Spring MVC - HTTP API의 요청 매핑 예시Spring/Spring MVC 2022. 1. 28. 18:26
HTTP API 같은 URI에서 HTTP 메서드에 따른 요청 처리를 할 수 있으며 이 방식은 요즘에 많이 쓰는 방식이다. 회원 관리 API 회원 목록 조회 : GET /users 회원 등록 : POST /users 회원 조회 : GET /users/{userId} 회원 수정 : PATCH /users/{userId} 회원 삭제 : DELETE /users/{userId} @Slf4j @RestController @RequestMapping("/users") public class TestController { /** * GET /users */ @GetMapping public String users() { return "get users"; } /** * POST /users */ @PostMappin..
-
Spring MVC - 로깅(Logging) 간단히 알아보자(SLF4J, Logback)Spring/Spring MVC 2022. 1. 28. 16:38
로깅(Logging)이란? 로깅은 정보를 제공하는 일련의 기록인 로그를 생성하도록 시스템을 작성하는 활동을 말한다. 따라서 웹 애플리케이션이 작동하는데 중요 기능이 실행되는 부분에는 적절한 로그를 남겨 시스템 상태/작동 정보를 시간의 경과에 따라 기록하여 사용한다. 저장된 로그는 사용자의 패턴이나 시스템 동작 자체의 분석에 사용될 수 있으며 해킹이나 침입 등의 사고가 발생한 경우 비정상 동작의 기록을 통해 추적을 수행할 수 있도록 돕는다. 우리는 간단하게 System.out.println을 이용하여 입출력 및 변수 값들을 출력하여 로그를 생성할 수 있지만 로그의 양이나 수준을 조절할 수 없고, 출력된 로그를 파일 등에 저장하기도 불편하다. 또한 System.out.println을 자주 이용하다 보면 웹 ..
-
Spring MVC - RestcontrollerSpring/Spring MVC 2022. 1. 4. 17:29
Restful API Restful API는 응답결과를 데이터만으로 구성하여 클라이언트로 전달하는 방식 @Restcontroller Restful API를 구성하기위한 어노테이션 @Restcontroller를 통해 return을 하게 되면 그 값 자체를 브라우저에 전달한다. JSON 라이브러리 추가 다양한 데이터를 보낼 수 있도록 돕는다. com.fasterxml.jackson.core jackson-databind 2.13.0 bundle JSON 데이터를 응답결과로 보내기 @RestController public class RestTestController { @GetMapping("test2") public ResponseEntity test2() { DataBean bean1 = new DataB..
-
Spring MVC - MyBatis XML 설정Spring/Spring MVC 2022. 1. 4. 16:46
MyBatis XML 설정 이번엔 XML으로 설정하는 방법을 알아보자 db.properties 생성 db.classname = oracle.jdbc.OracleDriver db.url = jdbc:oracle:thin:@localhost:1521/xepdb1 db.username = 아이디 db.password = 비밀번호 Mapper 생성 Mapper는 쿼리문을 작성하는 파일이다. ▼ mapper.xml (/WEB-INF/mapper/) CDATA는 XML 문법 중 하나이다. 작성 중 특수한 문자들이 들어갈 경우 오류가 발생할 수도 있는데 이를 방지하기 위해 넣어준 것이다. 빼도 상관없다. ServletAppContext.xml 설정 1. PropertyPlaceholderConfigurer Bean ..