묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
JdbcTemplate update 사용시 반환값 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요. 수업에 배운 내용을 바탕으로 작은 메모 어플을 만들면서 질문이 있어 질문 남깁니다.@Repository public class JdbcMemoRepository implements MemoRepository{ private final JdbcTemplate template; public JdbcMemoRepository(DataSource dataSource) { this.template = new JdbcTemplate(dataSource); } @Override public Memo memoSave(Memo memo) { String sql = "insert into memo (memo, created, dTime) values (?, ?, ?)"; template.update(sql, memo.getMemo(), LocalDateTime.now(), memo.getDTime()); return memo; }이런식으로 코드를 짜서 memoSave의 반환값을 확인해 보면 반환값이 memo와 dTime 필드에만 있고, created와 id는 null값으로 반환이 됩니다. 이유는 클라이언트쪽에서 requestBody로 건내주는 필드가 memo와 dTime뿐이고, created는 서버에서 LocalDateTime.now()로, id는 mysql에서 auto increment로 생성하고 있어서 parameter로 받는 memo를 그대로 반환하면 id와 created가 null이 되는 것 같습니다. 이 문제를 해결 하기 위해서는 memoSave로 데이터베이스에 넣어준 후 바로 그 레코드 값을 데이터베이스에서 꺼내서 반환을 해야 할 것 같은데 방법을 모르겠어서 질문드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 상수와 그리고 홈로그인에서 질문이 있습니다.
쿠키를 이용한 방법, 직접만든 세션을 이용하는 방법, 서블릿 세션을 이용하는 방법 모두에서 사용자별로 고유의 세선id를 생성하였지만 그 생성된 값들을 찾기 위한 키는 상수로 정의하여 사용하셨습니다.// 쿠키만 이용하였을 떄 Cookie idCookie = new Cookie(“memberId”, loginMember.getId()+””);// 직접 만든 세션 Cookie MySessionCookie = new Cookie(SESSION_COOKIE_NAME, sessionId);// 서블릿 세션 Session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember)이렇게 하면 서버측에서는 같은 키로 서로 다른 값들을 저장하게 되는것 같은데 어떻게 구별해서 사용자 객체를 찾아내는 건가요?다른분들도 질문을 많이 하신것 같은데 찾아보아도 이해가 좀 어려워서 질문 드립니다. 그리고 홈컨트롤러에서 homeLogin의 모든 버전에서 쿠키, 세션을 이용해 찾았는데 회원데이터가 없으면 return “home”;을 하는데 회원이 로그인을 하여야 쿠키, 세션을 만들어주기 때문에 값이 존재하지 않을 수 없을것 같은데 해당 사항을 고려하신 이유가 있는건가요?쿠키, 세션을 이용해 값을 찾는순간부터
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
JSESSIONID 쿠키
JSESSIONID 쿠키가 로그아웃 이후에도 브라우저 남아잇던데 맞나요?직접 세션 만들기 파트였나 쿠키 파트였나, 여기서는 setMaxAge(0) 이런거로 바로 만료시켰던 것 같아서요.어차피 이 JSESSIONID 세션은 서버에서 없앴으니까 쿠키는 브라우저에 남아있어도 의미가 없는 거죠?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
API에 Bean Validation 적용 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요. API에 Bean Validation을 적용하는 단계에서 질문이 있습니다.검증 오류 요청 단계에서 오류가 발생한 경우 json이 정상적인 DTO를 json으로 만드는 것이 아닌 bindingResult에서 데이터를 꺼내 새로운 error라는 객체에 담아 json으로 보내는 형식으로 로직을 만들었습니다.이때 클라이언트측에서는 정상적인 상황에서는 item이라는 정상 객체가 json으로 반환되고 오류상황에는 error라고 하는 객체가 json으로 반환이 되게 되는데 두 경우 모두 response.status는 200으로 나오더라구요. 클라이언트 쪽에서 이 두 케이스를 분류하여 로직을 처리해야하는데 어떻게 구분하도록 해야하는지 모르겠어서 질문드립니다.오류 검증에서 오류가 나타났을때 서버에서 status를 400으로 보내도록 만들면 될까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
자바 버전 변경 후 서버 기동시 에러
https://drive.google.com/file/d/1DFSAROydq__CgrODCk-yzlCH8RCCpR_A/view?usp=sharing콘솔창에 한글깨짐 현상이 일어나https://www.inflearn.com/questions/1161232위의 글의 답변대로 설정했습니다.그 후 자바 버전을 Eclipse Terium version 17.0.9 에서corretto-17 Amazon Corretto version 17로 변경했습니다.그래도 해결되지 않아 제어판에서 국가또는지역-시스템 로캘변경에 들어가 utf-8 설정 후 윈도우 재부 팅 후ServletApplication 파일의 서버를 재기동하니 아래 사진과 같은 오류가 뜹니다.상단에 프로젝트 압축파일 첨부하였습니다.답변 부탁드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
질문있습니다
컨트롤러에서 데이터를 받을때Map<String, Object> param으로 받으려면에노테이션 @RequestParam으로 받은게 맞을까요? @RequestBody로 받으면 안되는거죠?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
없는 리소스 요청
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 궁금한 점이 생겨서 남겨봅니다.서블릿 예외 처리 - 필터 강의 기준으로없는 리소스 ex) localhost:8080/dsdswdsdsdsd요청을 해도 templates에 넣어둔404.html view가 보이는 이유는 WebServerCustomizer에서 customize()ErrorPage errorPage404 = new ErrorPage(HttpStatus.NOT_FOUND, "/error-page/404");맞을까요?flowwas -> 필터(try) -> 서블릿(디스패처 서블릿) -> 디스패처 서블릿에서 handler mapping 과정 해당 url에 맞는 컨트롤러(핸들러)가 없으니까 ->어뎁터 호출 x -> 디스패처 서블릿이 내부에서 sendError(404)예상 (response status code 404 지정)이유 - ErrorPageController log에 (ERROR_EXCEPTION_TYPE: null)-> 필터(finally) -> was -> 필터(try) -> 서블릿 -> 컨트롤러 -> view -> 필터(finally) -> was[질문 정리]1)404.html view가 보이는 이유: WebServerCustomizer2) flow3)디스패처 서블릿 handlerMapping 예외 처리중에 내부에서 sendError(404)?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
not found 에러
@Controller @RequestMapping("/message/items") @RequiredArgsConstructor public class MessageItemController { private final ItemRepository itemRepository; @GetMapping public String items(Model model) { System.out.println("MessageItemController.items"); List<Item> items = itemRepository.findAll(); model.addAttribute("items", items); return "message/items"; } @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); return "message/item"; } ... } http://localhost:8080/message/items get 요청을 보내면 not found에러가 발생하는데 이유를 찾을수가 없네요. resources static 경로에 있는 index.html은 잘 찾아옵니다.http://localhost:8080 을 입력하면 브라우저에 페이지가 잘 나와요.templates 경로도 올바르게 되어있는 것 같은데 이유를 모르겠습니다 2024-06-07T00:51:34.677+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : GET "/message/items", parameters={} 2024-06-07T00:51:34.724+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found 2024-06-07T00:51:34.735+09:00 DEBUG 20684 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource message/items.] 2024-06-07T00:51:34.736+09:00 DEBUG 20684 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUNDdebug 로그가 위와 같이 나옵니다.thymeleaf 의존성을 추가는 했는데 templates 경로에서 찾지 않는 것 같아서요. 맞나요?의존성 추가는 되어있습니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' }
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@SpringBootTest 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 테스트 작성시에 어떤 테스트는 클래스 위에 @SpringBootTest 를 넣으시고 어떤 테스트는 안 넣으시던데 어떨때 넣고 어떨때 안 넣는건지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:block을 안쓰는게 좋은 이유가 궁금합니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링 MVC 2편 타임리프-블록 강의에서 "이런 거(th:block)은 당연히 안쓰는게 좋"다고 하셨습니다.강의에는 그렇게 말씀하신 이유가 나오지 않아 궁금합니다. 제가 유추한 바로는, th:block은 파일 그대로 열었을 때와 타임리프로 열었을 때 동작이 달라서 내추럴 템플릿이라는 타임리프의 장점을 퇴색시키기 때문에 권장하지 않는다고 생각했습니다.제가 이해한 내용이 맞는지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링과 스프링부트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 듣다가 api 예외 처리도 스프링 부트가 제공하는 기본 오류 방식을 사용할 수 있다고 말씀하셨는데요그럼 그 전에 사용했던 서블릿 방식은 스프링의 방식인가요?스프링과 스프링 부트의 차이점이 정확히 무엇인가요.??지금 방식들이 스프링 방식과 스프링 부트 방식들이 같이 혼합되어서 설명하고 있는 건가요?갑자기 헷갈려서 질문드립니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션풀 궁금한게 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.강의 이미지중에 애플리케이션 서버 내에 애플리케이션 로직, db드라이버, 커넥션 풀이 모두 포함되어 있는 이미지가 있습니다. 근데 스프링과같은 프로젝트 내에 db 드라이버, 커넥션 풀이 포함되어있는게 아닌가요? was 내에 db 드라이버, 커넥션풀이 포함되어 있는게 아니라.. 결론으로 1개의 jar, war 파일 내에 db 드라이버, 커넥션풀이 포함되어 있다고 이해하면 될까요? .. 감사합니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
DB에서 조회된 다건의 데이터를 처리할 때
안녕하세요 강사님저 강의를 다회차 보면서 궁금한 점이 생겨서요.기존 코드 public async Task<GetUserResponseDTO> GetUser(GetUserDTO getUserDTO) { var configuration = new MapperConfiguration(cfg => { }); //Response..DTO 생성후 Controller로 전달 // Perform mapping Mapper mapper = new Mapper(configuration); Dictionary<string, object> dc=mapper.Map<GetUserDTO,Dictionary<string, object> >(getUserDTO); dc.Remove("Password"); ProcCall procCall= new ProcCall(); DataTable dt = await procCall.RequestProcedure("sp_login", dc); GetUserResponseDTO dto = new GetUserResponseDTO(); dto.Id = (int)dt.Rows[0]["id"]; dto.Userid = dt.Rows[0]["userid"].ToString(); dto.Username = dt.Rows[0]["Username"].ToString(); dto.Point = (int)dt.Rows[0]["Point"]; return dto; }로그인 서비스의 관련하여 dto의 담기는 오브젝트가 적고 단 건이라 이러한 방식으로 처리가 가능한 것 같습니다. 해당 부분의 활용하여 다건의 데이터를 처리하기는 어려울 것 같은데 어떤 방식이 있는지 확인 가능할까요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
jsp 파일 인식문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. build.gradleplugins { id 'java' id 'war' id 'org.springframework.boot' version '3.2.5' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' // jsp 추가 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:10.1.17' implementation 'javax.servlet:jstl' // jsp 추가 끝 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }현재 aaa.html과 new-form.jsp 파일이 같은 경로에 있는데 jsp 파일만 못찾겠다고 뜹니다..해결해 보려고 webConfig 파일 만들어서 설정도 해보고 properties파일에도 설정을 해보았는데 안되네요.. 무엇이 문제일까요?? WebConfig.java@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configureViewResolvers(ViewResolverRegistry registry) { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/static/jsp/members/"); resolver.setSuffix(".jsp"); registry.viewResolver(resolver); } }application.propertiesspring.mvc.view.prefix=/static/jsp/members/ spring.mvc.view.suffix=.jsp resources/static/jsp/members/new-fom.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/jsp/members/save.jsp" method="post"> username: <input type="text" name="username"> age: <input type="text" name="age"> <button type="submit">전송</button> </form> </body> </html>webapp폴더가 없이 resources폴더가 있는게 문제인걸까요? 김영한강사님 강읠르 보면 webapp/... 이런경로에 파일을 생성하시던데 저는 프로젝트를 생성하니 webapp폴더 없이 resources폴더만 있어서 그냥 사용하고 있는데..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
response.getWriter().write와 그냥 return ok
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. v1에서는 response.getWriter().write("ok");, v2에서는 return "ok";을 해주시는데 이유가 뭘까요?? @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("username={}, age={}", helloData.getUsername(), helloData.getAge()); response.getWriter().write("ok"); } @ResponseBody @PostMapping("/request-body-json-v2") public String requestBodyJsonV2(@RequestBody String messageBody) throws IOException { log.info("messagebody={}", messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); log.info("username={}, age={}", helloData.getUsername(), helloData.getAge()); return "ok"; }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceIntegrationTest질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MemberServiceIntegrationTest을 수행하다가 자꾸 한정자 관련 오류가 떠서 처음부터 다시 진행하였는데요, 이번에는 MemberServiceIntegrationTest에서import org.junit.jupiter.api.Test;import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.assertEquals;import static org.junit.jupiter.api.Assertions.assertThrows;의 import하는 부분에서 인식이 안됩니다..위와 같은 오류의 원인을 알고싶습니다 ㅜㅜ
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
cshtml.css, cshtml.cs 비하인드 코드 추가 방법
아래와 같이 css를 추가 했는데 적용이 되지 않습니다.asp.net core mvc로 했을 때 아래와 같이 추가를 하면 적용이 되는데 asp.net core 비어있음으로 생성 후 아래와 같이 추가를 하면 동작이 되지 않아요cshtml.css, cshtml.cs를 추가하고 싶으면 어떻게 해야 하나요? 관련 강의도 추가를 해주시면 감사하겠습니다.
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
h2 db 테이블 관련 스크립트 질문
강의에서 h2 db 테이블 관련 스크립트를 h2 콘솔에 복사해서 붙여넣으셔서 테이블을 생성하셨는데요.강의자료를 보면, sql/schema.sql 파일을 생성해서 스크립트를 넣으라고 되어있습니다.둘 중 전자를 이용하면 되는 건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트를 실행해보았는데요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 데이터베이스에 테스트한 spring이 올라가지 않습니다. 약 6분 58초 강의 내용인데 따로 테스트 앞에 transaction을 하지도 않았는데 되지 않네요 ㅜ. 빨간색 글자가 뜨긴했는데 이 경고 때문일까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
layout fragment 사용시 이름이 동일한 태그가 두개가 매개변수로 들어가면 어떻게 사용되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<!DOCTYPE html> <html th:replace="~{template/layoutExtend/layoutFile :: layout(~{::title}, ~{::section})}" xmlns:th="http://www.thymeleaf.org"> <head> <title>메인 페이지 타이틀</title> </head> <body> <section> <p>메인 페이지 컨텐츠1</p> <div>메인 페이지 포함 내용1</div> </section> <section> <p>메인 페이지 컨텐츠2</p> <div>메인 페이지 포함 내용2</div> </section> </body> </html>html 태그안에 layout fragment에 title과 section을 넣었는데 만약에 section태그가 두개면 어떻게 꺼내서 사용 되는건가요?<section> <p>메인 페이지 컨텐츠1</p> <div>메인 페이지 포함 내용1</div> </section> <section> <p>메인 페이지 컨텐츠2</p> <div>메인 페이지 포함 내용2</div> </section> <!DOCTYPE html> <html th:fragment="layout (title, content)" xmlns:th="http://www.thymeleaf.org"> <head> <title th:replace="${title}">레이아웃 타이틀</title> </head> <body> <h1>레이아웃 H1</h1> <div th:replace="${content}"> <p>레이아웃 컨텐츠</p> </div> <footer> 레이아웃 푸터 </footer> </body> </html>어떻게 꺼내서 사용을 하게 되는건지? 변수처럼 사용을 하면되는건가요? 만약에 section 두개중에 하나만 꺼내서 쓰고싶으면 어떻게 꺼내는지?