일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- abap
- SAP
- 401오류
- optional
- springSecurityFilterChain 오류
- 필터의 정의
- .orelseThrow
- 세션이란
- 구글 보안 api 활용
- abap value in field Data Class error
- n+1
- MVC
- application-properties
- for all entries in
- SpringMVC
- 쿠키의 정의
- spring
- 필터vs인터셉터
- java.lang.AssertionError
- 김영한
- Testcode
- filter vs interceptor
- Validation
- 인터셉터의 정의
- @Controller
- 쿠키란
- jpa
- BindingResult
- spring MVC
- controller
- Today
- Total
목록[WEB]Back-end/Spring MVC (25)
SAP공장

# 인프런 김영한의 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 정리 1. 필터와 인터셉터가 왜 필요해? => 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 하는데, URL만 고치면 로그인 하지 않은 사용자도 다음 URL을 직접 호출하면 상품 관리 화면에 들어갈 수 있다는 점. // 엔진에는 석유만 들어가야 하는데.. 철가루도 들어간다면? 즉, 모든 컨트롤러 로직에 공통으로 로그인 여부를 확인해야 한다. //철가루가 들어가지 않도록 막아야한다, 모든 컨트롤러 로직에 인증에 대해 제한을 걸기위해 필터와 인터셉터가 작동한다. // 오일필터와 연료필터같은 역할! #애플리케이션 여러 로직에서 공통으로 관심이 있는 있는 것을 공통 관심사(cross-cutting co..
# 인프런 김영한의 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 1. Login Form(도메인 같은 느낌) 생성하기 // 로그인시 전용 Form @Data public class LoginForm { @NotEmpty private String loginId; @NotEmpty private String password; } 2. Login Repository 만들기 // 로그인시 사용될 DB와의 연관 관게 메소드 생성(DB와 Spring사이) @Slf4j @Repository public class MemberRepository { private static Map store = new ConcurrentHashMap(); private static Long seq..
# 인프런 김영한의 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 정리 1. Validator interface를 활용하고 implement 투입 2. valiation을 통한 코딩. 과거 개발했던 부분에는 유효성 검정을 하는 코드들이 들어있어 가시성이 좋지 않았다. 다음 오류를 확인하고 해결해주는 Validator를 분리하여 작성해서 가시성을 높히도록 하자. // @PostMapping("/add") // public String addItemV4(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes){ // log.info("objectName = {}"..
# 인프런 김영한의 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 정리 bindingResult.addError(new FieldError("item", "price", item.getPrice(), false, new String[]{"range.item.price"}, new Object[]{1000, 1000000}, null)); addError(new FieldError()) 대신에 rejectValue를 사용하자 bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); 장점 자세히 보면 item 이라는 객체의 생략 item.getPrice라는 에러 보관함 생략 new Stri..

# 인프런 김영한의 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 정리 Q. 어떻게 에러 메세지도 properties를 사용해서 동적으로 변경시킬수 있을까? public FieldError(String objectName, String field, @Nullable Object rejectedValue, boolean bindingFailure, @Nullable String[] codes, @Nullable Object[] arguments, @Nullable String defaultMessage) codes 와 arguments에 new String[]{"range.item.price"}, new Object[]{1000, 1000000} code에는 applica..

# 인프런 김영한의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다. 정리 Q. 과거 Validation 처리는 어떻게 했어? Post방식으로 Error validation을 처리할때 1.Map 형식으로 HashMap을 만든다 2.errors.put을 통해 errors들을 모은다 3.model.addAttribute(errors", errors)를 통해 model에 넘긴다. 4. 에러 메세지를 thymeleaf를 통해 내보낸다. @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { // 타입 검증 // 가격,..