묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Autowired 와 MessageSource
[질문 내용]MessageSource 를 스프링 빈으로 등록하지 않고, 스프링 부트와 관련된 별도의 설정을 하지 않으면 messages 라는 이름으로 기본 등록된다고 전 강의에서 배웠습니다. 지금 application.properties에는 messages 라는 이름으로 기본 등록됐으니 MessageSource를 스프링 빈으로 등록하지 않았을텐데 어떻게 @Autowired로 주입된건지 궁금합니다..!!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 흐름 질문입니다
다른분 질문 답변에서 WAS는 Web Server + Web Container(Sevlet Container)라는 것을 알았습니다.여기서 WAS안에 WAS + 서블릿 컨테이너가 있는데1) WAS 안에 Web Server + Web Container(Sevlet Container)라고 생각하면 될까요?2) 그럼 request, response 객체는 웹 서버 부분에서 생성된다고 이해하면 될까요??3) 웹서버부분에서 request,response 객체를 파라미터로 helloServlst(서블릿 객체)에 넘기는 것은 웹서버가 애플리케이션 로직같은 동적인 처리가 필요하니까 서블릿 컨테이너(WAS)에 요청을 위임한 것이다 라고 이해하면 될까요?? 답변주시면 정말 감사하겠습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
처음부터 모르겠어요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]cmd에 아무리쳐도 다 안되는데 어떻게하나요..?강의영상 시작부터 막히네요..강사님이 cd study라고 치시는데 이거 의미도모르겟구..
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
view환경설정 부분에서 th:text 부분이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]p태그에 th:text가 없다면 안녕하세요.손님이게 뜨는거잖아요?인텔리제이안에서 크롬으로 튼 화면이거든요.그러면 p태그안에 쓴 안녕하세요.손님이 나와요근데 강사님처럼 직접 localhost:8080/hello 에 들어가면안녕하세요 hello가 나와요컨트롤러에서 model.attribute에 name,value 넣어서 그런건 알고있는데 <p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p><p>안녕하세요. 손님</p>저 html 보이는게 두개가왜 다른지도 궁금하고언제 th:text를 쓰고 p태그를 쓰는지가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
setId getId 에러
복붙하고 수정했는데 setId 그리고 getId에서 에러가 납니다. 도와주세요 ㅜㅜ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThrow()오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. assertThrow()부분에서 오류나는데 인터넷 보고 해봐도 해결이 안되네요assertThrows()함수와 try catch 부분에서 fail 이 오류가 납니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
implement methods를 하면 강의처럼 네 개가 아닌 세 개밖에 안나와요
findByName이 안 나오는 것 같아요.. 어떻게 다시 고치면 될까요..?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error Page 오류 해결 방법 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.질문 내용을 다 읽어 본 뒤에 질문 드립니다.h2연결이 안되어서 회원목록이 h2와 연결이 전혀 안 됩니다. 구글 드라이브에 업로드해서 질문드립니다 .ㅠㅠ https://drive.google.com/file/d/1VXf9yrQWtOnXcDB2imbcf0QRGPIp7OGH/view?usp=sharing
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 시 에러 발생
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]동일한 에러 메세지 질문이 없어서 남깁니다!버전만 다르고 강의와 동일하게 진행했는데아래와 같은 에러가 발생합니다.External Libraries를 보면 4개밖에 없는데, 라이브러리를 가져오지 못해서 발생한 문제일까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
404..오류... new-form.jsp,, save-result.jsp등등..
안녕하세요..jsp까지 잘 되다가, mvc에서 계속 404가 떠서 질문 드립니다..영한님 코드 복붙까지 해봤는데도 안돼서요..폴더구조, 파일명 모두 대조해봤는데 문제가 없음을 확인했습니다."mvc패턴 적용" 강의 코드가 적용이 되지 않습니다..대체..뭐가 문제일까요? MvcMemberFormServlet.class new-form.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!-- 주의 상대경로 사용, [현재 URL이 속한 계층 경로 + /save] ex ) servlet-mvc/members/save --> <form action="save" method="post"> username: <input type="text" name="username" /> age: <input type="text" name="age" /> <button type="submit">전송</button> </form> </body> </html> 404 ServletApplication.classbuild.gradleplugins { id 'java' id 'war' id 'org.springframework.boot' version '3.0.3' id 'io.spring.dependency-management' version '1.1.0' } group = 'hello' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상 implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // 스프링부트 3.0 이상 implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상 } tasks.named('test') { useJUnitPlatform() } 답변주시면 감사하겠습니다..
-
미해결[React 1부] 만들고 비교하며 학습하는 React
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
강사님 트름하시는거 너무 웃기네요 ㅋㅋㅋㅋ지루하던참에 덕분에 웃었습니다 감사합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
controller가 없어도 되는건 spring이기 때문인가요?
spring에서 알아서 찾아가주기 때문에 controller가 없어더라도 주소를 찾아가는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 터미널에서 빌드하는방법
찾아보니까 .\gradlew build로슬래시가 아니라 역슬래시던데 차이가 있나요?그리고 libs 폴더안의 파일이 hello-spring-0.0.1-SNAPSHOT.jar 와 hello-spring-0.0.1-SNAPSHOT-plain.jar 두 파일이 있는데 차이점이 뭔가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
컨트롤러 질문드립니다.
addItemV6컨트롤러 내용중에,redirectAttributes.addAttribute("itemId",savedItem.getId());redirectAttributes.addAttribute("status",true);return "redirect:/basic/items/{itemId}; 이렇게 해주면, 리다이렉트된 URL로 HTTP GET메서드를 호출하는것이기 때문에, @GetMapping("/{itemId}") 컨트롤러가 동작해서 그에 맞는 뷰 템플릿을 호출해줌으로써 상품상세 화면이 노출되는것 같은데요. 여기서 질문드리자면,"redirect:/basic/items/{itemId}“이지만, 실제 리다이렉트된 URL은 /basic/items/3?status=true 이런식으로 쿼리파라미터형식도 같이 붙게되서 GET /basic/items/3?status=true으로 요청을 보내게되는데, 어떻게 @GetMapping("/{itemId}") 컨트롤러가 동작하는것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
type.name()이 아니라 그냥 type으로
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<div>상품 종류1</div> <div th:each="type : ${itemTypes}" class="form-check form-check-inline"> <input type="radio" th:field="${item.itemType}" th:value="${type.name()}" class="form-check-input" disabled> <div>상품 종류2</div> <div th:each="type : ${itemTypes}" class="form-check form-check-inline"> <input type="radio" th:field="${item.itemType}" th:value="${type}" class="form-check-input" disabled> 위에서 field에 있는 값과 value 값을 비교해서 같을 시에 checked가 추가된다고 말씀하셨습니다. 영한님께서 수업 때 하신 방식인 상품 종류 1처럼 하게 되면 String 값과 enum을 비교하는 거니까 상품 종류 2처럼 enum과 enum을 비교하는 게 맞지 않나 생각이 들어서 질문 드립니다! 제가 상품 종류 2로 코드를 바꿔서 해도 정상적으로 동작했습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단축키 질문
5분 54초 단축키 커넥션 앞에 자동으로 생성해주는 단축키 질문 윈도우입니다. 쉬프트 와 V 사이의 글자가 뭘까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
용어 사용
강의 중에 계속 '스프링이 뜰 때' 라는 표현을 하시는데 정확히 무슨 의미인가요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
_open 을 판별하는 매서드나 클래스 정보를 알려주실수 있나요?
request에서 담긴 내용을 Cotroller에게 넘겨주기전에DispatchServlet에서 구분하고 값을 변경해서 넣어주는데관련된 매서드나 클래스를 알수 있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
API가 어떤 맥락으로 쓰였는지 잘 모르겠습니다..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영한님께서 http의 body에 직접 데이터를 넣는 것을 API 방식이라 하셨는데 이 부분이 잘 이해가 되지 않습니다.😢우선 저는 API를 모르는 상태이기 때문에 API에 대해 찾아봤습니다. 그랬더니 아래와 같은 내용이 나왔습니다.운영체제와 응용 프로그램 사이의 통신에 사용되는 언어나 메시지 형식 구현방식을 알지 못하는 서비스와 통신할 수 있게 해줌 (like 가게 직원) 웹기반 데이터 반환 시스템그런데 API에 대해 이해하고 나니 더더욱 왜 json을 body에 직접 넣는 방식을 API 방식이라 하셨는지 이해가 되지 않았습니다....어떤 의미에세 'API 방식'이라 하셨는지 알려주시면 감사하겠습니다.
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
DB 연동 부분에서 에러가 발생합니다.
에러 코드 중 일부입니다. This application has no explicit mapping for /error, so you are seeing this as a fallback.Sun Mar 05 16:31:35 KST 2023There was an unexpected error (type=Internal Server Error, status=500).nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: nullorg.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null ### The error may exist in file [build\resources\main\sqlmapper\v1\CoffeeMenu.xml] ### The error may involve com.boot.sailing.v1.dao.MenuDao.doList ### The error occurred while executing a query ### Cause: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: null CoffeeMenu.xml<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.boot.sailing.v1.dao.MenuDao"> <!-- 메뉴 조회 --> <select id="doList" resultType="map"> SELECT no, coffee, kind, price, DATE_FORMAT(reg_day,'%Y.%m.%d') AS reg_day, DATE_FORMAT(mod_day,'%Y.%m.%d') AS mod_day FROM coffee_menu; </select> </mapper>MenuDao.javapackage com.boot.sailing.v1.dao; import org.apache.ibatis.annotations.Mapper; import java.util.List; import java.util.Map; @Mapper public interface MenuDao { List<Map<String, Object>> doList(); }MenuSvc.javapackage com.boot.sailing.v1.service; import com.boot.sailing.v1.dao.MenuDao; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Log4j2 public class MenuSvc { @Autowired MenuDao menuDao; public List<Map<String, Object>> doList(){ // Data 만들기 , List , Map List<Map<String, Object>> list = menuDao.doList(); log.info(list); return list; } public MenuSvc() { log.info("============== MenuSvc , 생성자 ====================="); } }DB도 강사님이랑 똑같이 설정했는데 왜 에러가 발생하는지 모르겠습니다