일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @Aspect
- 스프링 mvc2 - 타임리프
- 스프링 db1 - 스프링과 문제 해결
- 스프링 mvc2 - 로그인 처리
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch7
- 스프링 mvc1 - 스프링 mvc
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch5
- 스프링 입문(무료)
- 자바의 정석 기초편 ch11
- 타임리프 - 기본기능
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch4
- 게시글 목록 api
- 자바의 정석 기초편 ch14
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch1
- 자바의 정석 기초편 ch13
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch2
- 2024 정보처리기사 수제비 실기
- 2024 정보처리기사 시나공 필기
- jpa 활용2 - api 개발 고급
- 코드로 시작하는 자바 첫걸음
- jpa - 객체지향 쿼리 언어
- 스프링 mvc2 - 검증
- Today
- Total
목록인프런 - 스프링 완전정복 코스 로드맵 (98)
나구리의 개발공부기록
출처 : 인프런 - 스프링 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 이런식으로 등록해도 되지만 오류 메시지를 구분하기 쉽게 별도의 파일로 관리하는것이 ..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 검증 요구사항 및 프로젝트 설정 V11) 요구사항 : 검증 로직 추가(1) 타입 검증가격, 수량에 문자가 들어가면 검증 오류 처리(2) 필드 검증상품명 : 필수, 공백 x가격 : 1000원 이상, 1백만원 이하수량 : 최대 9999(3) 특정 필드의 범위를 넘어서는 검증가격 * 수량의 합은 10,000원 이상2) 현재까지 만든 웹 애플리케이션의 문제점폼 입력시 숫자를 문자로 작성하여 검증 오류가 발생하면 오류 화면으로 바로 이동해서 사용자가 처음부터 해당 폼으로 다시 이동해서 입력해야함값을 넣지 않아도 상품이..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 설정 및 소개1) 프로젝트 설정(1) 프로젝트제공된 소스코드의 message-start 폴더의 이름을 message로 변환하여 임포트해서 사용GradleJava 11Spring Boot 2.4.4(2) MetadataGroup: helloArtifact: messagePackaging: Jar(3) Dependencies스프링 웹타임리프롬복2) 소개(1) 메시지HTML 파일에 하드코딩된 메시지를 수정해야할 때 지금처럼 단순히 HTML파일이 몇개 없을 때에는 문제가 되지 않지만 HTML파일이 수십개라면 수십개의 ..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 체크박스 - 단일11) 단순한 단일 체크박스(1) addForm.html 수정로 순수 HTML 체크 박스를 추가 체크박스에 체크를 안하면 log에 null이 찍히며 아예 값도 넘어오지 않음) -->판매 여부 판매 오픈 (2-1) FormItemController - addItem()수정FormItemController에 @Slf4j 애노테이션을 추가하고, log를 확인해보고 싶은 addItem 메서드에 log.info()를 통해 체크 박스 선택 여부를 boolean 타입..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 프로젝트 설정1) 프로젝트 설정강의에서 제공하는 프로젝트가 있으나, 버전업이 많이 된 관계로 새로 프로젝트를 생성(1) 프로젝트GradleJava 17Spring Boot 3.3.0(2) MetadataGroup: helloArtifact: item-servicePackage name: hello.itemservicePackaging: Jar(3) DependenciesSpring WebThymeleafLombok(4) 추가 작업기존 프로젝트에 있는 클래스 파일들은 가져온 상태에서 진행settings.gradl..
출처 : 인프런 - 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://inf.run/GMo431. 주석1) 주석(1) BasicController - comments() 추가@GetMapping("/comments")public String comments(Model model) { model.addAttribute("data", "Spring!"); return "basic/comments";} (2-1) comments.html예시html data1. 표준 HTML 주석html data-->2. 타임리프 파서 주석html data3. 타임리프 프로토타입 주석html data/*/--> (2-2..