묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
members.jsp 가 white error 뜹니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]jsp 를 사용하여 회원 가입까지는 했는데, 회원 목록 조회가 안 됩니다. 강의 내용 따라서 작성해보았는데 안 돼서 자료에 있는 코드도 복붙했는데 안 되네요ㅜㅜ순서대로 에러 페이지, members.jsp , 폴더 구조입니다.아래는 제 프젝 올려놓은 링크입니다.https://drive.google.com/file/d/1CusOmnzhU0t4lSSS2OhY4Cn1fn2uAqQF/view?usp=sharing
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
프론트 코드 부탁드립니다!
안녕하세요 강의 잘듣고있습니다! 프론트 코드도 확인해보면서 공부하고싶어서 프론트 코드 부탁드립니다. backendgoat0915@gmail.com 이 이메일로 보내주시면 감사드리겠습니다. 감사합니다!
-
해결됨서버개발자 과제전형 완벽가이드 - 1편
author 배열이 비어서 오는 경우가 있으니 참고하세요.
검색어를 http로 했더니 위와 같이 author 배열이 비어 있는 경우가 있어서 author 의 index 0 으로 값을 꺼내는 경우 IndexOutOfBoundsException 발생하므로 적절한 처리가 필요하니 참고 바랍니다.
-
미해결스프링 핵심 원리 - 기본편
MyLogger 의존 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요.LogDemoController 에서 Logger를 의존하지 않고 logDemo메소드에서 MyLogger logger = new Logger() 로생성하는건 좋지 않은 방식인가요???
-
미해결3. 웹개발 코스 [Enterprise Architecture(EA) X 전자정부프레임워크]
7강 질문드립니다
BEGIN UPDATE tbl_user SET userpw = in_userpw WHERE userid = in_userid; SET out_state = 0; SELECT userid, userpw, out_state FROM tbl_user WHERE userid = in_userid;END이렇게 작성했을 때는 out_state가 잘 반환이 되는데 UPDATE tbl_user SET userpw = in_userpw WHERE userid = in_userid; SELECT userid, userpw FROM tbl_user WHERE userid = in_userid; SET out_state = 0;이렇게 작성했을 땐 mapper에서 설정도 out으로 해놨는데도 반환이 안되고 자꾸 null값이 나오는 걸까요??
-
미해결스프링 부트 - 핵심 원리와 활용
Tomcat EE
[TOMCAT EE는 뭔가요?]질문 내용 그대로 입니다!
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
다음강의는뭐에요?
동시성준비중이신다음강의는뭐에요?
-
미해결Practical Testing: 실용적인 테스트 가이드
spring security @AuthenticationPrincipal rest docs 질문
안녕하세요 강사님강의를 굉장히 잘 들었던 수강생입니다. 다름이 아니라 최근 spring security 를 도입하고 난 뒤에 rest docs 에 대해 문제가 생겨 질문하게 되었습니다.'회원 정보 조회' 라는 API 가 있고, 이 API 는 로그인을 한 뒤에 securityContextholder 에 담겨져 있는 객체를 사용하고자 파라미터로 @AuthenticationPrincipal 이라는 어노테이션을 이용하여 받고 있습니다.그러나...restdocs 를 이용하여 해당 API 를 문서화 시키려고 할때 객체가 null 이 들어가서 테스트가 실패를 하게 되더라구요.docs 가 아닌 일반 controller test 에서는 @SpringBootTest 를 사용하여 @WithUserDetails 를 통해 테스트를 통과했습니다.그러나 @SpringBootTest 를 따로 사용하고 있지 않은 상황에서 어떻게 해결할 수 있을지 고민입니다 ㅠㅠ감사합니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
lombok api 등록 후
lombok을 임포트시키고 나서 아웃라인에 변화가 일어나지 않습니다.이런 경고메시지도 떴는데 뭐가 잘못된 걸까요..?
-
미해결스프링 핵심 원리 - 기본편
스프링 준비물
안녕하세요! 코린이에요 영한 선생님 자바 강의 고급까지 다듣고 스프링을 수강하려하는데 자바강의만 듣고 스프링으로 넘어가도 괜찮은가요? 그리고 항상 질좋은 강의 감사합니다!!
-
해결됨서버개발자 과제전형 완벽가이드 - 1편
커밋 끊으면서 해주시는거 너무 좋네요.
강의를 커밋으로 끊으면서 만드신거 너무 좋습니다. 강의도 길어지지도 않고 깃 사용법도 좀 더 배울 수 있구요. 단지 커밋 메시지랑 브랜치명이 조금씩 안 맞는 부분은 있습니다. 😄
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문이 많은데.. th:object 마지막 질문입니다..
th:object=${item}th:field=*{itemName}이런식으로 사용하고, 만약 폼에서 itemName으로 test를 입력했다면item.setItemName(test) 이렇게 세팅되고 이 item객체가 Controller에 넘어가는 줄 알았는데이렇게 동작하는게 아니라일반적인 폼 데이터 전송처럼 쿼리 파라미터 형식으로 입력 데이터가 전달 되지만th:object, th:field를 사용하면 객체의 필드 이름들과 폼 데이터 전송 시 쿼리 파라미터의 이름을 쉽게 맞출 수 있기 때문에 사용한다고 생각했는데맞을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 코드를 위한 @Builder, 생성자
안녕하세요api 에서 request 를 받는 경우 getter 만 열어두고 사용하는 경우가 있는데요,이런 경우엔 request dto에 테스트 코드를 위한 생성자나 builder를 추가해주는게 맞을까요?테스트 코드를 짜기 위해 실제 코드를 수정하는 부분이 찝찝해 질문드립니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:object
폼 페이지에서<form th:object=${item} > <input th:field=*{itemName} >이런식으로 th:object, th:field를 사용하면item객체에 입력한 itemName이 세팅돼서 item 객체가 다시 컨트롤러로 전달되는 줄 알았는데그냥 일반 폼 데이터를 입력받을 때 처럼 쿼리 파라미터가 전달되는 것을 확인했습니다.굳이 th:object를 써서 객체를 전달받을 필요가 있나요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:object 질문 있습니다.
th:object를 사용하지 않으면 addForm.html에서 폼에 입력한 데이터들은 쿼리 파라미터형식으로 /form/items/add 로 날아가서 아래 컨트롤러가 @ModelAttribute로 폼 데이터를 item에 바인딩 한다고 이해하고 있습니다.@PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes) { Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/form/items/{itemId}"; } th:object, th:field를 사용하는 경우에는th:object로 빈 item객체를 받고, th:field를 사용하면 이 item 객체의 필드들이 입력 받은 값으로 세팅되고 위의 컨트롤러에 해당 item객체가 전달되는 건가요?? 또 추가적으로th:object, th:field를 사용해서 item 객체에 입력받은 값을 바인딩 해주는건 누가 하는건가요? 컨트롤러에서는 ArgumentResolver와 ReturnValueHandler가 매개 변수와 반환 값을 바인딩 해준다고 배웠는데 타임리프에서 바인딩은 누가 해주는지 모르겠네요..
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
Samesite를 더 공부 해보고 싶습니다.
안녕하세요. 선생님시큐리티 강의를 재밌게 듣고있는 한 학생으로서 명품강의를 만들어주셔서 감사드립니다. 강의를 들으면서 SameOrigin과 쿠키(SameSite)의 차이를 구별할 수 있게 됐고 더 나아가 Samesite간의 SingleSignOn(sso)이라는 기술도 관심을 갖게 됐습니다. sso관련하여 추천하실만한 도서나 기술블로그가 있으신지 궁금합니다~!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 오픈 시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 설명해주시는대로 따라서 받았는데 이렇게 받으니까build.gradle이 없어서 그냥 프로젝트 오픈했거든요??이렇게 해도 되는건가요 ㅠㅠ?? 프로젝트 오픈해도 gradle같은건 없는데 ㅠㅠ
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
로그인
로그인의 경우 앞선강의에서 /login 엔드포인트로 post요청을 보낼텐데, 지금 예제를 보면 모든 엔드포인트에 대하여 HttpMethod.POST는 ROLE_WRITE권한을 가져야한다라고 명시되어져 있습니다.MANAGER권한을 갖은 UserDetails 계정으로 로그인을하면 post요청을 보내니 로그인이 실패되지 않을까 고민이 되었는데, 성공하는 것을 강의에서 확인하였습니다. 이것이 왜 가능한 것인지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 updateUser request id값이 안들어옵니다.
private final UserServiceV2 userService;jpa로 설정한 이후 putMapping에서 id값이 0으로만 들어옵니다.코드는 json원시값보고싶어서 httpRequest 로 테스트한 상황입니다.(로그는 Raw JSON Body: {"id":0,"name":"333"}) db 데이터, 등록, 삭제 모두다 잘동작하고 id만 client에서 받아오질 못하는 것 같습니다. postman으로 json값 정상적으로 요청하면 작동도 잘되구요.UserServiceV1 인 jdbctemplate를 이용한 방식도 파라미터 정상적으로 넘어와서 잘동작합니다.이유를 모르겠습니다.
-
미해결실전! Querydsl
querydsl 처음 설정 후 테스트코드 돌려보는데 오류 원인을 모르겠어요
JPAQueryFactory queryFactory = new JPAQueryFactory(em);부분에서Cannot resolve constructor 'JPAQueryFactory(EntityManager)'오류가 생기는데 원인을 모르겠어요아래는 현재 설정입니다.스프링 생성 build.gradle 소스plugins { id 'java' id 'org.springframework.boot' version '3.3.5' id 'io.spring.dependency-management' version '1.1.6' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'study' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' //querydsl 추가 implementation 'com.querydsl:querydsl-jpa' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jpa' implementation 'mysql:mysql-connector-java:8.0.33' // MySQL 드라이버 최신 버전 사용 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' // 쿼리 파라미터 로그 표시 (성능에 영향을 줄 수 있음) // runtimeOnly 'com.mysql:mysql-connector-j' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspath } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } //querydsl 추가 끝 테스트코드package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import study.querydsl.entity.Hello; @SpringBootTest @Transactional class QuerydslApplicationTests { @Autowired EntityManager em; @Test void contextLoads() { Hello hello = new Hello(); em.persist(hello); JPAQueryFactory queryFactory = new JPAQueryFactory(em); // QueryDSL 쿼리 테스트 } }