inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

default method 구현부가 어디 있는지 궁금합니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

자바 8 기본 문법에 관한 거라서 질문하기 꺼려지긴 합니다만, 달리 질문할 데가 없어서 질문드립니다. 강의에서 Filter, HandleInterceptor 인터페이스를 구현함으로 서블릿 필터와 스프링 인터셉터 기능을 사용할 수 있음을 배웠는데요. 각 인터페이스의 default method들은 이미 구현이 되어 있기 때문에 따로 구현을 해주지 않아도 되는 건 이미 알고 있었습니다. 근데, 제가 알기로는 인터페이스의 default 키워드를 붙이려면 구현부가 꼭 있어야 하는 걸로 아는데, 해당 인터페이스들의 소스 코드를 까보면 구현부는 따로 없는 것 같습니다. 구현부는 대체 어디 있는 걸까요?

  • spring
  • mvc
고리오영감 댓글 1 좋아요 0 조회수 408

상품종류와 지역 방식 차이

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

상품 종류는 이넘을, 지역은 컨트롤러에서 생성(?)을, 이렇게 다른 방식을 적용하는 이유가 있나요? 혹 체크박스와 라디오의 차이인건지..

  • spring
  • mvc
lyg 댓글 2 좋아요 0 조회수 322

파일 다운로드 후 Redirect

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드 에서 파일 다운로드 할때 다음과 같이 ReponseEntity를 return해서 진행했었습니다. return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition).body(resource); 그런데 다운로드 후 다른 uri로 redirect를 하려면 어떻게 해야하나요? 구글링 을 해보니 다운로드 후 redirect는 할 수 없다는데 만약 redirect되게 하고 싶다면 어떻게 구현해야할까요?

  • spring
  • mvc
김주영 댓글 1 좋아요 0 조회수 926

JPA 특징 중 자동 업데이트 관련

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문 서비스 개발 부분 강의를 듣다가 궁금한 점이 있어 질문드립니다. 주문 취소(OrderService.cancelOrder) 부분에서order.cancel() 만 작성하면 JPA 특징으로 인해, 데이터 업데이트 관련 쿼리 로직 없이 자동으로 업데이트 된다고 하셨는데요. 주문 생성(OrderService.order)의 EntityManager 가 사용된 orderRepository.save (order);  와 혼동이 와서 질문 남깁니다. 주문 취소 order.cancel() 메서드를 타면서 엔티티의 값(status, count 등) 변경 내역이 자동으로 업데이트 되는 것이라고 하면, 주문 생성도 Order.createOrder(member, delivery, orderItem); 를 타면서 엔티티의 값들을 설정하기 때문에 orderRepository.save (order); 를 사용하지 않아도 되는게 아닌가 라는 생각이 듭니다. 제가 JPA 를 잘 몰라서 혼란이 오는 것 같은데.. 쿼리는 직접 작성하지 않아도 업데이트/저장/삭제 등 DB 조작이 일어나려면 EntityManager 를 통해야 된다고 생각하고 있었습니다. 주문 취소는 EntityManager 없이 업데이트 되고, 주문 생성은 EntityManager의 persist() 를 사용해서 저장하는 것 이 2가지 차이점에 대해서 설명 부탁드립니다! 감사합니다 :)

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
빈빈 댓글 1 좋아요 2 조회수 510

서블릿의 개념을 확실하게 잡고 싶습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

제가 서블릿을 들으면서 요약했던 개념으로는 클라이언트는 WAS에게 HTTP 요청을 보냄. WAS는 해당 HTTP 요청 메시지를 뜯어서 request 객체랑 response 객체를 생성.(response는 껍데기만 있고, request 안에는 요청 메시지의 바디 내용이 들어있다) request, response 객체를 해당 서블릿에게 넘긴다. 서블릿은 프로세스 처리를 하고, 응답 결과를 response 객체에 넣어서 was에게 돌려준다. was는 response를 클라이언트에게 돌려준다. 이렇게 정리를 했습니다. 이게 제대로 학습한 개념이 맞는지 궁금합니다. 또 pdf 내용에서는 HttpServletRequest 역할 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. 라고 적혀있는데 HTTP 요청 메시지를 파싱하는 건 was 아닌가요? was가 파싱해서 request객체에 담아서 서블릿에 전달하는 것으로 알고 있었는데 pdf는 서블릿이 http 메시지를 파싱해서 request에 담는다고 나와있어서 질문드립니다.

  • spring
  • mvc
  • servlet
  • 서블릿
songsoy95 댓글 1 좋아요 0 조회수 560

getOriginalFilename null check

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

public String convertedFile(@RequestParam MultipartFile attachFile) throws IOException { if (attachFile.isEmpty()) { return null; } String originalFilename = attachFile.getOriginalFilename(); String ext = extractExt(originalFilename); } 위처럼 MultipartFile를 isEmpty로 체크하고 getOriginalFilename로 originalFilename을 가져온다음 originalFilename을 extractExt 함수의 argument로 넣어려고하는데 null을 check하라고 나옵니다. 정확히는 아래처럼 null이 나올 수 있다고 뜨네요. isEmpty로 위에서 한 번 체크하면 안뜨는 걸로 알고 있는데 뜨는 이유가 뭘까요

  • spring
  • mvc
김주영 댓글 2 좋아요 0 조회수 1152

교재 내 instanceof 없이 캐스팅

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @Override public void validate(Object target, Errors errors) { Item item = (Item) target; ValidationUtils.rejectIfEmptyOrWhitespace(errors, "itemName", "required") ... 여기서 Item item = (Item) target; 하는데 target instanceof Item 이 없는 이유를 알 수 있을까요?

  • spring
  • mvc
김승현 댓글 2 좋아요 0 조회수 336

스프링 빈이란 것은

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링빈 파트 부분을 듣다 보니 처음에는 진짜 뭔소린지 하나도 모르겠고 스프링스프릴ㅇㅇ스프링빈 컨테이너 막 혼동이 와서 정신줄 잡고 듣고있는데 그러면 결국 스프링 빈은 객체 인가요?

  • java
  • spring
  • mvc
  • spring-boot
rrr6964 댓글 1 좋아요 0 조회수 948

AddPathPattern 경로 세팅에서..?

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

======================================== [질문 내용] 안녕하세요.인터셉터 conifg 파일에서 addPathPattern()함수내 인터셉터 대상이되는 경로를 세팅할때 질문있습니다. ^^; 예를들어 /*/ abc.do 와 /**/ abc.do 의 경로세팅을 한다고했을때 위 두예시에서 차이점이 있을까요? 즉, 경로 중간에 *이 한개있을때와 2개있을때 차이점이 궁금합니다. 찾아봐도 잘 안나오는것 같아서 질문드립니다. (_ _)

  • spring
  • mvc
kulkulzaza 댓글 1 좋아요 0 조회수 385

테스트 코드 작성에 대한 질문

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

테스트 코드를 작성할 때 테스트하려는 메서드를 제외한 나머지 메서드들은 전부 정상적으로 동작한다고 가정하고 해야하는 건가요?? 테스트코드를 작성하다보니 헷갈려서 질문 드립니다.. 예를 들면 findById() 메서드를 테스트할때 save() 메서드는 정상 동작한다고 가정하고 하는건가요?

  • spring
  • mvc
  • 테스트
jimmy0613 댓글 2 좋아요 0 조회수 406

클래스 안의 static 메서드 질문입니다.

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

강의에 대한 질문이라기보다 자바 문법에 대한 질문입니다... 프론트 컨트롤러에서 service 메서드 안에서 viewResolver와 createParamMap 메서드를 호출하려면 두 메서드가 static이 되어야 service 메서드에서 호출할 수 있는 것 아닌가요? Ctrl + Alt + M 으로 자동으로 메서드로 변환해도 static이 붙는데 강의 영상에서는 static이 안 붙어도 동작하는 것 같아 질문 드립니다. private static MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); } private static Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator() .forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName))); return paramMap; } MyView 클래스도 마찬가지입니다. private static void modelToRequestAttribute(Map<String, Object> model, HttpServletRequest request) { model.forEach((key, value) -> request.setAttribute(key, value)); }

  • spring
  • mvc
피로한 기린 댓글 1 좋아요 0 조회수 565

프론트 컨트롤러 코드 질문입니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

안녕하세요. 프론트 컨트롤러는 서블릿 객체라 싱글톤으로 관리된다고 이해했습니다. controllerMap에 URL과 다른 컨트롤러 객체를 넣을 때 기본 생성자를 사용하는 이유가 있나요? 싱글톤이면 생성자를 사용하지 않고 바로 controllerMap.put해서 넣어도 똑같지 않나요? 어떤 목적으로 생성자에 넣는 것인지요?? @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class FrontControllerServletV1 extends HttpServlet { // key는 url private Map<String, ControllerV1> controllerMap = new HashMap<>(); public FrontControllerServletV1() { controllerMap.put("/front-controller/v1/members/new-form", new MemberFormControllerV1()); controllerMap.put("/front-controller/v1/members/save", new MemberSaveControllerV1()); controllerMap.put("/front-controller/v1/members", new MemberListControllerV1()); } service 메서드를 상속받을 때 protected와 public 2개가 있었습니다. protected만 써야 하는 이유는 무엇인가요?? @Override protected void service( @Override public void service( 항상 잘 듣고 있습니다. 감사합니다.

  • spring
  • mvc
피로한 기린 댓글 1 좋아요 0 조회수 447

java -jar hello-spring-0.0.1-SNAPSHOT.jar 설치완료 후

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

안녕하세요 맥 m1 쓰고있는데요 터미널에서 java -jar hello-spring-0.0.1-SNAPSHOT.jar 설치 마치고 어떻게 저장하나요?

  • java
  • spring
  • mvc
  • spring-boot
Nephele 댓글 1 좋아요 0 조회수 510

국제화 null 기준

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문이기보다는 발견한거 찾아낸거라.. 혹시 컴퓨터 기본 언어가 영어로 세팅되신 분들이라면 해당 테스트는 무조건 실패하는거 같습니다 locale 이 null 이 나게 되면 그리고 이 getDefault() 를 파고들면 initDefault가 나오고 initDefault를 보면 message.properties 로 가는것 없이 바로 props = privilegedGetProperties로 가는데 이 privilegedGetProperties 는 System.getProperties() 를 실행... 애초에 locale = null 일때에는 시스템에서 가져와버리게 설계가 된 거 같습니다... java - Spring MessageSource seems to ignore property fallbackToSystemLocale - Stack Overflow 해당 stackoverflow 를 보더라도 locale = null 일때 spring.messages.fallback-to-system-locale=false 쓰이는게 아니라고 되있기도 합니다.. 즉 저 fallback-to -system locale 은 locale = null 을 제외한 상황에서 Locale 에 해당하는 파일을 못 찾을 시.. 가 맞는거 같네요.. 아마 null일 때에는 spring.messages.use-code-as-default-message 를 변경해야 할 거 같습니다.... 시스템 언어 영어이신 분들 스프링 정규 docs : Common Application Properties ( spring.io ) ctrl + f 로 검색 저도 그냥 디버거 따라가다가 찾은거라 개인적인 의견을 말씀을 드리는 거라 누가 대신 확인을 좀 해주셨으면.....

  • spring
  • mvc
김승현 댓글 2 좋아요 0 조회수 328

h2 database 접속 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] jdbc:h2:~/test로는 접속이 잘되고 home에 test.mv .db 가 있는 것 까지 확인했습니다. 이후에 jdbc:h2:tcp:// localhost/~/test 로 접속하려고 하니 다음과 같이 연결 거부가 뜹니다. 어떻게 해결해야 할까요 ?

  • java
  • spring
  • mvc
  • spring-boot
729saehyung 댓글 1 좋아요 0 조회수 1677

웹브라우저를 종료해도 쿠키 삭제가 되지 않습니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 쿠키 사용 강의 듣다가 해결이 되지 않아서 질문 남겨요. 12:10부터 로그인된 상태로 프로그램은 종료하지 않고 웹브라우저만 종료하고 다시 웹브라우저를 키면 쿠키가 삭제되고 로그아웃이 된 화면이 뜹니다. 그런데 똑같이 완전히 웹브라우저를 종료하고 다시 키면 로그인이 되고 쿠키가 그대로 남아있는 상태로 화면이 뜨네요. 강의 자료에 있는 코드로 다 바꿔봐도 해결이 안 되네요. 로그아웃 기능까지 다 구현이 된 상태입니다. Expires / Max-Age에도 Session으로 표시되어 있습니다. LoginController HomeController 웹 브라우저를 완전히 종료시켰는데 이런 현상이 생기는건 코드상의 문제인가요? 아니면 크롬에서는 다른 방식으로 종료해야하는건가요?? 감사합니다.

  • spring
  • mvc
박상환 댓글 1 좋아요 0 조회수 1042

prev('regions') 궁금증

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. class Item 아래 List<String> locations 라고 해놓은 상태에 ``` <div> <div> 등록 지역</div> <!-- regions is a map locations belong to Item. did it this way to explicitly show difference --> <div class="form-check form-check-inline" th:each="region : ${regions}"> <input type="checkbox" th:field="*{locations}" th:value="${region.key}" class="form-check-input"> <label th:for="${#ids.prev('regions')}" th:text="${region.value}" class="form-check-label">서울</label> </div> </div> ``` 로 해두면 위와 같은 이유로 에러가 납니다 public final class IdentifierSequences { private final Map<String,Integer> idCounts; 를 열어보면 가 나오는데 여기서 바이트 환산 기준 [locations] 를 담는데 .get(regions) 를 해서 null 이 나오기 때문입니다. 여기서 궁금한 거는 저 idcounts가 어떻게 제가 Item 클래스 안에서 List<String> locations 를 했는지 알 수 있는지 입니다 저 context 구하는 코드 원리가 너무 탐이 나네요.

  • spring
  • mvc
김승현 댓글 2 좋아요 0 조회수 299

빌드 이후에 libs가 생기지 않아요..

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. build successful이 뜨고 나서 libs가 없습니다..

  • java
  • spring
  • mvc
  • spring-boot
connell 댓글 2 좋아요 0 조회수 909

Model은 무엇을 가리키는 건가요?

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Controller는 서블릿 View는 템플릿 엔진 Model은 Member 같은 객체를 의미한다고 생각했는데 HttpServletRequest의 Attribute가 모델이라고 하셔서 질문 드립니다. Model은 무엇을 가리키는 것이고 Member가 Model이 아니라면 무엇인가요?

  • spring
  • mvc
피로한 기린 댓글 2 좋아요 0 조회수 695

JdbcMemberRepository와JdbcTemplateMemberRepository 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. build.gradle입니다 찾아보니 https://www.inflearn.com/questions/589975/jdbcmemberrepository-%EC%97%90%EB%9F%AC 해당 결과와 똑같은 증상인 것 같은데 해결방안을 찾지 못했습니다.

  • java
  • spring
  • mvc
  • spring-boot
서정원 댓글 2 좋아요 0 조회수 740

인기 태그

인프런 TOP Writers

주간 인기글