일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스파르타코딩
- 쿼리dsl
- 자바
- 백준
- programmers
- 스프링MVC
- 웹개발
- 반복문
- Java
- 브루트 포스
- OS
- 정처기
- 알고리즘
- 자바의 정석
- 코테
- 네트워크
- 메서드
- db
- JPA
- ModelAttribute
- 코딩테스트
- Bean Validation
- 면접
- 스프링 MVC
- 스프링
- 운영체제
- 프로그래머스
- 자료구조
- 검증
- 객체지향프로그래밍
- Today
- Total
목록Spring/Spring MVC (13)
개발일지
목차 웹 서비스는 폼 입력시 오류가 발생하면, 고객이 입력한 데이터를 유지한 상태로 어떤 오류가 발생했는지 알려주어야 함 ⭐컨트롤러의 중요한 역할 중 하나는 HTTP 요청이 정상인지 검증하는 것 검증 직접 처리 - 개발 @PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증 오류 결과를 보관 Map errors = new HashMap(); // 검증 로직 if (!StringUtils.hasText(item.getItemName())){ // ItemName에 글자가 없으면, errors.put("itemName", "상품 이름은..
목차 상품 등록 처리 - @ModelAttribute 상품 등록폼에서 등록된 전달된 데이터로 실제 상품을 등록 처리하는 과정 상품 등록폼은 메시지 바디에 쿼리 파라미터 형시으로 전달하기에 @RequestParam 사용 @RequestParam @PostMapping("/add") public String addItemV1(@RequestParam String itemName, @RequestParam int price, @RequestParam Integer quantity, Model model) { Item item = new Item(); item.setItemName(itemName); item.setPrice(price); item.setQuantity(quantity); itemReposito..

목차 서비스 제공 흐름 상품 도메인 개발 Item - 상품 객체 package hello.itemservice.domain.item; import lombok.Data; @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; public Item() { } public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; this.quantity = quantity; } } id를 생성자로 두지 않은 이유 : id는 DB에서..
목차 HTTP 요청 - 기본, 헤더 조회 package hello.springmvc.basic.request; import lombok.extern.slf4j.Slf4j; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import ..
목차 스프링 Packaging 설정 War가 아닌 Jar를 선택 → JSP를 사용하지 않기 때문에 Jar를 사용하는 것이 좋음 Jar를 사용하면 항상 내장 서버(톰캣 등)을 사용하고, webapp 경로도 사용하지 않음 내장 서버 사용에 최적화되어 있음 (최근에는 주로 이 방식을 사용) War를 사용하면 내장 서버도 사용 가능하지만, 주로 외부 서버에 배포하는 목적으로 사용 로깅 간단히 알아보기 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리 (spring-boot-starter-logging)이 함께 포함 스프링 부트 로깅 라이브러..