묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
실무에서 스프링부트의 내장 톰캣만으로 서비스가 되는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 김영한 선생님 덕분에 스프링을 너무 재밌게 배우고 있는 학생입니다. 선생님께서 수업 중에, '옛날에는 스프링부트의 내장 톰캣 서버를 사용하지않고, 따로 톰캣과 같은 WAS를 띄워서 서비스를 배포했기 때문에 war 로 말아서 배포했다.' 라고 해주신 말씀이 있습니다. 제가 다니는 회사에서는 war는 현재 사용하지 않지만, 스프링 프레임워크를 고전 방식으로 사용하면서 Jetty 를 WAS로 사용하고, 한 모듈 당 수 십개의 jar 를 넣어서 배포하는 시스템을 가지고 있습니다. 실제로 다른 회사에서는 실무에서 스프링부트의 내장 톰캣 서버 만으로 대규모 서비스가 굴러가는 것인지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Servlet Context의 request, response를 생성하는 주체
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Servlet Context의 request, response 객체를 만드는 주체가 어떻게 되나요?앞선 강의에서는 WAS라고 하시고 이번에는 Servlet Context라고 하셔서 좀 헷갈립니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
이 테스트 코드가 통과하는 이유
@Test void test(){ Controller controller = new Controller(); Assertions.assertThatThrownBy(()->controller.controller()) .isInstanceOf(RuntimeSQLException.class); } ***************** static class Service{ Repository repository = new Repository(); NetworkClient networkClient = new NetworkClient(); public void service() { repository.call(); networkClient.call(); } } 지금 서비스 로직에서 메서드 두개를 호출했는데 하나는 RuntimeConnectionException이 throw되고 다른 하나는 RuntimeSQLException이 throw가 되는데 테스트 코드가 성공할 수 있나요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
requestBodyJsonV1에 대한 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]requestBodyJsonV1에 대한 질문이 있습니다.@PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messageBody={}",messageBody); HelloData helloData = objectMapper.readValue(messageBody,HelloData.class); log.info("helloData={}",helloData); response.getWriter().write("ok"); }위는 예제 코드입니다. 아래와 같이 inputStream 을 바로 역직렬화 시키는 것이 효율적이라는 생각이 드는데 문자열로바꾸는 특별한 이유가 있을가요?? 단순 로그로 출력해보기 위함일까요?? 아니면 다른 이유가 있어서 일까요??@PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); HelloData helloData = objectMapper.readValue(inputStream,HelloData.class); log.info("helloData={}",helloData); response.getWriter().write("ok"); }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
java.io.EOFException: null 와 404 에러
======================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?(예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오[질문 내용]여기에 질문 내용을 남겨주세요.서블릿 강의 중에 API 메시지 바디 - JSON을 하면서다음과 같이 진행이 안됩니다. 코드는 강사님 코드와 동일하고, 포스트맨에서 POST로 확인 했는데 콘솔에Content-Type: application/jsonUser-Agent: PostmanRuntime/7.34.0Accept: /Postman-Token: 27fdcc4a-f020-49d5-88f6-0b047d72a545Host: localhost:8080Accept-Encoding: gzip, deflate, brConnection: keep-aliveContent-Length: 45{"username": "hello","age": 20}]이렇게 넘어오지만,(아마 application.properties에logging.level.org.apache.coyote.http11=debug설정에 의해서 저런식으로 콘솔에 찍히는 것 같은데 )System.out.println("messageBody = " + messageBody);System.out.println("helloData.username = " + helloData.getUsername());System.out.println("helloData.age = " + helloData.getAge());로는 콘솔에 안찎히는 것을 보니 RequestBodyJsonServlet 클래스로는 데이터가 넘어오지 못하는 것 같습니다.뭐가 문제일까요.. 커뮤니티에서 비슷한 404 관련,java.io.EOFException를 봐서 build.gradle도 리프레쉬 하고@ServletComponentScan 도 확인해봤는데 여전히 안되네요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의와 동일하게 index.html을 넣었는데, localhost:8080 에서 html을 못띄워요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. hello html 이 떠야 정상인거같은데,서버는 켜져있는거같은데, html을 못찾네요.spring boot version 은 2.7.17 로 했습니다. (java 11 적용하기위해 마지막 남은 2.x 여서)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
내용정리 화면은 어디서 볼수있나요?
화면에서 보여주시는 내용정리된 노트?는 어디서 볼수있나요?
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
el 표현식에서 forward(request, response)로 넘어온 값을 찾지 못합니다.
46_MVC03에 JSTL 적용하기를 듣고 만들어 보는 중에 forEach문 items="" 에서이런식으로 찾을 수 없는 변수라고 뜨네요.controller에서 포워드하고 JSTL 쓰기 전 까진<% %>이 안에서 request.getAttribute("members")로 잘 불러왔는데 어떤 점이 문제인지 모르겠습니다.ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
getName의 name이 null 로 나오는 이유
메인 화면에서 회원 등록을 하면 name의 값이 null로 되면서 회원 목록에 등록이 되지 않습니다.디버깅 모드를 해도 name = null이라는 결과만 확인할 수 있었고 어디서 틀렸는지를 알 수가 없었습니다.왜 입력한 값이 null로 넘어갔을까요?https://drive.google.com/file/d/1aBZCTKQmP1D1DU2osyB14phEpqfS9bpX/view?usp=sharing코드 첨부된 드라이브 링크입니다 ㅠㅠ
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
한글로 작성한 파일은 사진이 보이지 않습니다.
영어제목 파일은 잘 나오는데 한글로 제목 파일은 사진이 보이지 않습니다.WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.이런 오류도 나오구요.다운로드 받는건 문제 없이 작동 합니다.인터넷에 찾아보니 .jsp파일을 UTF-8로 설정 하라고 나오는데 그렇게 했는데도 안 나오네요.답을 찾아주시면 감사하겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
beforeEach에 객체를 생성하면....
service에서 private final MemberRepository memberRepository = new MemoryMemberRepository();위 코드를 보면 리포지토리 안에 store가 static으로 되어있으니 당장은 상관없으나 혹시 모르니 다른 객체를 사용하지 않도록 private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; }위와 같이 service에서 리포지토리를 주입 받는다라고 했는데요 근데 테스트케이스에서@BeforeEach public void beforeEach() { memberRepository = new MemoryMemberRepository(); service = new MemberService(memberRepository); }BeforeEach에 이런식으로 코드를 작성하면 리포지토리를 주입 받기는 했지만 결국 케이스별로 다른 리포지토리 인스턴스를 주입 받은거 아닌가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
sessionTest() 에러
세션생성 테스트쪽에서 뭔가 이상하네요강사님과 코드는 같은데 에러 쪽에서 null을 출력하네요 member 자체를 불러오면 DTO값 들이 호출이될탠데member랑 result랑 다른게 정상아닌가요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RestController 가 Id 를 인식한다는게 뭔지 잘 모르겠습니다.
[질문 내용]약 8분 10초 쯤에서 RestController 를 사용하지 않아 "ok"라는 문자열을 ID 로 인식 못한다고하셨는데 이때 ID 라는게 뭔가요? 그리고 또 ... ResponseBody 가 ResponseEntity 보다 우선순위인가요?? 강의 7분쯤에서 내용이 잘 이해가 안가서요..ResponseBody 가 HTTP 응답 값을 바로 HTML에 뿌려주기 때문에 Entity는 무시되는건가요..? 무시된다면 어떤 결과를 가지고 오는지가 궁금합니다.. -> 정정 : ResponseEntity 는 ResponseBody가 필요없다는 걸 알게 되었는데요. 이때 ResponseEntity에도 ResponseBody 가 적용되면, ResponseBody는 그냥 무시되고 ResponseEntity 동작 방식이 우선순위가 되어 작동하는건지 질문변경합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
404오류 servlet
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] servlet 들어가자마 다 404가 뜹니다..ㅜㅠ뭐가 문제일까여 유료버전 사용
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
오류가 떴는데 코드를 봐도 잘 모르겠네요..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이유를 잘 모르겠네요...
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
form 안에 form이 있을 경우 vo를 어떻게 사용해야 할까
<form th:action=@"{/board/create}" th:object="${board}"> <input type="text" th:field="*{name}"> <button type="button" th:onclick="boardSubmit">글작성</button> <form th:action=@"{/board/create2}" th:object="${notice}"> <input type="hidden" th:field="*{boardId}"> <input type="text" th:field="*{title}"> <button type="button" th:onclick="noticeSubmit">글작성</button>위에 적은 소스는 샘플로 간단하게 Vo 안에 하나의 필드들만 들어갔을 경우를 예로 작성한 내용입니다.현업에서 작업을 하다보면 글 작성 form 안에 여러개의 form 이 들어가야 하는 경우가 한번씩 발생이 됩니다. 이럴 경우에는 어떤식으로 구조를 잡아야 할지 궁금합니다.@Getter @Setter public class RequestBoard{ private String name; private RequestNotice Notice; @Getter @Setter private static class RequestNotice { private String notice } }위와같이 innerClass를 이용해서 작성을 했는데 잘 안됩니다. 구현하고자 하는 기능은.boardSubmit을 클릭했을 때는 board의 name값이 저장되고,noticeSubmit을 클릭했을때는 title이 저장이 되게 하고 싶습니다.javascript에서 값을 받아서 ajax로 넘겨서 저장을 할려고 하면 input 값들이 많이 있을 경우에는 해당 vo도 만들어야하고, script에서도 그 값들을 일일히 받아서 컨트롤러로 넘겨줘야 하는데.. 타임리프를 이용해서 할 수 있는 방법이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
전 강의에서 들었던 내용인데 기억이 안나네요
로그인 페이지에서 아이디 혹은 비밀번호가 오류면아이디,비밀번호를 입력하는 페이지를 다시연결해주는데ID값은 남아있고 비밀번호폼데이터는 없어지는걸 볼수있어요 전 강의에서 이 부분을 공부했었는데 어떻게 하는지 기억이 안나네요비밀번호도 유지할려면 어떻게 해야되나요 ?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
경로문제 재질문입니다.
https://www.inflearn.com/questions/1035575/%EA%B2%BD%EB%A1%9C%EB%AC%B8%EC%A0%9C-%EC%A0%9C%EA%B0%80%EC%9D%B4%ED%95%B4%ED%95%9C%EA%B2%8C-%EB%A7%9E%EB%8A%94%EC%A7%80-%EC%B6%94%EA%B0%80%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4에서 ai답변은 둘이 다르다고 나오고 서포터즈는 둘이 같다고 설명하셔서... 결국 만일@RequestMapping("/basic")이있고@GetMapping("text-basic")@GetMapping("/text-basic") 두개가있으면위는 /basic/text-basic에 매핑되는 거고아래는 /text-basic에 매핑되는게 맞나요?? 아니면 둘다 /basic/text-basic로 같은 건가요?? RequestMapping은 무조건 적용되는 건가요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
hikariConfig 설정부분에서 에러가 납니다.
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> 이부분에서 에러 내용이 Element 'bean' cannot contain text content. The content type is defined as element-only. 라고 나오는데 뭐가 문제일까요? pom.xml에서 <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.1</version></dependency>이렇게 설정했습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
V4 질문드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]등록할 땐 수량 9999 제한이 있고수정할 땐 없어야 하는데 등록할 때부터 가격123 수량12312312가 등록됩니다.가격 123123 수량 123123으로 설정하면 상품의 가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = -2,020,596,055 이런 식의 오류가 뜨구요.. 하라는대로 다 따라하고 pdf파일의 코드 복붙도 해보고 소스코드에 있는 프로젝트를 실행해봐도 결과는 다 똑같이 나오고있습니다 어느부분을 수정해야 정상작동되나요?