전체 글
-
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..
-
SQL - 권한과 ROLEDataBase/Oracle 2022. 1. 28. 22:15
사용자 관리 사용자의 계정과 암호설정, 권한 부여 객체(테이블, 뷰 등)에 대한 권한 부여 다수의 사용자가 공유하는 데이터베이스 정보에 대한 보안 설정 데이터베이스에 접근하는 사용자마다 서로 다른 권한과 ROLE을 부여함 시스템 권한 데이터베이스 관리자가 가지고 있는 권한 오라클 접속, 테이블, 뷰, 인덱스 등의 생성 권한 - CREATE USER(사용자 계정 만들기) - DROP USER(사용자 계정 삭제) - DROP ANY TABLE(임의의 테이블 삭제) - QUERY REWRITE(함수 기반 인덱스 생성 권한) - BACKUP ANY TABLE(테이블 백업) 시스템 관리자가 사용자에게 부여하는 권한 - CREATE SESSION(데이터베이스에 접속) - CREATE TABLE(테이블 생성) - C..
-
SQL - 동의어(SYSNONYM)DataBase/Oracle 2022. 1. 28. 21:53
동의어(SYSNONYM) 란? CREATE SYNONYM 줄임말 FOR 사용자명.객체명 다른 데이터베이스가 가진 객체에 대한 별명 혹은 줄임말 여러 사용자가 테이블을 공유할 경우 다른 사용자가 테이블에 접근할 때 '사용자명.테이블명'으로 표현하는데 동의어를 사용하면 간단하게 사용할 수 있다. 동의어는 시스템 권한이 필요하다 GRANT CREATE SYNONYM TO 계정명 -- 동의어 생성 CREATE SYNONYM EMP FOR EMPLOYEE; -- 동의어를 이용한 SELECT문 SELECT E.* FROM EMP E;
-
SQL - 인덱스(INDEX)DataBase/Oracle 2022. 1. 28. 21:41
인덱스(INDEX) SQL명령문의 검색 처리 속도를 향상하기 위해 칼럼에 대해서 생성하는 오라클 객체 하드디스크의 어느 위치에 있는지 정보를 가진 주소록(ROWID) PK, UNIQUE이 있으면 자동으로 INDEX 객체가 생성된다. ROWID 구조 : 오브젝트 번호, 상대 파일 번호, 블록 번호, 데이터 번호 인덱스의 내부 구조는 이진트리 형식으로 구성되어 있고 인덱스를 생성하기 위해서는 시간이 필요하다. 또한 인덱스를 위한 추가 저장 공간이 필요하기 때문에 반드시 좋은 것은 아니다. 이러한 이유 때문에 인덱스가 생성된 칼럼에서 DML 작업이 빈번하게 일어나는 경우 처리 속도는 느려진다. 그 이유는 데이터의 변경 작업이 자주 일어나면 계속적으로 인덱스를 다시 REBUILD 작업을 주기적으로 해줘야 하고,..
-
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..