묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 하이퍼링크 이동 시 basic.html로 이동
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]localhost:8080으로 접속하여 index.html로 이동하였습니다. 그 이후 jsp 회원가입 전송 후 /jsp/members/save에서 /index.html 로 이동하도록 되어있길래 그리했더니 같은 디렉토리의 basic.html로 이동하게 됩니다. 이동 경로를 '/'로 바꿔주어 해결하였으나 원인이 무엇인지 궁금합니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그인 처리 - 세션사용
이 부분에 질문이있는데요getSession시 Object를 반환하잖아요sessionStore에는 Member을 넣어도, Item을 넣어도 결국 Object로 반환해서 넘겨주는데.. 그럼 getSession을 호출하는 곳에서 Object에 대한 구체적인 정보를 사용하고싶어하면 어떡하죠?Member로 변환시켜야하는데, 외부에선 Object타입인것만 알지 Member타입인지는 모르잖아요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
assertThat 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]import static org~ 구문 추가 했는데도 계속 이 상태에요. 혹시 몰라서 앞에 Assertions.붙여봤는데도 계속 빨간 상태에요.. 뭐가 문제일까요ㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
REST BindingResult 유효성
BindingResult 를 rest로 하진 않았는데, BindingResult 한다면return값이 html주소 이동인데 어떻게 해야하는지와@Size와 같은 @Validated 유효성검사를 할때 에러메시지 커스텀과if (bindingResult.hasErrors()) { return "login/loginForm"; }그냥 @Controller는 .html이동인데 rest는 어떻게 해야할지 모르겠습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
id를 제외한 생성자 만들기
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. 강의를 듣던 중, 잘 이해하지 못한 부분이 있어 질문 드립니다.1:07초에서 영한님께서"id를 제외한 생성자를 하나 만들겠습니다."라고 하셨는데, 생성자를 만들때 id를 제외하는건지 여쭤봅니다.다음에 작성하는 ItemRepository에서 setId, getId에서 생성자를 만들었기 때문인가요??감사합니다.
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
페이징에서 없는 데이터라고 나옵니다
getPage랑 getPerPageNum이 안읽혀서강사님 깃허브에서 직접 다운받아서 했는데도 안됩니다;;
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
스프링부트를 내려받는중에 오류가발생한거같네요
강의화면과는 달리 templete와 static부분이 전혀안보이네요 그리고 rest 컨트롤러도 안보이네요 여려번 다시 다운받아봤는데도 그대로네요 스프링부트 어플리케이션을 실행해도 오류가 나오네요 설치할떄 기존에 있던 자바하고 스프링부트에서 사용하는 자바버젼하고 충돌이 일어난듯한데 방법이 없을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
그리들 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.gradle실행시 A web-based, searchable dependency report is available by adding the --scan option.Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warningsBUILD SUCCESSFUL in 678ms1 actionable task: 1 executed3:07:08 AM: Execution finished 'dependencies'. 알림이 뜨는데 해결방법이 무엇일까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
단일 체크박스 - 체크해제 설정
강의 내용 중 단일 체크박스를 체크하면 원하는 상태로 변하는데, 체크를 풀면 500에러가 발생합니다. 어떻게 코드를 수정해야 할 지 도움을 요청드립니다.강의 내용을 조금 변형해서 - '할일'을 등록할 때 할일 완료상태면 TODO_COMPLETE, 미완료이면 TODO_INCOMPLETE이 되도록 아래와 같이 작성하였습니다. (Todo.java)1) 등록된 할일을 수정할 때 단일 체크박스를 체크하면 완료, 체크를 풀면 미완료가 되도록 아래와 같이 editTodo.html을 작성했습니다.이 경우, 할일 수정 페이지에서 체크를 할 때는 TODO_COMPLETE으로 상태가 잘 변경됩니다. 그런데 다시 체크를 풀면 500에러가 발생하는데요. (org.thymeleaf.exceptions.TemplateInputException 입니다) 그래서 Controller에서 할일 수정하는 핸들러의 구현부에 디버거를 걸고 확인을 했더니빨간 네모에서 처럼 체크를 풀고 저장버튼을 누르면 TODO_INCOMPLETE로 변경되는 것이 아니라 null로 넘어가고 있습니다.2) 그래서 강의 복습 및 구글링으로 아래와 같이 체크박스 부분을 수정했는데요.그랬더니 todoCmplt 상태는 무조건 TODO_INCOMPLETE로 고정되어 체크박스에 체크를 하고 할일 수정(저장)을 해도 체크는 풀리게 되었습니다. (editTodo.html의 체크박스를 여러 번 다르게 수정했지만 모두 실패했습니다.)Todo.java에서 코드가 잘못된 것인지, editTodo.html이 잘못된 것인지 알 수 없어 문의드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 관리 예제에서 등록 시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 회원 관리 예제 웹 MVC 개발> 회원 웹 기능 - 조회이 강의에서 선생님의 결과와 제 결과가 다르게 나와서 질문 드립니다.[회원 가입]을 눌러서 spring1, spring2를 등록하시고 [회원 목록] 탭에서 2개의 회원이 등록됨을 보이시는데,저는 spring1을 등록하고 회원 목록을 들어 가보면이렇게 1하고 공백으로 나오고여기서 spring2를 등록하면이런 페이지가 나오며인텔리제이에서도 잘 돌아가던 서버의 Run 창에서 오류가 죽 뜹니다.짧은 지식으로 보기에는 뭐 어디가 null값이다 라는 오류들이 많이 뜨는데 제 선에서는 어디부터 어떻게 만져야 할지 잘 모르겠습니다 ㅠㅠ 아래는 인텔리 Run창에서 뜨는 오류입니다캡처로 잘리는 부분들을 사진 중간에 남기겠습니다.2023-02-05T22:19:39.413+09:00 ERROR 2956 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "hello.hellospring.domain.Member.getName()" is null] with root cause2023-02-05T22:26:18.541+09:00 ERROR 2956 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "hello.hellospring.domain.Member.getName()" is null] with root cause2023-02-05T22:27:45.238+09:00 ERROR 2956 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "hello.hellospring.domain.Member.getName()" is null] with root cause참고하셔야 할 파일들의 코드가 있으시면 바로바로 캡처해서 올리겠습니다.'컴포넌트 스캔으로 빈 등록'에서 '자바 코드로 빈 등록'으로 넘어가는 강의에서 직접 코딩을 하다보니 거기에서 오류가 났을지도 모르겠다는 생각도 드네요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
뷰 렌더링 질문드립니다.
안녕하세요. 강의를 듣다가 MyView에서 render()를 하는것이 jsp로 이동하는것, 즉 jsp를 렌더링 하는것이라고 이해했는데요.jsp를 렌더링하는것이 곧 뷰를 렌더링 하는것인가요?jsp렌더링 = 뷰 렌더링이렇게 이해하는게 맞을까요?뷰 렌더링이 어떤것을 의미하는것인지 질문드립니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
region.key 와 region.value 가 어디서 나오는 것인가요? 그리고 region 의 타입은 무엇이 되는건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.@ModelAttribute("regions") public Map<String, String> regions() { Map<String, String> regions = new LinkedHashMap<>(); regions.put("SEOUL", "서울"); regions.put("BUSAN", "부산"); regions.put("JEJU", "제주"); return regions; }<div> <div>등록 지역</div> <div th:each="region : ${regions}" class="form-check form-check-inline"> <input type="checkbox" th:field="${item.regions}" th:value="${region.key}" class="form-check-input" disabled> <label th:for="${#ids.prev('regions')}" th:text="${region.value}" class="form-check-label">서울</label> </div> </div> 여기에서 th:each="region : ${regions}"th:value="${region.key}"th:text="${region.value}" 너무 어려워서 체크박스만 어제 오늘 계속 붙들고 다시보고 있는데요 이제 저 3개만 알면 이해갈거같은데 전력을 다해 검색해봐도 도저히 저 3개를 모르겠어요each 에 ${regions} 는 맵인거 같은데 region 은 무슨타입이 들어가길래 key value 라는 값을 쓸수 있는건가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
findById 메소드 질문할게요
public static Member findById(Long id){ return store.get(id);//회원을 id로 찾기 }안녕하세요 간단한 질문 하나 드릴게요 여기서 return store.get(id); 를 리턴했는데요 만약에 1명의 회원만 회원가입을 했다치면 get(id)의 값인 1이 findById 메소드로 리턴되는게맞죠?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
메서드 이름 newForm
스프링 MVC - 컨트롤러 통합영상 1:45분쯤에 메서드 이름이 동일해서 바꾸시는데 저는 newForm으로하면 인식이 안되더라구요 그래서 form 으로 바꾸니 정상작동 합니다. 왜인지 이유를 알려주실수있을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 도메인과 리포지토리 만들기 강의를 듣는중인데요
따라치기에 바쁘고 코드를 적으시는데 이해못하면 잘못 듣고있는건가요? 자바 강의는 다 들었는데 뭘하시는지를 모르겠고 따라적기만 하고있습니다..
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 케이스 결과가 이상해요...
분명 결과가 에러가 떠야 맞는데... 이상해요 그리고 강사님 화면처럼 결과가 뜨지도 않구요저는 윈도우 쓰고 있는데 이건 운영체제가 달라서 그런건 아닌거같은데... 뭐가 문제일까요?ㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 폴더 이동 후 오류
안녕하세요강의 수강 중 프로젝트 폴더를 다른 폴더에 저장하고 싶어서 이동시켰습니다. 그 후 인텔리제이로 프로젝트를 열어보니 폴더가 보이지 않는 오류가 있어 구글링해서 오류를 해결하고자 했는데요. (참고했던 블로그: https://solbel.tistory.com/2712)그 후 다시 확인해 보니 디렉토리 구조도 정상적으로 다 뜨지 않는 것 같고 스프링 프레임워크도 사라진 것 같습니다...ㅠ일반 자바 프로젝트는 폴더 위치를 옮겨도 문제가 생기지 않았는데 스프링 프로젝트만 이런것인지.. 혹시 해결할 수 있는 방법이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그아웃시 post를 쓰는이유
get대신 post를 쓰는이유가 다음과 같다는것을 알게됐습니다.CSRF공격에 GET이 취약하기때문prefetch라는 기술때문에 강제 로그아웃이 될수있다. prefetch란 사용자가 클릭할 가능성이 있는 링크를 가정하여 미리 가져와 페이지 로딩 시간을 줄이는 기술이다. 근데 만약에 로그아웃에 대해서도 적용이된다면 강제 로그아웃이 될수있다. 왜 get요청은 csrf공격에 취약한가요?prefetch는 post요청에 대해서는 처리하지않나요?
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
제이쿼리로 넘길떄 안넘겨도 되는 데이터를 꼭 $().remove해줘야하는건가요??
remove해도 정상적으로 돌아가는거같던데요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Test 할때
ResultActions@RestController할때test시 ResultActions vs Assertions 둘 중 어느 것이 더 많이 사용하나요?