All Category562 [Spring DB] JDBC Template 공식 메뉴얼 https://docs.spring.io/spring-framework/docs/current/reference/html/data-access.html#jdbc- JdbcTemplate DataSource 설정 JDBC Template 사용을 위해서는 데이터베이스와의 연결을 관리하는 DataSource를 설정해야 한다. application.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.username=yourName spring.datasource.password=yourPassword 이렇게 하면 내부적으로 DataSource 빈을 자동으로 생성하고 구성합니다. JdbcTemplate 인스.. Java Category/Spring 2024. 3. 29. [Linux / Ubuntu] VMware Tools 수동 설치 나의 가상머신 환경에서는 아래와 같이 reinstall VMware Tools 버튼이 비활성화되어있다.(처음 설치부터 이랬음) 참고로 VMware Fusion 13.5 버전 사용중 (또한 우분투 GUI) 폭풍 구글링 결과 https://www.liquidweb.com/kb/how-to-install-vmware-tools-ubuntu/ 이 사이트를 참고하여 해결하였다. 방법 #1: Open VM Tools 패키지를 사용하여 VMware Tools 설치 1. 패키지 정보 업데이트 sudo apt-get update 2. GUI 기반 Ubuntu에 VMware Tools 설치 sudo apt-get install open-vm-tools-desktop 3. 머신 재부팅 sudo reboot 4. 설치된 VM.. 컴퓨터 구조 & 운영체제/Linux 2024. 3. 28. [Linux / Ubuntu] VMware Fusion 가상머신이 안켜질 때 VMware는 켜지는데 우분투가 켜지질 않았다. 오류메시지 또한 출력하지 않았다. 그래서 아래와 같은 방법으로 해결하였다. 일단 VMware를 종료하고 아래 사진의 폴더로 들어가서 여기서 아래의 파일을 복사하고 다시 붙여넣었다.(기존의 파일은 삭제, 복사된 파일의 이름은 원래 파일 이름으로 수정) 이후 다시 VMware를 실행하니 다시 정상 부팅되었다. 컴퓨터 구조 & 운영체제/Linux 2024. 3. 28. [Spring MVC] 파일 업로드 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 파일 업로드 일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 먼저 폼을 전송하는 다음 두 가지 방식의 차이를 이해해야 한다. HTML 폼 전송 방식 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 방식 application/x-www-form-urlencoded 방식은 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다. Form 태그에 별도의 enctype 옵션이 없으면 웹 브라우저는 요청 HTTP 메시지의 헤더에 다음 내용을 추가한다. →Content-Type: appl.. Java Category/Spring 2024. 3. 25. [Spring MVC] 스프링 타입 컨버터 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 스프링 타입 컨버터 스프링 프레임워크에서 타입 컨버터(Type Converter)는 한 타입의 객체를 다른 타입으로 변환할 때 사용되는 메커니즘이다. 스프링 MVC에서는 클라이언트로부터 받은 문자열 데이터를 컨트롤러의 파라미터나 필드에 지정된 타입의 객체로 변환할 필요가 자주 있다. 예를 들어, URL 경로에서 가져온 문자열을 날짜 객체나 열거형, 심지어는 사용자 정의 타입으로 변환해야 할 때가 그러하다. 이럴 때 스프링의 타입 컨버터 기능이 유용하게 사용된다. @GetMapping("/hello-v2") public String helloV2(@RequestParam Integer data) { System... Java Category/Spring 2024. 3. 24. [Spring MVC] API 예외 처리 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 기본 API 예외 처리 예외가 발생하면 어떠한 경로로 다시 요청할지 정의 WebServerCustomizer @Component public class WebServerCustomizer implements WebServerFactoryCustomizer { @Override public void customize(ConfigurableWebServerFactory factory) { ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error-page/404"); //errorPage404 호출 ErrorPage errorPage500 = new .. Java Category/Spring 2024. 3. 23. 구글 클라우드 비전 OCR API 스프링 부트에서 사용 구글 클라우드 비전 플랫폼 설정 API 및 서비스 구글 클라우드 의 콘솔 창으로 들어가면 왼쪽 상단의 버튼을 눌러 API 및 서비스 - 사용자 인증 정보로 들어간다. 사용자 인증 정보 창에서 사용자 인증 정보 만들기 버튼을 누른다. API 키 를 추가한다. API 활성화 이후 API 및 서비스 - 사용 설정된 API 및 서비스 버튼을 클릭한다. Clould Vision API 를 사용 버튼을 누른다. IAM 및 관리자 IAM 및 관리자 - 서비스 계정 버튼 클릭 아래의 정보들을 입력한다. 아래의 부분은 선택사항이다. 실험 결과 이 부분을 일부 누락해도 OCR API를 사용하는데 지장이 없었다. 만든 계정의 키 관리 버튼을 누른다. 새 키 만들기를 누른 뒤, JSON 파일을 다운로드 받는다. 스프링 부트 .. Java Category/Spring 2024. 3. 22. [Spring MVC] 예외 처리와 오류페이지 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 서블릿 예외 처리 서블릿은 다음 2가지 방식으로 예외 처리를 지원한다. Exception (예외) response.sendError(HTTP 상태 코드, 오류 메시지) Exception(예외) 자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 main 이라는 이름의 쓰레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 main() 메서드를 넘어서 예외가 던져지면, 예외 정보를 남기고 해당 쓰레드는 종료된다. 웹 애플리케이션 웹 애플리케이션은 사용자 요청별로 별도의 쓰레드가 할당되고, 서블릿 컨테이너 안에서 실행된다. 애플리케이션에서 예외가 발생했는데, 어디선가 try ~ catch로 예외를 잡.. Java Category/Spring 2024. 3. 21. [Spring MVC] ArgumentResolver 를 이용한 @Login 어노테이션 구현 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.@Login 애노테이션이 있으면 직접 만든 ArgumentResolver 가 동작해서 자동으로 세션에 있는 로그인 회원을 찾아주고, 만약 세션에 없다면 null 을 반환하도록 개발 HomeController - 추가기존@GetMapping("/")public String homeLoginV3Spring( @SessionAttribute(name = SessionConst.LOGIN_MEMBER, required = false) Member loginMember, Model model) { //세션에 회원 데이터가 없으면 home if (loginMem.. Java Category/Spring 2024. 3. 20. [Spring MVC] HTTP MessageConverter, RequestMapping HandlerAdapter 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. HTTP MessageConverter HTTP MessageConverter는 스프링 프레임워크에서 HTTP 요청 및 응답 본문을 객체로 변환하거나 객체를 HTTP 응답 본문으로 변환하는 역할을 하는 구성 요소이다. 클라이언트와 서버 간의 데이터 교환은 주로 JSON, XML 등의 형식으로 이루어지는데, MessageConverter는 이러한 데이터 형식을 애플리케이션 내부에서 사용하는 객체로 쉽게 변환해주거나, 반대로 객체를 이러한 데이터 형식으로 변환해주는 작업을 담당한다. 뷰 템플릿으로 HTML을 생성해서 응답하는 것이 아니라, HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 .. Java Category/Spring 2024. 3. 19. [Spring MVC] 필터, 인터셉터(로그인 처리 관련) 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 한다. 로그인 하지 않은 사용자도 URL을 직접 호출하면 상품 관리 화면에 들어갈 수 있다. 이렇게 로그인하지 않은 사용자는 다른 URL에 접근할 수 없도록 해주는 것이 서블릿 필터와 인터셉터이다. 애플리케이션 여러 로직에서 공통으로 관심이 있는 있는 것을 공통 관심사(cross-cutting concern)라고 한다. 여기서는 등록, 수정, 삭제, 조회 등등 여러 로직에서 공통으로 인증에 대해서 관심을 가지고 있다. 이러한 공통 관심사는 스프링의 AOP로도 해결할 수 있지만, 웹과 관련된 공통 관심사는 지금부터 설명할 서블릿 필터 또는 스프링 인터셉터를.. Java Category/Spring 2024. 3. 18. [Spring MVC] 세션을 이용한 로그인 이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 세션을 이용한 로그인 처리 쿠키에 중요한 정보를 보관하는 방법은 여러가지 보안 이슈가 있다. 이 문제를 해결하려면 결국 중요한 정보를 모두 서버에 저장해야 한다. 그리고 클라이언트와 서버는 추정 불가능한 임의의 식별자 값으로 연결해야 한다. 이렇게 서버에 중요한 정보를 보관하고 연결을 유지하는 방법을 세션이라 한다. 사용자가 loginId , password 정보를 전달하면 서버에서 해당 사용자가 맞는지 확인한다. 세션 ID를 생성하는데, 추정 불가능해야 한다. →UUID는 추정이 불가능하다. UUID ex) mySessionId=zz0101xx-bab9-4b92-9b32-dadb280f4b61 세션 저장소의 .. Java Category/Spring 2024. 3. 17. 이전 1 2 3 4 5 ··· 47 다음