inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

404예외처리..

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예를들어 api 서버인데, 없는 url요청하면 404에러나자나요 그 응답 데이터 json 을 변경하려는데 , 어떤코드를 변경해야 할까요? 404는 url못찾아서 컨트롤러로 진입도 하기 전인데.. RestControllerAdvice는 컨트롤러에서 발생하는 것만 처리해줘서.. 방법을 모르겠어요 ㅠ 이렇게 리턴되고 있는데 저 리턴되는 key와 값들부터 모두 커스텀하고싶은데.. { "timestamp": "2024-04-25T11:17:35.705+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/o%E3%85%87%E3%84%B9%E3%85%87%E3%84%B9" }

  • spring
  • mvc
플하 댓글 1 좋아요 -1 조회수 355

Model 추가 - v3 강의 질문있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

https://drive.google.com/file/d/1DbDboH5w-KDhpsm6lCYzZyJ7sEAWVV3d/view?usp=drive_link Model 추가 - v3 부분을 작성했는데 아래부분은 회원가입과 목록이 출력이 되어야 하는데 정상작동하지 않아서 코드 올립니다. FrontController - v3 회원가입 회원목록

  • spring
  • mvc
zzzzz 댓글 3 좋아요 0 조회수 205

스프링 메시지 소스 사용 시 Test 컴파일 에러 나신 분을 위해

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 질문은 아니고 @Test 시 계속 컴파일 오류가 나서 다른 분들 참고하시면 될 것 같아 글 작성합니다 1.컴파일 에러 났을 때 간단히 System.out 출력 했을 때 ???일 때 상단 메뉴 바에서 Settings 클릭 > Encoding 검색해서 File Encodings 들어가서 사진 처럼 UTF-8로 바꿔주기 안되면 윈도우 시스템이 언어 설정 확인하기

  • spring
  • mvc
김윤환 댓글 1 좋아요 3 조회수 763

unexpectedRollbackException 에러가 로그에 다르게 남겨져요

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 1분 51초 부근에 테스트를 할시에 unexpectedRollbackException이 에러에 남겨지는 것을 확인할 수 있는데, 로그가 저는 다르게 남겨집니다. 2024-04-25T15:46:38.354+09:00 DEBUG 5056 --- [springdx] [ main] cResourceLocalTransactionCoordinatorImpl : JDBC transaction marked for rollback-only (exception provided for stack trace) java.lang.Exception: exception just for purpose of providing stack trace at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.markRollbackOnly(JdbcResourceLocalTransactionCoordinatorImpl.java:310) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.transaction.internal.TransactionImpl.markRollbackOnly(TransactionImpl.java:203) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.engine.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:224) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] 다른 테스트도 몇개 그렇게 표시 되는데 recoverException_fail test 시에 위와 같이 에러표시가 됩니다. 테스트 시 통과는 돼서 UnexpectedRollbackException가 터지는 건 맞는 것 같은데 로그에 에러가 그냥 Exception으로 표시가 되는 것 같아서 구글링해봤는데 문제가 무엇인지 모르겠어서 질문드립니다. https://drive.google.com/file/d/1UzxlCeILcMUkroixUZmV2W49LfPqQAnb/view?usp=sharing

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
pink102557 댓글 1 좋아요 0 조회수 635

View 환경설정에서 addAttribute에서 에러가 발생합니다!

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 사정상 무료로 사용가능한 sts4 툴을 사용해서 따라하는중인데, 03. View환경설정을 따라하는 도중에 model.addAttribute(attributeName: "data", attributeValue:"hello");에서 해당 에러가 발생합니다! 어떻게 하면 좋을까요?

  • java
  • spring
  • mvc
  • spring-boot
김주현 댓글 2 좋아요 0 조회수 297

감사합니다

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

감사합니다

  • spring
  • mvc
댓글 1 좋아요 0 조회수 224

스프링 MVC - 컨트롤러 통합 질문있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

스프링 MVC - 컨트롤러 통합 3분 44초 오류 화면에서 springcontollerv1에 이미 맵핑이 되어있다고 하셨는데요. v1이 코드 어느 부분에서 맵핑되어 있는건가요?

  • spring
  • mvc
zzzzz 댓글 1 좋아요 0 조회수 190

이전에 만든 기능을 현재 쓰고 있는 건가요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이게 다 Member에서 돌아가는 건가요? 그러면 HelloController 같은 실습 때 만든 파일들은 안쓰는 건가요? 아니면 거기서 만든 기능을 현재에도 쓰는 건가요?

  • java
  • spring
  • mvc
  • spring-boot
김준호 댓글 1 좋아요 0 조회수 281

itemValidation, @Validation

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 어노테이션으로 Validation을 진행하면 만들었던 itemValidation은 작동 안하나요??

  • spring
  • mvc
jh06_04jh 댓글 1 좋아요 0 조회수 251

국제화 기본 설정 테스트 코드 실패

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?  3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 스프링 메시지 소스 사용 강의 2분 50초 정도에 나오는 테스트 코드가 계속 실패해서 문의 드립니다. 계속 hello 값을 가져오는것 같은데, 설정 값은 강의에서 제시한 그대로 인데, 기본 디폴트 값이 영어로 되어 있는걸까요? 혹시나 해서 Local.KOREA(N)을 모두 적용해보았으나 역시 같은 에러가 발생합니다. 코드 내용은 위와 같습니다. 원인이 뭘까요? ㅠㅠ

  • spring
  • mvc
댓글 1 좋아요 0 조회수 571

MVC 프레임워크 만들기-유연한 컨트롤러1 - v5 질문있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

MVC 프레임워크 만들기-유연한 컨트롤러1 - v5 28분49초 위 사진처럼 get뒤에 url주소가 어떻게 호출되는건가요? put주소를 틀린거를 줬는데요.

  • spring
  • mvc
zzzzz 댓글 2 좋아요 0 조회수 205

<label > id와 <input> id 맞추기

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 강사님 강의 10분 ~ 12분 사이에서 <label>태그와 <input> 태그의 id를 맞추기 위해서 th:for="${#ids.prev('regions')}"를 사용한다고 하셨는데 th: each 에서 제공하는 두 번째 파라미터를 활용해서 regionStat.index나 regionStat.Count로 id를 맞추는 방식은 어떨까요?

  • spring
  • mvc
bae jewoo 댓글 1 좋아요 0 조회수 257

브라우저에서 url로 접근할때

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

브라우저에서 url로 접근할때는 메소드 속성이 무조건 GET인가요?

  • spring
  • mvc
댓글 1 좋아요 0 조회수 249

ModelAttribute

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] ModelAttribute로 regions,itemTypes,deliveryCodes를 FormItemController가 처리가는 모든 view에 넘겨줬습니다. 그러면, item도 거의 모든 함수에서 사용되니까, item도 Modelattribute의 이런 사용법을 사용해도 되나요? 안된다면 왜 그런가요?

  • spring
  • mvc
문상준 댓글 2 좋아요 0 조회수 314

인텔리제이 디버그 질문입니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

디버그가 왜 안되나요? 바로 톰캣 실행되는데요. 예를들어 디버그 모드면 watch부분이랑 뷰네임이 뭐가 들어가는지 보여야 하는거 아닌가요? 해당 코드는 view모델3부분입니다. 추가질문입니다. 제가 아래 2번째 사진(빨간색 박스)를 클릭했을 때 디버깅이 시작됩니다. (그전까지는 안되요.) 보통 파이참같은 경우 코드에서 중단점 설정 후 디버그를 누르면 바로 디버깅 모드 전환이 되는데요. 인텔리제이는 코드 중단점을 설정해놓아도 톰캣 스타트 시켜놓고(첫번째사진처럼) html에서 화면을 클릭해야 해당 디버깅이 들어가지나요?

  • spring
  • mvc
zzzzz 댓글 1 좋아요 0 조회수 232

Model 추가 - v3 질문입니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Model 추가 - v3 23분 질문입니다. FrontControllerServletV3 코드입니다. package com.example.servservlet.web.frontcontroller.v3; import com.example.servservlet.web.frontcontroller.MyView; import com.example.servservlet.web.frontcontroller.v3.ControllerV3; import com.example.servservlet.web.frontcontroller.ModelView; import com.example.servservlet.web.frontcontroller.v3.controller.MemberFormControllerV3; import com.example.servservlet.web.frontcontroller.v3.controller.MemberListControllerV3; import com.example.servservlet.web.frontcontroller.v3.controller.MemberSaveControllerV3; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.*; import java.io.IOException; import com.example.servservlet.domain.member.Member; import com.example.servservlet.domain.member.MemberRepository; import com.example.servservlet.web.frontcontroller.v1.ControllerV1; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.io.IOException; import java.util.HashMap; import java.util.Map; @WebServlet(name = "frontControllerServletV3", urlPatterns = "/front-controller/v3/*") public class FrontControllerServletV3 extends HttpServlet { private Map<String, ControllerV3> controllerMap = new HashMap<>(); public FrontControllerServletV3() { controllerMap.put("/front-controller/v3/members/new-form", new MemberFormControllerV3()); controllerMap.put("/front-controller/v3/members/save", new MemberSaveControllerV3()); controllerMap.put("/front-controller/v3/members", new MemberListControllerV3()); } @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String requestURI = request.getRequestURI(); ControllerV3 controller = controllerMap.get(requestURI); if (controller == null) { response.setStatus(HttpServletResponse.SC_NOT_FOUND); return; } //MemberFormControllerV3,MemberSaveControllerV3 내용을 paramMap에 저장한다. Map<String, String> paramMap = createParamMap(request); ModelView mv = controller.process(paramMap); //질문1. 자식 controller를 부모 ModelView에 저장하는 다형성을 뜻하는건가요?ModelView에 .process함수가 없는데 왜 저장하는거에요? //질문2. 아래부분에서 for문(반복문)이 없고 한개의 뷰네임을 저장하면 나머지 2개의 뷰 처리는 어떻게 하는건가요? //아니면 원래 반복문은 없고 요청이 있는 get(requestURI)만 viewName에 저장하는건가요? // 예를들어 /front-controller/v3/members/save 이면 viewName에 MemberSaveControllerV3()이부분을 저장하는게 맞나요? String viewName = mv.getViewName();//MemberFormControllerV3,MemberSaveControllerV3 내용 중 한개의 뷰네임을 저장한다. MyView view = viewResolver(viewName);//물리적 주소 저장 view.render(mv.getModel(), request, response); } private MyView viewResolver(String viewName) { return new MyView("/WEB-INF/views/" + viewName + ".jsp"); } private Map<String, String> createParamMap(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<>(); request.getParameterNames().asIterator() .forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName))); return paramMap; //<-질문3. 이 부분이 강의에서 각각 파라미터 네임을 계속 꺼내서 저장한다고 하셨는데 반복을 의미하는건가요? } }

  • spring
  • mvc
zzzzz 댓글 2 좋아요 0 조회수 237

findAll 테스트 전에는 오류 없었는데 findAll 테스트 했더니 findbyName에서 에러 났어요..

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 전체 코드입니다. package com.example.hellospring.repository; import com.example.hellospring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import java.util.List; import java.util.Optional; class MemoryMemberRepositoryTest { MemberRepository repository = new MemoryMemberRepository(); @Test public void save(){ Member member = new Member(); member.setName("spring"); repository.save(member); Member result = repository.findById(member.getId()).get(); // Assertions.assertEquals(member, result); Assertions.assertThat(member).isEqualTo(result); } @Test public void findByName(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); Member result = repository.findByName("spring1").get(); Assertions.assertThat(result).isEqualTo(member1); } @Test public void findAll(){ Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); List<Member> result = repository.findAll(); Assertions.assertThat(result.size()).isEqualTo(2); } } 참고로 save 테스트에서 에러가 발생해서 findById 를 String -> Long 으로 바꾼 상태입니다. package com.example.hellospring.repository; import com.example.hellospring.domain.Member; import java.util.List; import java.util.Optional; public interface MemberRepository { Member save(Member member); Optional<Member> findById(Long id); Optional<Member> findByName(String name); List<Member> findAll(); } package com.example.hellospring.repository; import com.example.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepository { private static Map<Long, Member> store = new HashMap<>(); private static long sequence = 0L; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional<Member> findById(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values().stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return new ArrayList<>(store.values()); } }

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 323

"HttpServletRequest - 기본 사용법" 강의 내용 중 질문

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

처음 http://localhost:8080/request-header?username=hello 로 URL 입력 후 콘솔을 확인하면 아래와 같이 Header 편의 조회가 출력되었습니다. 이후에 Postman을 통해서 다음과 같이 hello! 라는 메시지를 POST 방식으로 전송을 한 후 콘솔을 확인해 보니 아래와 같이 출력되었습니다. 이때 Postman을 통해 보낸 방식에서 cookie가 조회되지 않는 이유는 Postman을 사용해서 POST 요청을 할 때 쿠키 설정을 따로 해주지 않아서 그런거고 크롬에서 URL을 검색해서 GET 방식으로 조회할 때는 크롬이 자동으로 쿠키를 할당해준건거요...??

  • spring
  • mvc
hong19kings 댓글 1 좋아요 0 조회수 226

DB insert 안됨

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

window command에서 h2.bat하고 db띄운 후 그냥 창x눌러서 껐는데요 그다음 다시 커맨드 열어서 h2.bat하고 insert 쿼리 날렸는데 insert가 반영이 안돼요 jsessionid 처음 나왔던걸로 해도 안되고 새로 나오는 것으로 해도 안되는데 창을 새로 띄워도 원래 jsessionid로 해야 하는건가요? test.mv .db 파일도 새로 생성해야 하나요? 파일을 올리고 싶은데 첨부파일 넣는 곳이 없네요 어떻게 해야 하나요?

  • spring
  • mvc
  • spring-jdbc
jwhong1515 댓글 1 좋아요 0 조회수 198

form관련 질문

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 질문이 있습니다 제가 회사에서 부트를 사용해서 타임리프 관련해서 학습하고 사용 할려고 하는데 form을 사용해서 action 을 하는게 아닌 거의다 js를 통해 ajax를 사용하는 등 거의 js를 통해 서버와 통신하는 방법을 사용하고 있습니다. 이럴 때 타임리프에서 th:object 옵션을 사용할 방법이 따로 없을까요? html에서 form을 사용하지 않는 이상?

  • spring
  • mvc
안태승 댓글 1 좋아요 0 조회수 267

인기 태그

인프런 TOP Writers

주간 인기글