리스트 예시: 게시물이 존재할 경우 3건을 노출합니다.
- 코틀린에서 null을 다루는방법 1. Kotlin 에서의 null 체크 Java)public boolean startsWithA(String str) { return str.startsWith("A");}-> str 에 null 들어오면 NPE 이 발생하는 위험한 코드 1) str 이 null 일 경우 Exception 반환 Java) - src/main/java/com/lannstark/lec02/Lec02Main.javapublic boolean startsWithA1(String str) { if (str == null) { throw new IllegalArgumentException("null이 들어왔습니다"); } return str.startsWith("A");}Kotlin) - src/m.. 2026.09.21
- RedirectAttributes 상품 저장 후 상품 상세 화면으로 리다이렉트 했지만, 고객 입장에서 저장이 잘 된 것인지 확신이 들지 않는다. 그래서 저장이 잘 되었으면 상품 상세 화면에 "저장되었습니다" 라는 메시지를 보여달라는 요구사항이 왔다. 1. 컨트롤러 - src/main/java/hello/itemservice/web/basic/BasicItemController.java... /** * RedirectAttributes */ @PostMapping("/add") public String addItemV6(Item item, RedirectAttributes redirectAttributes) { Item savedItem = itemRepository.save(item); .. 2026.09.13
- PRG Post/Redirect/Get 상품 등록 처리 컨트롤러는 심각한 문제가 있다. 상품 등록 완료 후 웹 브라우저에서 새로고침시, 상품이 계속해서 중복 등록이 된다. 웹 브라우저 새로고침은 마지막에 서버에 전송한 데이터를 다시 전송한다. 상품 등록 폼에서 데이터 입력 후 "상품 등록" 버튼을 누르면 POST /add + 상품 데이터를 서버로 전송한다. 이 상태에서 새로고침하면 마지막에 전송한 POST /add + 상품 데이터를 서버로 다시 전송한다. 따라서 내용은 같고, 상품 ID만 다른 상품 데이터가 계속 쌓이게 된다. 위 문제를 어떻게 해결할까? 1. POST, Redirect GET새로고침 문제를 해결하려면 상품 저장 후 뷰 템플릿으로 이동하는 것이 아니라, 상품 상세 화면으로 리다이렉트를 호출하면 된다. 웹 브라우저는 리다이렉.. 2026.09.12
- 상품 수정 1. 컨트롤러 - src/main/java/hello/itemservice/web/basic/BasicItemController.java... @GetMapping("/{itemId}/edit") public String editForm(@PathVariable Long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "basic/editForm"; }...수정에 필요한 정보 조회 후, 수정용 뷰 템플릿 호출 2. 상품 수정 폼 뷰 - src/main/resources/templates/basic/editF.. 2026.09.11
- 상품 등록 처리 - @ModelAttribute 상품 등록 폼에서 전달된 데이터로 실제 상품을 등록 처리 한다. POST HTML Form) · content-type : application/x-www-form-urlencoded 메시지 바디에 쿼리 파라미터 형식으로 전달 ex) itemName=itemA&price=10000&quantity=10 사용 예시) 회원 가입, 상품 주문, HTML Form 사용 요청 파라미터 형식 처리 : @RequestParam, @ModelAttribute 1. 상품 등록 처리 - @RequestParam @RequestParam 으로 변수를 하나하나 받기 BasicItemController > addItemV1()) - src/main/java/hello/itemservice/web/basic/BasicItemCo.. 2026.09.10