월 16,940원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
자바 17 프로젝트 시작
[질문 내용]안녕하세요 자바 17 프로젝트 시작 관련해서 질문 드립니다.다른 질문글 답변을 보고 따라했는데도 프로젝트 시작이 안됩니다..이유가 뭘까요..
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
requestDto 데이터 바인딩 질문
프론트에서 request를 보내서 RequestDto에 데이터가 바인딩 될 때, List가 안오면 빈array가 바인딩 되도록 하는 것은RequestDto의 생성자에서 해야하나요? 아니면 공통적으로 처리하게 만들 수 있는 건가요? 혹은 빈array라도 프론트에서 보내야하는 건가요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류 처리 컨트롤러 직접 접근
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.sendError 나 Exception 발생 시 내부적으로 호출될 컨트롤러 (/error-page/404, /error-page/500) 을브라우저에서 url 을 직접 입력해서도 호출할 수 있는데이러한 접근은 보안 상에 큰 문제가 없을 것 같은데 굳이 막지 않아도 되는 걸까요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
용어가 모호해서 질문드립니다 (Model 객체, Form 객체, Domain 객체, Command 객체)
강의 중 강사께서 Model 객체, Form 객체, Domain 객체, Command 객체를 혼재해서 사용하시는 것 같은데 실제로 같은 대상을 지칭해서 그런가요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
errors.properties와 검증 애너테이션을 함께 사용할 때 적용되는 메시지
안녕하세요, 수업을 다 듣고 따로 프로젝트를 생성하여에러 메시지를 errors.properties에서 작성한 후 적용 여부를 확인해봤는데적용이 되지 않아 질문드립니다. 프로젝트 환경Spring Boot 3.2.1 / Java 17 / Jar Packaging / IntelliJ IDEA 입니다. 설정 및 작성 코드 application.propertiesspring.messages.basename=messages,errors errors.properties#추가(스프링이 생성한 기본 오류 메시지 코드 설정하기) typeMismatch.java.lang.Integer = 숫자를 입력해주세요!!!!! typeMismatch = 타입 오류입니다!!!! #Bean Validation 추가 NotNull.validation.minVal = 널 안됨!! Range={0}, {2} ~ {1} 허용 Max={0}, 최대 {1} NotNull={0} Null 안됨!!!! 검증 대상 객체@Data @NoArgsConstructor @AllArgsConstructor public class Validation { // @NotNull(message = "값 필수 입력!") // @NotNull(message = "{NotNull}") @NotNull @Min(1) private Integer minVal; @Max(100) private Integer maxVal; @Range(min = 10, max = 100) private Integer rangeVal; } 컨트롤러@Slf4j @RestController public class ValidationController { @GetMapping("/test") public String setValues(@Validated @ModelAttribute Validation validation, BindingResult bindingResult) { log.info("validation={}", validation); if (bindingResult.hasErrors()) { List<FieldError> fieldErrors = bindingResult.getFieldErrors(); for (FieldError fieldError : fieldErrors) { log.info("errorMessage={}", fieldError.getDefaultMessage()); } } return "OK"; } } 위와 같이 작성을 하였고 에러를 발생시켜 보면errorMessage={}의 로그 부분에서 errors.properties에 설정한 메시지가 아니라스프링에서 기본으로 제공하는 오류 메시지가 출력됩니다. 여러가지 테스트 결과application.properties와 errors.properties 자체를 인식하지 못하는 건가 했지만 파일을 인식하는 것을 확인함애너테이션에 메시지를 직접 적용하는 것은 적용이 됨@NotNull(message = "{NotNull}")과 같이 {} 안에 errors.properties에서의 적용 이름?을 직접 넣으면 메시지가 제대로 출력됨 강의에서의 프로젝트와 다른 점이 버전 뿐인 것 같은데,혹시 자바 혹은 스프링 부트의 버전에 따라 검증 애너테이션의 메시지가 적용되는 로직에 차이가 있나요?그게 아니라면 어떤 이유로 이렇게 되는 건지 꼭 이유를 알고 싶습니다. 제가 작성한 부분 중 틀린 부분이나 추가해야 할 부분이 있다면 알려주세요..!여러군데 검색을 해봤지만 원하는 답을 얻을 수 없어 질문 올립니다!
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
모든 itemTypes를 도는건데 왜 BOOK만 정적값으로 적어놓는 건가요?
<div>상품 종류</div> <div th:each="type : ${itemTypes}" class="form-check form-check-inline"> <input type="radio" th:field="*{itemType}" class="form-check-input"> <label th:for="${#ids.prev('itemType')}" th:text="${type.description}" class="form-check-label"> BOOK </label> </div>여기서 thymeleaf 로 Model 객체 내 에 있는 itemTypes 인 enm 배열을 받아서 사용하는거잖아요? 그러면 정적 값들을 하나도 적어놓을 필요가 없는데 왜 BOOK만 적어놓은건가요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
thymeleaf client side redirection 질문
안녕하세요 강의 듣다가 좀 헷갈리는게 있어 질문 올려요<button class="w-100 btn btn-secondary btn-lg" th:onclick="|location.href='@{/form/items}'|" type="button">취소</button> 여기서 onclick은 서버한테 해당 url로의 새 http request message 를 보내지 않는 그냥 client 쪽에서 온전히 redirection 하는 거라고 들었는데요, 이러면 client는 해당 URL의 view를 어떻게 찾아내나요? 원래는 새 url로 이동하려면 해당 url로 request 보내고 서버로부터 완성된 VIEW를 받아서 보여주는거잖아요?근데 얘는 thymeleaf로 되어있어서 서버로부터 데이터도 껴넣어져야되는데 어떻게 온전히 client가 알아서 view를 찾아낼 수 있다는건지 이해가 안갑니다
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ArgumentResolver가 Interceptor를 대체할 수 있을까요??
ArgumentResolver가 Interceptor를 대체할 수 있을까요??프로젝트가 커지면 커질 수록 제외할 패턴이나 인증이 필요한 라우터 패턴을 webconfig에 입력해줘서 관리를 계속 해줘야하는데 관련 DTO를 만들어서 해당 dto가 붙어있으면 인증이 필요한 메소드라는 것을 나타내면 인터셉터가 없이 ArgumentResolver로 대체가 가능하지 않을까하는 생각이 들어서요 그래서 이런 인증 수행을 인터셉터가 아니라 리졸버 안에서 해도 무방하지 않을까 생각하는데 ArgumentResolver와 Interceptor가 지향하는 것이 다르기 때문에 그렇게 하면 안되는 것이가 궁금해서 질문드립니다.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
IntelliJ decompiled .class parameter name 이 달라보이는 이유
안녕하세요 강의 중에 IntelliJ 가 제공하는 파라미터 이름이 다르게 보여서 질문 드립니다.강의에서는 errorCode, 저는 s현재 인텔리제이 2023.3.2 Ultimate 사용 중 입니다.인텔리제이 자체에서 decompile 해주는거 같은데 혹시 다른 설정이 있는지 문의 드립니다.
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field 를 기재한 항목을 Javascript에서 document.getElement.. 하고 싶은 경우
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]document.getElementById나 document.getElementsByName을 쓰지 않을까 싶은데.. 혹시 다른게 있나요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터 권한 체크
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 수업을 따라 오면서 복습 차원으로 추가 기능들을 추가 하고 있습니다.사용자가 상품 등록/수정 화면을 요청하면 인터셉터에서 사용자가 어드민인지 아닌지를 체크하고 어드민이라면 정상적으로 요청을 수행하고, 어드민이 아닌 경우에는 response.sendError() 로 요청을 거절하도록 했는데요 이런 식으로 인터셉터에서 거절을 하고 난 뒤 컨트롤러에서도 또 한번 사용자를 체크하는게 좋을까요? 아니면 굳이 하지 않아도 괜찮을까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
new Item() 질문
model.addAttribute("item", "new Item())1.이 문장은 html 문서에서 th:Object를 활용하기 위해서 쓴건데 실질적으로 new Item() 기본생성자라 Item클래스안에 파라미터에는 아무런값도 없고 단지, 타임리프 문법을 쓰기위함이라고 이해했는데 맞을까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 서비스 테스트 코드에 대한 질문
서비스 계층의 클래스를 테스트하려고 준비하고 있습니다. mock이 너무 많으면 유지보수가 힘들어져서 MemoryRepository를 직접 구현해서 사용하라고 하던데@DataJpaTest 어노테이션으로 Repository객체의 mock을 대신해도 될까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링부트가 아닌, 스프링 프레임워크일 경우 BasicErrorController
안녕하세요,스프링 부트일 경우, BasicErrorController 가 자동적으로 등록되어 사용된다고 하셨는데, 부트가 아닌 일반 스프링 프레임워크일 경우, BasicErrorController 와 비슷한 역할을 해주는 Controller 가 자동적으로 등록되지는 않는 것인지요?부트가 아닌 스프링 프레임워크에서는 개발자가 예외나 response.sendError(); 에 대해서 아무런 대비/대처 설정 (예와나 sendError 를 처리해주는 코드를 작성하지 않았을 경우) 을 해주지 않았을 경우에는 어떤 default 설정을 따라가는지 궁금합니다.스프링 부트일 경우,WebServerFactoryCustomizer<ConfigurableWebServerFactory> 를 구현한 클래스를 작성해서 ErrorPage를 지정해주고 있는데, 부트가 아닌 스프링 프레임워크에서는 어떻게 WebServerFactoryCustomizer<ConfigurableWebServerFactory> 를 구현한 것과 동일하게 custom 을 해줄 수 있는지 궁금합니다.감사합니다.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉트 호출안됨 로그에 파일 찍히지 않음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터셉터가 호출이 안됩니다. log.infro 값들도 안찍히고 있어요
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프에서 ENUM에 직접 접근할때
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]타임리프에서 스프링EL 문법을 사용하여 ENUM에 직접 접근할 수 있다고 했는데 그렇게 했을 때 폴더 구조가 노출됨으로써 생기는 보안문제는 없나요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
pdf 파일 교재
pdf 파일 교재는 어디에 있는지요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요 혹시 Spring Security 강의는 예정에 없을까요?
강의 항상 잘 보고 있습니다.많은 강의를 봤는데Spring Security 내용은 없더라구요혹시 예정된 강의는 있을까요?혼자 공부는 많이 했는데영한님의 강의로도 한번 더 공부해보고 싶네요!
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
pdf 파일 교재 오타 있습니다
스프링 MVC 21. 타임리프 - 기본 기능.pdf 텍스트 - text, utext 의 /resources/templates/basic/text-unescape.html (unescape -> unescaped) d 가 빠져 있습니다 !!
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
아이디 중복오류
안녕하세요 , 김영한 강사님! 혹시 , 아이디나 닉네임 혹은 비밀번호와 같은 유일성이 보장되어야 하는 필드는 중복 오류를 검사할때 DB 연동까지 필요한 검증인것이죠? 혹시 이런 검증은 DB 강의 부분에서 따로 강의에서 나오는 부분이 있는지 궁금합니다!