묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행 오류 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]사진과 같이 설정을 한 후에 실행을 파일을 열었는데 계속해서 파일들이 빨간줄로 표시가 됩니다.실행 중지 시 'Execution failed for task ':HelloSpringApplication.main()'.> Build cancelled while executing task ':HelloSpringApplication.main()''오류가 뜹니다 bulid.gradle 설정은plugins {id 'java'id 'org.springframework.boot' version '2.7.13'id 'io.spring.dependency-management' version '1.0.15.RELEASE'}group = 'hello'version = '0.0.1-SNAPSHOT'java {sourceCompatibility = '11'}repositories {mavenCentral()}dependencies {implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'implementation 'org.springframework.boot:spring-boot-starter-web'testImplementation 'org.springframework.boot:spring-boot-starter-test'}tasks.named('test') {useJUnitPlatform()}이렇습니다!
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
스프2탄 PPT파일은 없나요?
강의 설명해주시는거 PPT파일 확인하면서 보려고하는데 PPT파일은 없는거같아서요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
JapMemberRepository 클래스에서 메서드의 리턴값에 관한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Overridepublic Member save(Member member) {em.persist(member); return member;}여기에서 스펙을 맞추기 위해 return값을 넣어준다고 하셨는데요, 이게 무슨 의미인지 궁금합니다!혼자 코딩을 하게 될 경우 return값이 필요한지, 어떤 값으로 리턴해야 하는지 판단하려면 어떻게 해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
unsupported Post method [405 error]
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술섹션 5. 회원 웹 기능 -등록 을 수강하고 있습니다. 저는 VSCODE 로 IDE를 활용하고 있고, 코드서버를 쓰고 있습니다. 강의에서 배운 내용 그대로 코드를 쳤는데도 불구하고 위의 그림과 같이 Unsupported POST method 라고 뜹니다.혹시 몰라서 마지막에 IDE 화면도 첨부했습니다.package donghun.donghunspring.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import donghun.donghunspring.domain.Member; import donghun.donghunspring.service.MemberService; @Controller public class MemberController { //memberService new 객체를 만드는 게 아니고, 연결 시켜줘야 한다 : 생성자 이용. private final MemberService memberService; //스프링이 뜰 때 Controller 에 service와 repository 연결한다. annotation 붙여 (service, repository) //연결하려면 service 와 repository 를 스프링 빈에 등록해야 하므로 service, repository 각각에 @Service, @repository 등록. //또는 직접 자바코드 작성하여 Bean 등록할 수 있음. @Autowired public MemberController(MemberService memberService) { this.memberService = memberService; } @GetMapping("/members") public String membersForm(){ return "members/mF"; } @PostMapping("/members/new") public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } //post 방식으로 form 입력하므로 postmapping 이 선택된다. } ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ template : createMemberForm.html //두 개의 코드가 첨부가 안되므로 절취선 이용해 붙이겠습니다. <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <body> <div class="container"> <form action="/members/new" method="post"> <div class="form-group"> <label for="name">이름</label> <input type="text" id="name" name="name" placeholder="이름을 입력하세요"> </div> <button type="submit">등록</button> </form> </div> <!-- /container --> </body> </html>
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
clearStore() 메서드의 작성 위치 의문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]MemoryMemberRepository 클래스에서public void clearStore() 메서드를 추가해서 테스트 실행 시 사용하는데,Repository클래스의 목적에 맞지 않게 테스트에서만 사용하기 위한 clearStore() 메서드를 Repository클래스에 정의하여 적어 주는 게 일반적이고 흔히 쓰는 방식인가요 ?테스트 케이스에서 따로 save된 정보를 삭제하는 방식으로 하는 게 더 올바른 방식은 없고 그 방식을 안하는 이유가 있을까요 ? 궁금해서 질문드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링 인터셉터가 똑바로 동작하지 않아 질문드립니다.
안녕하세요, 이 강의를 수강한 프로젝트를 진행 중인 학부생입니다.코드를 구성하던 중 이해가 가지 않는 현상이 발생하여 질문드립니다. LoginInterceptor.javapackage Alchole_free.Cockpybara.interceptor; import Alchole_free.Cockpybara.constant.SessionLoginConst; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Slf4j //@Component public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); log.info("session = {}", session); if (session == null || session.getAttribute(SessionLoginConst.LOGIN_MEMBER) == null) { log.info("로그인되지 않은 사용자"); response.sendRedirect("/login"); return false; } log.info("정상 요청"); return true; } } WebConfig.javapackage Alchole_free.Cockpybara.config; import Alchole_free.Cockpybara.interceptor.LoginInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //@Slf4j @Configuration //@RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { // private final LoginInterceptor loginInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()) .order(1) .addPathPatterns("/**") .excludePathPatterns("/", "/join", "/login", "/css/**", "/*.ico", "/error"); } } 위와 같이 코드를 구성하고 어플리케이션을 실행시켜도 인터셉터가 똑바로 등록되지않더군요. 디버깅을 해봤는데 아예 Configuration 자체가 적용이 안되는 것 같습니다.어떤 문제인지 도무지 파악할 수 없어 질문드립니다. 혹시 몰라 설정 파일들도 올립니다. build.gradleplugins { id 'java' id 'org.springframework.boot' version '2.7.13' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'Alchole_free' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' compileOnly 'org.projectlombok:lombok' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //swagger 설정 implementation group:'io.springfox', name:'springfox-swagger2', version:'2.8.0' implementation group:'io.springfox', name:'springfox-swagger-ui', version:'2.8.0' } tasks.named('test') { useJUnitPlatform() } application.properties# ?????? ?? ?? spring.datasource.url=jdbc:mariadb://localhost:3306/cockpybara spring.datasource.username=root spring.datasource.password=cockpybara spring.datasource.driver-class-name=org.mariadb.jdbc.Driver # JPA ?? spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.format_sql=true //JPA ???? Hibernate? ????? ???? SQL? formating?? ?? spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect #show parameter binding logging.level.org.hibernate.type.descriptor.sql=DEBUG logging.level.org.hibernate.SQL=DEBUG
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:for 사용 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다음 내용에서 th:each로 반복문을 사용하고 있는데 th:for 반복문을 다시 사용하는 이유는 뭔가요? <!-- multi checkbox --> <div> <div>등록 지역</div> <div th:each="region : ${regions}" class="form-check form-check-inline"> <input type="checkbox" th:field="*{regions}" th:value="${region.key}" class="form-check-input"> <label th:for="${#ids.prev('regions')}" th:text="${region.value}" class="form-check-label">서울</label> </div> </div>
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberController 러닝 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]4분 쯤에 강사님께서 @Autowired 설명하셨을 때 생성자의 파라미터인 memberService에 빨간 밑줄 에러표시가 떴는데 저는 그게 뜨지도 않았고, HelloSpringApplication을 실행하면 강사님과는 다르게 붉은 글씨들이 뜨네요.. 뭐가 잘못된 건지 모르겠습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원서비스테스트강의중 회원가입 테스트에 대한 궁금증이 생겨서 질문드립니다.
회원가입 테스트를 진행할때 밑에 검증하는 부분에서 궁금증이 생겼습니다. 강의상에서는 제가 작성한 부분에서는 findOneMember라는 회원의 이름을 이용하여 검증을 하고 있는걸로 알고 있습니다. 하지만 제가 추가로 작성한 마지막 줄에 있는 검증 코드처럼 findOneMember라는 회원의 이름으로 접근하지 않고 when부분에서 도출한 joinId와 given부분에서 생성한 기대하는 회원의 id를 이용하여 검증을 하면 혹시 안되는지 여쭈어보고 싶습니다. 추가로 이렇게 검증을 할 때 어떤 것을 검증하냐는 개발자의 마음인지도 궁금합니다. 감사합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ExceptionHandler와 BasicErrorController에 대한 궁금증
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? [질문 내용]안녕하세요. 강의를 듣던 도중 궁금한 점이 생겨 질문을 남겨 봅니다.API 예외를 처리할 때는 ExceptionHandler를 사용하여 처리하고,HTML 화면을 제공할 때 예외 처리는 BasicErrorController를 사용하는게 편하다고 강의에서 말씀해주셨는데요@Controller @Slf4j public class TestErrorController { @ExceptionHandler(IllegalArgumentException.class) @ResponseBody public ErrorResult IllegalArgumentException(IllegalArgumentException e) { log.info("IllegalArgumentException ", e); return new ErrorResult("BAD Argument", e.getMessage()); } @GetMapping("/test/error/{id}") public String testException(@PathVariable String id) { if (id.equals("bad")) { throw new IllegalArgumentException("bad argument"); } return "home"; } @GetMapping("/test/error2/{id}") @ResponseBody public String testException2(@PathVariable String id) { if (id.equals("bad")) { throw new IllegalArgumentException("bad argument"); } return "OK"; } }위와 같이 RestController가 아닌 Controller에서View를 반환해주는 메서드가 있고, HTTP 메시지바디에 문자열을 반환해주는 메서드가 있는 상태에서API 예외를 처리하는 @ExceptionHandler를 작성 하였고 테스트를 위해/test/error/bad, /test/error2/bad를 호출해보면 둘 다 @ExceptionHandler가 예외를 처리하여 JSON 문자열이 반환되어 지더라구요..여기서 궁금점이 생기게 되었는데요위와 같이 하나의 컨트롤러에서 View를 반환해주었을 때 IllegalArgumentException이 발생했다면 BasicErrorController처럼 오류페이지를 반환하고,API 의 경우 IllegalArgumentException이 발생하면 @ExceptionHandler에서 처리를 할 수 있는 방법은 없는 걸까요??만약 위의 질문에 대한 답이 없다 라고 한다면 실무에서 개발 설계를 할 때, API 컨트롤러와 View를 반환해주는 컨트롤러를 분리하여 설계를 하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 파서 주석 궁금증
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]보면 <!--/* ... /--> 이 있고, <!--/*--> ... <!--*/--> 이 있는데, 본문에서는 그냥 한줄표현, 여러줄 표현이라고 하셨는데, 제가 해보니까 그런 차이는 아닌것 같더라구요.<!--/* ... */--> : 아예 소스 상 주석처리 상태. 그래서 절대경로로 열어도 뷰에는 안나옴<!--/*--> ... <!--*/--> : 소스상으론 주석처리 안된상태. 그래서 절대경로로 열면 뷰에 보임이렇게 해석했는데 맞는 내용일까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 필터질문
로그인 필터 로직에서 if(session == null || session.getAttributes~~뒤에 조건은 왜 필요한가요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Post 전송 방식의 쿼리 파라미터
안녕하세요 ! 로그인 관련 학습 도중에 @PostMapping("/login") public String loginV4(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, @RequestParam(defaultValue = "/") String redirectURL, HttpServletRequest request) { ..생략.. } 로그인 form의 로그인 버튼을 누르면 폼의 데이터 + redirectURL 을 쿼리 파라미터 받아서 이용하는 부분에서 제가 loginForm.html 파일에 오타를 내어 <form action="/login" th:action th:object="${loginForm}" method="post">이라고 작성하여야 할것을 <form th:action ="@{/login}" th:object="${loginForm}" method="post">이라고 작성을 하였는데 , 폼의 데이터는 전송되는데 쿼리파라미터 (redirectURL)부분만 전송이 안되더라구요 .action="/login" th:actionth:action ="@{/login}"이 두개의 코드는 어떤 차이가 있는건가요 ?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@PathVariable 과 @RequestParam 차이
공부하던중 @PathVariable 과 @RequestParam 차이에 대해 궁금해서 질문드립니다. 요청파라미터를 받는거는 둘이 같고 코드도 비슷하게 쓰는것 같은데 각각 어떤 경우에 쓰는건가요?? 둘의 차이점이 정확히 뭔지 헷갈립니다 ㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 질문있습니다~!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요!강의 듣다가 궁금한 점이 생겨서요!섹션6 스프링 DB 접근 기술 - 스프링 통합테스트 후반부를 듣다가 생긴 궁금증입니다~! MemberServiceTest 와 MemberServiceIntegrationTest 설명을 해주시면서 자바 코드로만 돌아갈 수 있는 순수한 단위 테스트가 좋을 확률이 높다고 하셨는데요자바 코드로만 돌아가는 MemberServiceTest는 실제 DB를 연결하지 않았잖아요그럼 보통 실무에서도 순수한 단위 테스트는 이렇게 MemoryMemberRepository의 형식으로 만들어서 단위 테스트를 진행 하는 건가요? MemberServiceTest와 MemberServiceIntegrationTest의 차이점은 DB를 연결하고/안하고의 차이, 그로인해 스프링컨테이너 연결 유무의 차이.. 맞죠..?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
갑자기 화면이 아예안뜨네요 (페이지가 작동하지 않습니다.)
실행을 시켰을때 계속 이렇게 뜨는데 이유가 뭘까요 ㅠㅠ 서버는 돌리고있는데.. 10:33:51 AM: Executing ':ServletApplication.main()'...> Task :compileJava UP-TO-DATE> Task :processResources UP-TO-DATE> Task :classes UP-TO-DATE> Task :ServletApplication.main() . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.13)2023-07-21 10:33:53.131 INFO 96921 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 11.0.18 on gim-yeonsuui-MacBookAir.local with PID 96921 (/Users/kimyunsoo/Downloads/servlet 5/build/classes/java/main started by kimyunsoo in /Users/kimyunsoo/Downloads/servlet 5)2023-07-21 10:33:53.133 INFO 96921 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2023-07-21 10:33:53.590 INFO 96921 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2023-07-21 10:33:53.596 INFO 96921 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2023-07-21 10:33:53.596 INFO 96921 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.76]2023-07-21 10:33:53.719 INFO 96921 --- [ main] org.apache.jasper.servlet.TldScanner : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.2023-07-21 10:33:53.724 INFO 96921 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2023-07-21 10:33:53.724 INFO 96921 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 565 ms2023-07-21 10:33:53.849 INFO 96921 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html]2023-07-21 10:33:53.908 INFO 96921 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''2023-07-21 10:33:53.913 INFO 96921 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.248 seconds (JVM running for 1.505)2023-07-21 10:34:03.715 DEBUG 96921 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]2023-07-21 10:34:03.716 DEBUG 96921 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET / HTTP/1.1Host: localhost:8080Connection: keep-aliveCache-Control: max-age=0sec-ch-ua: "Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "macOS"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7Sec-Fetch-Site: noneSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentAccept-Encoding: gzip, deflate, brAccept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7Cookie: JSESSIONID=8E2F5508F193C4F51F10990F1DABC272If-Modified-Since: Tue, 18 Jul 2023 06:54:31 GMT]2023-07-21 10:34:03.756 DEBUG 96921 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [811]2023-07-21 10:34:03.756 DEBUG 96921 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received []202
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
개인적으로 repository save 구현 후 데이터가 생성되지 않습니다.
타임리프와 MVC 컨트롤러 저장 기능만 간단하게 만들어서 테스트를 해보았는데 저장 기능이 동작하지 않는 부분에 대해서 질문합니다.간단하게 만든 유저 클래스 정보는 아래와 같습니다.아래 사진은 리포지토리 저장 기능만 구현해둔 상태입니다. 아래는 컨트롤러 내용입니다.아래는 타임리프로 간단하게 만든 입력창 입니다.실제로 localhost를 띄우면 정상적으로 나옵니다.그러나 이름과 나이를 입력 후 제출을 누르면 데이터가 생겨나지 않습니다.확인을 위해 리포지토리 Save 메서드에 로그로 저장 성공 시에 로그 출력을 걸어두었는데 아무것도 뜨지 않으며 터미널창에 반응조차 없습니다. 이 부분에 대해서 배웠던 코드랑 비교해도 차이점을 잘 모르겠습니다.강의 들을 때는 정상적으로 동작했었으나 제가 개인적으로 위와 같이 따로 만든 경우에는 반응이 없습니다. 왜 이런 현상이 일어나는지 혹시 알 수 있을까요? 계속해서 고민해보고 생각해보았는데 도무지 모르겠어서 질문 올립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MappingJackson2HttpMessageConverter가 JsonConverter인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MappingJackson2HttpMessageConverter가 JsonConverter인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest의 join()에 대해서 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. MemberServiceTest의 join() 부분을 시청하던 도중 의문점이 생겨 질문드립니다. 현재 저희는 MemberService의 클래스가 잘 만들어졌는지 테스트를 하는 과정에서 join, findMembers, findOne을 테스트합니다. 이런 과정에서 join을 테스트할 때, 아직 검증하지 않은 findOne을 통해서 join을 테스트하는 것이 옳은 방법인지 궁금합니다.기존에 아직 검증되지 않은 메서드를 사용해도 무방한 것일까요?? 만일 findOne이 잘 정의되어있지 않다면 아무리 잘 정의된 join도 Test에서 오류를 일으킬 것 같아서 질문드립니다.
-
해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
고객정보 실행에서 화면 안나옵니다..
와 어김없이 오류가...고민고미하다 오려봅니다.https://drive.google.com/drive/folders/1fI2ZNj1l2IrpzKHGAh2xNhPuPDsmZ3Mq