모델추가 부분에서 왜 에러가 뜨는지 잘모르겠습니다.
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
지금까지 잘 되다가 모델에 멤버객체를 집어넣는 부분에서 에러가 떠서 진행이 안되네요.. 구글에 쳐도 여거가지 시도를 해도 잘안되서 질문드립니다..
- MVC
- mvc
- spring
176만명의 커뮤니티!! 함께 토론해봐요.
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
지금까지 잘 되다가 모델에 멤버객체를 집어넣는 부분에서 에러가 떠서 진행이 안되네요.. 구글에 쳐도 여거가지 시도를 해도 잘안되서 질문드립니다..
해결됨
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요. 우선 좋은 강의 감사드립니다. 수업을 따라 진행하다가, quantity 검증과 관련해 질문이 있습니다. 일부러 수량(quantity)에 큰 값을 넣어봤는데요, 저장을 누르면 이 숫자를 문자로 인식하는 것 같습니다. 99999로 입력하면 올바른 에러가 발생하는데요, 캡쳐본에 있는 값으로 넣게 되면 2023-01-23 12:23:56.797 WARN 21288 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'item' on field 'quantity': rejected value [9999999999999]; codes [typeMismatch.item.quantity,typeMismatch.quantity, typeMismatch.java .lang.Integer,typeMismatch]; arguments [ org.springframework.context.support .DefaultMessageSourceResolvable: codes [item.quantity,quantity]; arguments []; default message [quantity]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Integer' for property 'quantity'; nested exception is java.lang.NumberFormatException: For input string: "9999999999999"]] 이러한 에러가 발생하게됩니다. 혹시 이런 에러가 발생하는 이유가 있나요? 아 혹시 integer의 최대 숫자보다 커서 문자로 인식이되는건가요? 감사합니다.
해결됨
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강사님께서 F12(개발자 도구 창)을 띄워서 Form Data가 넘어오는걸 보여주셨는데 그림을 보면 Headers 메뉴 안에 Form Data 가 있습니다.그런데 HTTP프로토콜에서 Form Data는 쿼리 스트링 형식으로 message body에 들어가서 전달 된다고 알고있는데 개발자 도구에서는 Headers메뉴에 있네용 편의상 Headers메뉴에 message body값도 같이 넣은건지 제가 뭔가 잘못이해하고 있는 건지 궁금합니다.
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
public void update(Long itemId, Item updateParam) { Item findItem = store.get(itemId); findItem = updateParam; } update() 메서드 코드를 수정한 것인데, 파라미터로 paramItemDto(id 없이 itemName, price, quantity로만 이뤄진 클래스)를 넘기는 것이 아니라 위와 같이 Item을 넘기는 경우라면, 코드를 이렇게 작성해도 괜찮은 것일까요?
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요 스프링 필터 오류 페이지 관련 궁금한 것이 있어 질문을 드립니다. 스프링 필터 오류 페이지를 사용하면 오류가 발생하여 was에서 view를 부를 때 필터랑 인터셉터는 자동으로 안부르게 설정 되어져 있는건가요?
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? y 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? yy 3. 질문 잘하기 메뉴얼을 읽어보셨나요? y [질문 내용] 여기에 질문 내용을 남겨주세요. Truncated class file 라는 에러가 뜹니다. 하라는대로 다 하는중 이래도 안되네요 캐시도 삭제 그래도 같은 문제 발생 어떻게 해결해야하나요?? 진도가 1강에서 막혀버려서
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서블릿과 파일 업로드2 를 학습하던 중 삭제가 불가능하다는 예외가 발생하면서 여러 방법을 시도해도 해결되지 않아 문의 드립니다. 개발 환경 window 사용중인 스프링 부트 버전 : 2.7.8 자바 언어 버전 : 11 properties 설정 경로 설정은 위의 사진처럼 했습니다. 에러 로그를 보면 삭제를 할 수 없다고 뜨면서 예외가 발생합니다. 로그 속에 있는 경로로 들어가 직접 파일 제거 시도 -> 서버가 내려갈 경우 파일이 삭제되는 것 확인 가능 해당 부분이 문제라고 생각됩니다. 해결하기 위해 했던 노력 관리자 권한으로 프로그램 실행 결과 : 실패 강의 자료 코드 그대로 옮겨 오기 결과 : 실패 강의 소스 코드 그대로 옮겨 오기 결과 : 실패 경로 바꿔 보기 결과 실패 총 4가지의 시도 결과 전부 실패해 문의 드립니다. 에러 발생 로그 내가 생각하는 로그 핵심 문제 원인 2023-01-22 21:42:00.789 WARN 31328 --- [nio-8080-exec-3] s.w.m.s.StandardServletMultipartResolver : Failed to perform cleanup of multipart items 2023-01-22 20:48:55.796 ERROR 28536 --- [nio-7070-exec-3] o.apache.coyote.http11.Http11Processor : Error processing request java.io .UncheckedIOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete( DiskFileItem.java:431 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationPart.delete( ApplicationPart.java:54 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.Request.recycle( Request.java:483 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:441 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:399 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:829 ) ~[na:na] Caused by: java.io .IOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp ... 13 common frames omitted 2023-01-22 20:48:55.796 DEBUG 28536 --- [nio-7070-exec-3] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CLEAN] reported while processing request java.io .UncheckedIOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete( DiskFileItem.java:431 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationPart.delete( ApplicationPart.java:54 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.Request.recycle( Request.java:483 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:441 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:399 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:829 ) ~[na:na] Caused by: java.io .IOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp ... 13 common frames omitted 2023-01-22 20:48:55.798 ERROR 28536 --- [nio-7070-exec-3] o.a.coyote.http11.Http11NioProtocol : Error reading request, ignored java.io .UncheckedIOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete( DiskFileItem.java:431 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationPart.delete( ApplicationPart.java:54 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.Request.recycle( Request.java:483 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.log( CoyoteAdapter.java:515 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:429 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:829 ) ~[na:na] Caused by: java.io .IOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp ... 13 common frames omitted 2023-01-22 20:48:55.799 ERROR 28536 --- [nio-7070-exec-3] org.apache.tomcat.util.net .NioEndpoint : Error running socket processor java.io .UncheckedIOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.delete( DiskFileItem.java:431 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.core.ApplicationPart.delete( ApplicationPart.java:54 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.Request.recycle( Request.java:483 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.log( CoyoteAdapter.java:515 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.catalina.connector.CoyoteAdapter.checkRecycled( CoyoteAdapter.java:539 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.http11.Http11Processor.recycle( Http11Processor.java:1439 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.release( AbstractProtocol.java:1098 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:1056 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.71.jar:9.0.71] at java.base/java.lang.Thread.run( Thread.java:829 ) ~[na:na] Caused by: java.io .IOException: Cannot delete C:\Users\lgh94\AppData\Local\Temp\tomcat.7070.1452951454340902875\work\Tomcat\ localhost \ROOT\upload_ee1add48_92d9_4d5b_8495_af18bb01c136_00000000.tmp ... 14 common frames omitted
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
base.html 코드 일부분입니다. <!-- 추가 --> <th:block th:replace="${links}" /> <div th:replace="${links}"></div> 두 번째 줄은 th:block -> div로 바꾼 것입니다. th:replace로 인해서 <div> 코드가 2개의 <link>로 대체될 줄 알았는데, 아예 <div> 코드 자체가 출력이 안 되었습니다(소스코드 보기 했을 때). 왜 태그가 대체되는 것이 아니라 아예 출력되지 않는 것인가요..??
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
base.html의 코드 일부입니다. <head th:fragment="common_header(title,links)"> <title th:replace="${title}">레이아웃 타이틀</title> ... <!-- 추가 --> <th:block th:replace="${links}" /> </head> <title>을 넘기지 않았더니 exception이 발생했습니다. 태그를 반드시 넘겨야 하는 것이라면, 그래서 <title>이 교체될 것이라면 위 코드에서 <title>, '레이아웃 타이틀'을 작성하지 않아도 되는 것가요? <title> 대신 큰 의미없는 <div>나 (5번째 줄에서 작성한) <th:block>을 사용해도 되는 것인가요?
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
java.io .EOFException: null at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.fillReadBuffer( NioEndpoint.java:1340 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.read( NioEndpoint.java:1227 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.fill( Http11InputBuffer.java:805 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine( Http11InputBuffer.java:360 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:271 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 2023-01-22 12:02:46.767 DEBUG 16928 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header java.io .EOFException: null at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.fillReadBuffer( NioEndpoint.java:1340 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.read( NioEndpoint.java:1227 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.fill( Http11InputBuffer.java:805 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine( Http11InputBuffer.java:360 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:271 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 2023-01-22 12:02:46.768 DEBUG 16928 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request java.io .EOFException: null at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.fillReadBuffer( NioEndpoint.java:1340 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.read( NioEndpoint.java:1227 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.fill( Http11InputBuffer.java:805 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine( Http11InputBuffer.java:360 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:271 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 2023-01-22 12:02:46.768 DEBUG 16928 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing request java.io .EOFException: null at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.fillReadBuffer( NioEndpoint.java:1340 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$NioSocketWrapper.read( NioEndpoint.java:1227 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.fill( Http11InputBuffer.java:805 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine( Http11InputBuffer.java:360 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:271 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:891 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1784 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1191 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:659 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 패키지 위치랑 URI주소 정확하게 맞췄는데도 404 에러에 로그는 저렇게 찍히네요 private static MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); }
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<div th:each="user : ${users}"> <div> 사용자 이름1 <span th:text="${user.username}"></span> 사용자 나이1 <span th:text="${user.age}"></span> </div> <div> 요약 <span th:text="${user.username} + ' / ' + ${user.age}"></span> </div> </div> <th:block> -> <div>로 바꾼 코드입니다. th:block 태그를 사용하지 않고 div 태그 2개를 반복할 수 있는 방법이 존재할 것 같아서 바꿔본 것인데, 가장 바깥 <div> 태그가 출력된다는 점을 제외하면 눈에 보이는 결과물은 동일합니다. 제가 아직 경험이 부족해서 <th:block>가 유용하게 사용되는 경우를 모르는 것이겠죠...? ㅠㅠ
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의를 듣다가 데이터베이스를 h2 말고 oracle로 사용하고싶어서 변경해봤는데 방법을 잘 모르겠습니다.. 단순하게 db 연결은 가능합니다. public class JdbcTest01 { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "이름", "비밀번호"); Class.forName("oracle.jdbc.driver.OracleDriver"); String sql = "select * from member"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); System.out.println(" == 쿼리문 처리 결과 =="); while (rs.next()) { System.out.println("Lprod_id : " + rs.getInt("id")); System.out.println("------------------------------"); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { } finally { if (rs!=null) { try { rs.close(); } catch (SQLException e2) { } } if (stmt!=null) { try { stmt.close(); } catch (SQLException e2) { } } if (conn!=null) { try { conn.close(); } catch (SQLException e2) { } } } } } 그런데.. 빈 설정하는 방법을 잘 모르는 것 같습니다 ㅠㅠ (.getConnection에 유저이름과 비밀번호는 제대로 설정했습니다! 밑에만 바꿨어요!) public class JdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public JdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "이름", "비밀번호"); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { // 5. 자원 반납 if (rs!=null) { try { rs.close(); } catch (SQLException e2) { // TODO: handle exception } } if (conn!=null) { try { conn.close(); } catch (SQLException e2) { // TODO: handle exception } } } } 프로퍼티스 spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.username=이름 spring.datasource.password=비밀번호 디펜던시스 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.oracle.ojdbc:ojdbc8:19.3.0.0' implementation 'com.oracle.database.jdbc:ojdbc6:11.2.0.4' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.projectlombok:lombok' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' } @Configuration @Configuration public class SpringConfig { private DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean //스프링빈수동등록 public MemberService memberService() { return new MemberService((MemoryMemberRepository) memberRepository()); } @Bean public MemberRepository memberRepository() { //return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } } 어떤 부분을 추가하고 수정해야하는지 잘 모르겠습니다 ㅠ
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 강의 선행으로 요구되는 지식이 자바, 관계형 데이터베이스 기초라고 되어 있는데요 자바랑 MySQL은 공부했습니다. 그런데 JDBC나 JSP, 서블릿, 디자인 패턴 등에 대한 지식이나 웹 개발에 대한 지식은 모른 채로 로드맵 시작해도 상관없나요?
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<span th:text="${data}">html data</span> Model에 data가 있는 경우, 키가 data인 값이 'html data'를 대체합니다. 그런데, Model에 data가 없는 경우, 소스코드 보기로 확인해보니 <span></span>으로 출력되었습니다. 그렇다면 'html data'는 도대체 왜 작성하는 것인가요..??
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
<span th:text="10 + 2"></span> <span th:text="10 % 2 == 0"></span> '(작은따옴표) 생략 여부 관련해서 여쭤보고 싶습니다. 첫 번째 줄에서, 10+2 덧셈 연산이 이뤄진 후에 <span th:text="12"></span>이 되는데, 여기에서 사실은 '12'로 ''가 생략된 것인가요? 12가 숫자가 아닌 문자열로 인식되는 것이 맞나요? 마찬가지로 두 번째 줄에서, <span th:text="true"></span>가 되는데, 사실은 'true'로 ''가 생략된 것인가요? true가 boolean형이 아닌 문자열로 인식되는 것이 맞나요?
해결됨
스프링 프레임워크는 내 손에 [스프2탄]
상세보기 구현하는 과정에 있어서 궁금한점이 있어서 질문드립니다. get이라는 컨트롤러를 만들고 /board/get?idx=${vo.idx}에서 선택한 idx에 따라서 링크가 이동되는것은 강의에서 잘 풀어주셔서 이해가 잘가는것 같습니다. 질문을 드리자면 단순하게 get?idx <--- 여기서 물음표를 넣으셨는데 이건 정해진건지 궁금하고 어떤 이유에서 ?가 적힌건지 궁금합니다. get!!idx 이런식으로 적으니까 안되더라구요 ㅠㅠ... 연휴 잘보내시길 바라면서 질 좋은 강의에 감사 드립니다!
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jpa 라이브러리 추가했고 application 설정도 다 하고 @Configuration 애노테이션도 넣었는데 EntityManager가 빈으로 등록되어 있지 않다고 나옵니다. 왜 이러는걸까요? 프로젝트 링크: https://drive.google.com/file/d/1x_OeOhEBOKSNTiuzUqxY-zSyQmsmon5n/view?usp=share_link
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
입문 강의의 순수 JDBC 부분에서 제일 마지막 부분입니다. 제일 마지막으로 프로그램 실행을 해서 데이터베이스가 잘 작동하는지 확인하는데 강의안에 코드를 모두 복붙했기 때문에 오타는 없을건데 SpringConfig에서 저렇게 두개가 오류가 납니다. 첫번째 오류는 SpringConfig 파일 위치를 옮겨서 해결했는데 그 다음 오류인 위의 사진에서 빨간색 글씨로된 부분은 왜 오류가 나는지 모르겠습니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 우선 개발환경은 우분투 22.04 버전입니다. 재부팅은 해보았습니다. 그래들을 빌드(sudo ./gradlew build)하고나서는 인텔리제이에서 run하면, 빨간 글자로unable to delete directory~오류가 발생합니다. gradle clean을 하면 인텔리에서 정상으로 실행됩니다.
미해결
[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
mvc04 import 한 뒤 memberRegister.do 가 정상적으로 나오는데 이후 가입을 누르면 이런 오류가 뜨게 됩니다. 보니까 sql 문제인거 같기도 하고 자꾸 가입실패가 뜹니다. 어떤 점을 중점으로 봐야되나요?