'로그인 처리하기 - 쿠키사용' 부분을 듣고 제가 모르는 부분이 있는 것 같아 질문 남깁니다. 쿠키를 생성하고 쿠키를 보낼 때 response.addCookie(idCookie)를 했는데 Model에도 model.addAttribute(idCookie)가 가능한지가 궁금합니다. 만약 가능하다면 어떤것을 쓰는것이 더 좋을지 만약 불가능하다면 불가능한 이유가 궁금합니다.
셀렉트 박스를 만들기 위해 강의에서 추가하는 코드를 저도 추가한 후 동일하게 서버를 띄웠지만, 2023-12-19T09:06:49.880+09:00 WARN 11452 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public java.lang.String hello.itemservice.web.form.FormItemController.addItem(hello.itemservice.domain.item.Item,org.springframework.web.servlet.mvc.support.RedirectAttributes): [Field error in object 'item' on field 'deliveryCode': rejected value [FAST]; codes [typeMismatch.item.deliveryCode,typeMismatch.deliveryCode,typeMismatch.hello.itemservice.domain.item.DeliveryCode,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [item.deliveryCode,deliveryCode]; arguments []; default message [deliveryCode]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'hello.itemservice.domain.item.DeliveryCode' for property 'deliveryCode'; Cannot convert value of type 'java.lang.String' to required type 'hello.itemservice.domain.item.DeliveryCode' for property 'deliveryCode': no matching editors or conversion strategy found]] ] 라고 에러가 뜹니다. 에러 내용대로 고치려면 DeliveryCode 선언할 때 컨버터를 정의해야 하는 것 같은데, 그렇게 코딩한다면 타임리프 기능에서 벗어나는 방식으로 코딩하는 것 같네요.. 아래는 제 코드에 추가된 내용들입니다. FormController @ModelAttribute("deliveryCodes") public List<DeliveryCode> deliveryCodes() { List<DeliveryCode> deliveryCodes = new ArrayList<>(); deliveryCodes.add(new DeliveryCode("FAST", "빠른 배송")); deliveryCodes.add(new DeliveryCode("NORMAL", "일반 배송")); deliveryCodes.add(new DeliveryCode("SLOW", "느린 배송")); return deliveryCodes; } addForm.html <!-- SELECT --> <div> <div>배송 방식</div> <select th:field="*{deliveryCode}" class="form-select"> <option value="">==배송 방식 선택==</option> <option th:each="deliveryCode : ${deliveryCodes}" th:value="${deliveryCode.code} " th:text="${deliveryCode.displayName}">FAST</option> </select> </div> <hr class="my-4"> 추가된 코드 외에 다른 곳에서부터 에러가 발생되는 것일 수도 있어 프로젝트도 공유해볼게요. https://drive.google.com/drive/folders/1CrfrMJEdHRJDvrEAMSyDAOr9xLac7I4a?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not found in class file either. v1과 v2에서는 문제가없는데요 /spring/upload에서 제출하면 500에러뜨면서 illegalArgumentexception뜹니다. 어떻게 해결해야할지 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 맥북 환경에서 버전도 바꾸고 빌드하는 데까지는 성공했습니다. 그런데 명령어를 실행하니 실행되지 않고 아래와 같은 오류가 발생합니다. MacBookAir libs % java -jar hellospring-0.0.1-SNAPSHOT.jar Exception in thread "main" java.lang.UnsupportedClassVersionError: hello/hellospring/HellospringApplication has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 64.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass( ClassLoader.java:1013 ) at java.base/ java.security .SecureClassLoader.defineClass( SecureClassLoader.java:150 ) at java.base/ java.net .URLClassLoader.defineClass( URLClassLoader.java:524 ) at java.base/ java.net .URLClassLoader$ 1.run ( URLClassLoader.java:427 ) at java.base/ java.net .URLClassLoader$ 1.run ( URLClassLoader.java:421 ) at java.base/ java.security .AccessController.doPrivileged( AccessController.java:714 ) at java.base/ java.net .URLClassLoader.findClass( URLClassLoader.java:420 ) at java.base/java.lang.ClassLoader.loadClass( ClassLoader.java:588 ) at org.springframework.boot.loader.net .protocol.jar.JarUrlClassLoader.loadClass( JarUrlClassLoader.java:104 ) at org.springframework.boot.loader.launch.LaunchedClassLoader.loadClass( LaunchedClassLoader.java:91 ) at java.base/java.lang.ClassLoader.loadClass( ClassLoader.java:521 ) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName( Class.java:496 ) at java.base/java.lang.Class.forName( Class.java:475 ) at org.springframework.boot.loader.launch.Launcher.launch( Launcher.java:88 ) at org.springframework.boot.loader.launch.Launcher.launch( Launcher.java:53 ) at org.springframework.boot.loader.launch.JarLauncher.main( JarLauncher.java:58 )
안녕하세요. 강의 잘 듣고 있습니다. 제 개인 프로젝트에서 multipartfile을 활용한 파일 업로드 기능을 구현하고 있는데 빌드 과정에서 아래와 같은 오류가 발생합니다. jdk버전은 11버전입니다. 진짜 하루종일 이것저것 다해봤는데 원인을 모르겠어요.. file.transferTo() 부분에서 에러가 발생하는데 미치겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 자바스크립트 파일을 별도로 만들게 되는 경우에는, 자바스크립트 인라인 사용할 수 있는 방법이 없나요? <script type="text/javascript" th:inline="javascript" th:src="@{/javascript.js}"></script> 위의 코드처럼, 넣어봤는데 별도의 파일이라 그런지 동적으로 변환되지 않고 그대로 인식되어버리네용 😅 자바스크립트 인라인을 사용하기 위해서는, 항상 html파일에 script 태그를 함께 사용해야만하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @GetMapping("/hello-v2") public String helloV2(@RequestParam(name = "data") Integer data) { System.out.println("data = " + data); return "ok"; 영상에서는 (name="data")를 안해도 화면이 잘 출력이되는데 저는 (name="data") 이거를 안넣으면 whitelabel이 뜹니다. 뭔가 설정이 잘못된건가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 네이버나 구글에서 검색하는 것이 아니라, 웹 브라우저의 주소창에서 바로 특정 사이트의 URL을 써서 엔터 누르면 항상 GET 방식으로 요청 메시지를 보내나요? 아니면 이것도 POST 등의 다른 방식으로 구현할 수 있나요?
OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release. 아래의 오류는 어떻게 해결해야 하는지 잘 모르겠습니다...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 계속 이렇게 뜨는데 런타임때 오류는 딱히 발생하지 않습니다 런타임 이후 런타임을 중지 할때 이런 오류가 계속뜨는데 이유를 모르겠습니다.
이런식으로 한글이 깨지는데, 처음엔 @Getter나 jackson라이브러리나 slf4j가 깨지는 줄 알았는데 게터 세터 직접 구현하고 브라우저에서 찍고, ide상에서 System.out.println으로 찍어도 깨지네요 ㅠㅠ.. 검색해서 나온 이런것 다 해보았습니다. vmoption 파일도 수정했습니다. 실행 옵션에 따라 동적으로 서비스 명 다르게 해서 배포하고 싶었는데, 잘 안되네요 ㅠㅠ.. 강의를 따라했을 때 국제화 message는 안깨졌었는데 이상하네요..
정적 컨텐츠 정적 컨텐츠는 단순히 파일을 그대로 클라이언트에게 전송하는 방식이다. 주로 이미지 파일, CSS 파일, JavaScript 파일 등과 같은 변하지 않는 자원들을 제공할 때 사용한다. MVC와 템플릿 엔진 MVC 아키텍처에서 템플릿 엔진을 사용하면 모델(Model), 뷰(View), 컨트롤러(Controller)를 각각 독립적으로 분리할 수 있다. 모델은 데이터를 관리하고, 뷰는 템플릿 엔진을 사용하여 HTML로 동적으로 프로그래밍하며, 컨트롤러는 비즈니스 로직을 처리하고 모델 및 뷰를 관리한다. 렌더링된 HTML은 클라이언트에게 전달되어 화면(=View)에 표시된다. API API는 객체를 반환하는 방식으로 동작한다. HttpMessageConverter를 사용하여 객체를 적절한 형식으로 변환하고, 이를 HTTP ResponseBody(자바 스프링의 경우 @ResponseBody)에 직접 넣어 클라이언트에게 반환한다. 이 과정에서 별도의 뷰 없이 데이터가 그대로 HTTP ResponseBody에 포함되어 전송된다. 이렇게 이해했는데 틀린 부분이 있을까요? 틀리거나 어색한 부분 지적 부탁 드립니다.
안녕하세요. 강의와 똑같이 코드를 작성 후, jackson 라이브러리 또한 확인했습니다. HelloData 코드도 작성 후 롬복도 추가해 놓았습니다. postman으로 요청시에 HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); System.out.println("helloData.username = " + helloData.getUsername()); System.out.println("helloData.age = " + helloData.getAge()); response.getWriter().write("ok"); 이 부분이 출력되지 않아서 질문 남깁니다. 오류 메시지는 없습니다. boot 버전은 3.2.0 입니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] PRG를 이용해서, 불필요한 post요청을 방지하는 내용이 있었는데, 상품을 추가하고 뒤로가기를 누르게되면, 다시 제출했던 폼이 그대로 남아있어서 "추가 -> 뒤로가기 ->추가" 계속 반복적으로 작성할 수 있잖아요? 이런거는 spring으로 방지 못하고, javascript로 처리해줘야하나요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.이게 뜨는데 어떻게 해결하나요?? 실행은 잘되는데 거슬리네여
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요! 최근 스프링 시큐리티가 패치되면서, 기존 메서드 체이닝 방식이 아닌 람다식을 통해 함수형으로 설정하도록 바뀌었는데요. 다른 설정 부분은 새롭게 바뀐 방식을 찾았으나.... 아래 사진의 마지막 apply() 는 도저히 찾을 수가 없더라고요...ㅠ 혹시 아시는 분계실까요? ('apply(C)' is deprecated since version 6.2 and marked for removal )