묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
2강 - Http 응답 데이터 - Html 질문
html 응답에 <head>태그가 없는 이유가 response 객체에 contentType이랑 encoding 형식을 지정해줘서 그런 것 맞나요 ? package hello.servlet.basic.response; ** import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "responseHtmlServlet", urlPatterns = "/response-html") public class ResponseHtmlServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Content-Type: text/html;charset=utf-8 response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); writer.println("<html>"); writer.println("<body>"); writer.println(" <div>안녕?</div>"); writer.println("</body>"); writer.println("</html>"); } }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@ServletComponentScan 작성 후 오류를 해결했는데 이유를 알고싶습니다.
@ServletComponentScan 작성, HelloServlet 클래스까지 모두 작성 후 실행 -> 오류발생커뮤니티 글들에서 같은 오류와 해결방안을 바탕으로 해결완료.build.gradle 에서 providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 을 삭제하니정상 작동하였습니다.1.providedRuntime을 삭제하고 작동한 이유가 무엇인가요? 하지만 localhost 실행하니 servlet은 잘 생성된 것 같은데 페이지는 여전히 오류화면이 뜹니다.2024-06-20T10:54:52.014+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2024-06-20T10:54:52.014+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2024-06-20T10:54:52.015+09:00 INFO 34832 --- [servlet] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2. 서블릿이 잘 생성됐는데 페이지는 왜 오류뜨나요? jdk17 , 스프링부트 3.3.0
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 7. 질문
상품 등록을 누르면localhost:8080/basic/items/add로 이동합니다. 그러면 상품 등록 폼이 보입니다.코드로 보면 /basic/addForm을 열었습니다.@GetMapping("/add") public String addForm() { return "/basic/addForm"; } 상품 등록 폼에서 상품을 등록합니다. 상품을 등록하면 /basic/item을 보여주게 됩니다.그런데 url을 보면 localhost:8080/basic/items/5 이렇습니다. @PostMapping("/add") public String addItemV3(@ModelAttribute Item item) { itemRepository.save(item); return "/basic/item"; }왜 items인 건지 이해가 가지 않습니다. 주소에 /basic/item으로 찍혀야 하는 거 아닌가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션 세션 질문
1:55 쯤에서 영한님이 커넥션 10개를 생성하면, 세션도 10개 만들어진다고 하셨습니다. 그럼 1개의 커넥션에는 1개의 세션이 만들어진다가 맞나요?커넥션과 세션은 일대일 매칭인건가요?여러 커넥션이 하나의 세션을 바라보거나 하나의 커넥션이 여러 세션을 생성할 수는 없을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Model 질문
@RequestMapping("/response-view-v2") public String responseViewV2(Model model) { model.addAttribute("data", "hello"); log.info("data={}", model.getAttribute("data")); return "response/hello"; }여기서 받는 파라미터 Model은 인터페이스고 이를 구현한 몇 가지가 있습니다. 구현된 것들은 addAttribute 메서드 또한 구현해 놨는데 어떤 게 model로 넘어오는지 모르겠습니다.ㅠpublic class ConcurrentModel extends ConcurrentHashMap<String, Object> implements Model { public ConcurrentModel(String attributeName, Object attributeValue) { this.addAttribute(attributeName, attributeValue); } }몇가지 구현체들중에 같은 메서드를 가지고있고, 이걸 사용하는 거 같은데 어떻게 이게 선택이 되는 건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류가 납니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]WARNING: A Java agent has been loaded dynamically (C:\grade\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.16\4a451ee6484abac3a498df0f3b33ed00a6fced4d\byte-buddy-agent-1.14.16.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseJava HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 이런식으로 오류나는데 어떻게 해결해야 할까요??
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션 6. 질문
@PostMapping("/request-body-string-v3") public HttpEntity<String> requestBodyStringV3(HttpEntity<String> httpEntity, @RequestHeader MultiValueMap<String, String> headerMap) throws IOException { String messageBody = httpEntity.getBody(); log.info("messageBody={}", messageBody); return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED) }교재에 보니, 이렇게 나와있는데 적용을 해봤더니 Hello World가 아니라 제가 h로 입력을 보내면 H로 화면에 출력됩니다.제대로된 출력이 되지 않는 이유와 responseHeaders를 넣으면 어떻게 사용되는지 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중간중간 나오는 강사님의 노트도 볼 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]중간중간 나오는 강사님의 노트도 혹시 볼 수 있나요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Exception 던질 때 String 으로 반환값을 설정하는 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] @GetMapping("/api/response-status-ex2") public String responseStatusEx2() { throw new ResponseStatusException(HttpStatus.NOT_FOUND, "error.bad", new IllegalArgumentException()); } 이 코드를 보면 String 을 반환하게 되어 있는데 저렇게 exception 던지면 String 반환하는 게 아니지 않나요? void 대신 String 을 쓰는 이유가 있는지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 안돼요,,,ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이건 오류인가요,,,? 자바도 17버전인데,,,잘 모르겠어요 ㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
table Member not found 오류
안녕하세요.스프링부트 입문 순수 JDBC강의를 듣던 중 오류가 발생하여 문의드립니다."2024-06-17T19:01:36.901+09:00 ERROR 15128 --- [jdbc:h2:tcp://localhost/~/test] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "MEMBER" not found (this database is empty); SQL statement:select * from member [42104-224]] with root cause"오류와 함께이런 화면이 나옵니다.이 화면과 같이 h2에서 MEMBER이라는 테이블도 나와있고, application.properties 파일도다음과 같이 입력되어있는 상태입니다. c드라이브 사용자 아래에 test.mv.db도 나와있는데, 계속 Table "MEMBER" not found 오류와 함께 웹 페이지에도 저렇게 나와서 문의드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
[질문 아니고 트러블슈팅 공유] Error parsing HTTP request header 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[공유 내용]환경: spring boot 3.3.0, java17, postman client, macbook m1 pro강의 내용을 따라하는 중에 포스트맨으로 요청했는데 다음과 같은 에러를 만나신 분을 위한 공유입니다. "o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header"해결 방법은 http://localhost:8080/request-body-string 에서 http:// 를 뺀 후 두 번 이상 요청하시면 요청하면 정상 작동합니다. 에러 메시지2024-06-18T13:48:38.325+09:00 DEBUG 38801 --- [servlet] [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:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] 2024-06-18T13:48:38.330+09:00 DEBUG 38801 --- [servlet] [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:1293) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1181) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:789) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.24.jar:10.1.24] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
32강 spring mvc 안보임
밑에 질문목록에 있는데로 들어가서 모두 만들었는데 옆에 s가 안뜨고 j가 떠서 다른 거 더 찾아봐서 했는데 안되길래 eGovframe Web project 로 그냥 만들어서 실습 진행해도 되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost연결이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]HelloSpringApplication.java의 main 실행 했을 때 사진과 같은 화면이 뜹니다. locallhot는 연결이안됩니다.JDK는 17.0.11.9 버전으로 다운받았습니다.어디가 잘못된걸까요..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
한글 인코딩 설정이 안됩니다..
안녕하세요 ! IntelliJ로 라이브 코딩 따라하는데 아래처럼 한글이 깨져서요 [��ü �Ķ���� ��ȸ]-start[��ü �Ķ���� ��ȸ]-end 구글링해서 따라해봤는데 File Encoding > UTF-8 설정 완료 (Global, Project, Default 모두) idea.64.exe.vmoptions 파일 설정 -Xmx2048m -Dfile.encoding=UTF-8구성 편집에서 어떻게 encoding 하는지 잘 모르겠습니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
프록시 호출
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]static class CallService{ public void external() { log.info("call external"); printTxInfo(); internal(); } @Transactional public void internal() { log.info("call internal"); printTxInfo(); } }위 코드에서 교안의 그림과 설명에서 callService.external()을 호출할 때, 트랜잭션 프록시로부터 먼저 호출된다고 되어있는데 external()메서드는 @Transactional이 적용되어 있지 않음에도 프록시로 호출되는 이유는 같은 클래스 레벨인 internal()메서드에 @Transactional이 선언되어 있어서 CallService클래스 자체가 프록시로 생성되기때문인가요?옳바르게 이해한지 확인하고싶어 질문드립니다ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
그래서 정확히 멀티 쓰레드라는 게 무엇인가요?
쓰레드의 개념에 대해 알겠고, 실제로는 요청마다 쓰레드를 생성하는 것이 아니라 쓰레드 풀에 쓰레드를 200개 정도 생성해두고 꺼내 썼다가 반납한다는 것까지 알겠는데,그럼 멀티 쓰레드는 동시에 여러 쓰레드들이 사용되고 있는 그 상황을 의미하는 건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 정의
서블릿 정의가 자바를 사용하여 웹을 만들기 위해 필요한 기술 이라고 생각하면 되나요 ?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
ItemMapper 빈 오류
[질문 내용]안녕하세요, 스프링부트 3.3.0 버전이라서 교재에 나온대로 mybatis-spring-boot-starter 3.0.3으로 추가했는데 다음과 같이 ItemMapper가 빈으로 등록되지 않습니다.Could not autowire. No beans of 'ItemMapper' type found.그래서 다른 분들처럼 버전 내려보기도 해봤는데 계속 오류가 뜨네요. 자주하는 질문에 나오는 프로젝트 초기화도 해봤는데 오류가 생깁니다. 한번 봐주시면 감사하겠습니다.구글 드라이브 https://drive.google.com/file/d/1EDUWv_GFWyZqOXpXsSuGvkU_ovDC8SWA/view?usp=sharing
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
homeController
homeController에서 return "redirect:/items"; 를통해 itemController에 있는 items로 매핑이 된 메서드로 이동해 items뷰템플릿을 보여주는건 이해했습니다!그런데 왜 localhost:8080을 웝페이지에 띄웠을 때static에있는 index.html이 호출이 되지 않고 homeController에있는 /URL이 호출이되나요 ?requestMapping("/") 이게 기본화면과 매핑된 URL인가요 ??