일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch14
- 코드로 시작하는 자바 첫걸음
- 스프링 고급 - 스프링 aop
- 스프링 입문(무료)
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch6
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch11
- 게시글 목록 api
- 스프링 mvc1 - 스프링 mvc
- 2024 정보처리기사 수제비 실기
- 스프링 db1 - 스프링과 문제 해결
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch1
- 스프링 mvc2 - 검증
- 스프링 db2 - 데이터 접근 기술
- 스프링 mvc2 - 타임리프
- @Aspect
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch5
- 스프링 mvc1 - 서블릿
- jpa 활용2 - api 개발 고급
- 자바의 정석 기초편 ch2
- Today
- Total
목록인프런 - 스프링 완전정복 코스 로드맵/스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (17)
나구리의 개발공부기록
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/Gmptq1. 파일 업로드 소개 및 프로젝트 생성1) 파일 업로드 소개일반적으로 사용하는 HTML Form을 통한 파일 업로드를 이해하려면 폼을 전송하는 두 가지 방식의 차이를 이해야함(1) HTML 폼 전송방식application/x-www-form-urlencodedmultipart/form-data(2) application/x-www-form-urlencodedHTML 폼 데이터를 서버로 전송하는 가장 기본적인 방식이며 Form 태그에 별도의 enctype 옵션이 없으면 웹브라우저는 요청 HTTP 메시지의 헤더에 C..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 프로젝트 생성2. 스프링 타입 컨버터 소개1) 예제 코드예제 코드를 작성 후 /hello-v1?data=10, /hello-v2?data=10 이렇게 웹 브라우저에서 실행을 하면 쿼리스트링으로 전달되는 값은 숫자처럼 보여도 문자임(URL 경로는 문자)HTTP 요청 파라미터는 모두 문자로 처리 되기 때문에 helloV1 메서드 처럼 요청 파라미터를 자바에서 다른 타입으로 변환해서 사용하려면 타입을 변환해야함스프링 MVC가 제공하는 @RequestParam을 사용하면 helloV2의 메서드처럼 바로 타입 변환을 할..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 스프링이 제공하는 ExceptionResolver - 1HandlerExceptionResolverComposite에 다음 순서대로 등록됨ExceptionHandlerExceptionResolver - 제일 중요함ResponseStatusExceptionResolver - HTTP 응답 코드 변경DefaultHandlerExceptionResolver - 스프링 내부 예외 처리 -> 우선순위가 가장 낮음1) ResponseStatusExceptionResolver예외에 따라서 HTTP 상태 코드를 지정해주는 역..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. API 예외처리 - 시작HTML 페이지의 경우 오류 페이지만 있으면 대부분의 문제를 해결할 수 있음API의 경우에는 고객에게 보여주는 오류 화면이 아니고 상황에 맞는 요구 스펙을 서로 정의하는 것처럼, 오류도 글로벌한 스펙이 있는 것이 아니기 때문에 클라이언트와 서버가 각 오류 상황에 맞는 오류 응답 스펙을 정하고 JSON으로 데이터를 내려 주어야 함1) 서블릿 오류 페이지 방식을 활용한 API 오류 처리(1) WebServerCustomizer 다시 동작예외 처리와 오류 페이지 강의에서 작성해 두었던 WebS..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 예외 처리와 오류페이지 - 프로젝트 생성Project - GradleLanguage - Java(사용하는 버전 체크)Group - helloArtifact - exceptionPackaging - JarDependencies - Spring Web, Lombok, Thymeleaf, Validation2. 서블릿 예외처리 - 시작1) 순수 서블릿 컨테이너의 예외 처리서블릿은 2가지의 방식으로 예외를 처리함Exception(예외)response.sendError(Http 상태 코드, 오류 메시지)2) Except..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 서블릿 필터 - 소개1) 공통 관심 사항로그인 한 사용자만 상품 관리 페이지에 들어가야 하는데 지금은 로그인 하지 않은 사용자고 URL을 직접 호출하게 되면 상품 관리 화면에 들어갈 수 있음상품 관리 컨트롤러에서 로그인 여부를 체크하는 로직을 하나하나 적용해주면 되지만 이런 작은 프로젝트에도 등록, 수정, 삭제, 조회 등등 모든 컨트롤러 적용을 하기란 쉽지않고, 규모가 큰 경우에는 더욱 어려움향후 로그인과 관련된 로직이 변경 될 때마다 작성한 관련 모든 로직을 다 수정해야하는 더 큰 문제도 발생됨이렇게 애플리케..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 세션 동작 방식1) 세션 동작 방식의 개념(1) 세션쿠키의 보안 문제를 해결하기 위해 중요한 정보는 모두 서버에 저장해야하고 클라이언트와 서버는 추정 불가능한 임의의 식별자 값으로 연결해야함이렇게 서버에 중요한 정보를 보관하고 연결을 유지하는 방법을 세션이라고함 (2) 로그인사용자가 loginId, password 정보를 전달하면 서버에서 해당 사용자가 맞는지 확인함(2) 세션 관리서버에서는 세션을 관리하는 별도의 저장소에 전달된 정보를 추정 불가능한 세션 Id를 생성하여 함께 보관함Java에서 지원하는 UUI..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 로그인 요구사항/프로젝트 생성 / 홈 화면1) 로그인 요구사항(1) 홈 화면 - 로그인 전회원가입로그인(2) 홈 화면 - 로그인 후본인 이름(OO님 환영합니다.)상품 관리로그 아웃(3) 보안 요구사항로그인 사용자만 상품에 접근하고 관리할 수 있음로그인 하지 않은 사용자가 상품 관리에 접근하면 로그인 화면으로 이동(4) 회원 가입, 상품 관리2) 프로젝트 생성제공된 소스코드의 login-start의 폴더를 login으로 변경하여 사용여태까지는 java 버전이 11로 프로젝트가 생성되어있어 그냥 11로 했으나 이..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 소개/시작/프로젝트준비V31) Bean Validation 소개검증 기능을 매번 코드로 작성하는 것은 상당히 번거롭다(기존의 ItemValidator 클래스 처럼)이런 검증 로직을 모든 프로젝트에 적용할 수 있게 공통화, 표준화 한것이 Bean Validation이며 애노테이션 하나로 검증 로직을 매우 편리하게 적용할 수 있음(1) Bean Validation 예시public class Item { private Long id; @NotBlank private String itemName; @NotNull @R..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 오류 코드와 메시지 처리11) 에러 메시지 파일 생성오류 메시지가 항목마다, 기능마다 모두 다르다면 규모가 큰 애플리케이션에서 수정시 매우 번거올 수 있으므로 일관성 있게 오류 메시지를 다루는 것이 좋음FieldError와 ObjectError의 생성자는 codes, arguments를 제공하는데 이것은 오류 발생 시 오류 코드로 메시지를 찾기위해 사용되며 이것을 활용기존 messages.properties에 error.item 이런식으로 등록해도 되지만 오류 메시지를 구분하기 쉽게 별도의 파일로 관리하는것이 ..