묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
쿠키 탈취 질문
쿠키의 문제점을 세션으로 어느정도 해결했지만, 결국 쿠키가 탈취되거나 공유되는 문제점은 해결되지 않는건가요? 그래서 찾아보니 Spring security로 이러한 문제점들을 편리하게 막을 수 있다는걸 알게 되었는데, 현업(실무)에서 이러한 이유들 때문에, 보통 지금처럼 직접 session 이용안하고, 대부분 security로 로그인을 구현하나요?아니면, 백엔드에서 지금처럼 session구현하고 보안 솔루션들로 보안쪽 사람들이 막는건가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
화이트리스트 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]로그인체크필터에서 화이트리스트 배열을 통해 필터를 걸러내는 것을 알게되었습니다. 여기서 의문인게 왜 /css/* 까지 화이트 리스트를 추가해주는지 궁금합니다. 해당 /css/*코드를 빼고 실행해보았는데, 오류없이 잘 작동합니다.결론 : 왜 /css/*까지 화이트리스트에 추가해줘야 하나요?혹시 js파일도 있다면 /js/*도 해줘야하나요?어떤것을 화이트리스트에(예 : 자바스크립트파일, html파일, css파일) 추가해줘야할지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 알려주신 스프링 프로젝트 폴더가 위치한 곳으로 명령프롬프트 내에서 위치를 변경하는 방법으로 hello-spring까지 이동했습니다. 하지만 gradlew.bat를 실행하니까 사진과 같은 오류가 발생합니다. 자바 22버전 사용하고 있습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의에 나오는 자료들은 어디서 볼 수 있나요??
html 코드나 강의자료 보고싶은데 어디서 봐야하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
등록한 Member 를 동적html 로 띄울 때 뜨지 않는 문제
https://drive.google.com/drive/u/0/home //구글 드라이브 주소를 남겨봅니다!<html 에 제가 입력한 멤버정보가 뜨지 않는 문제입니다>값을 등록했을 때 콘솔창에 들어간 값이 잘 뜨는것을 봐서는 아마 Map<id, Member> 에 들어가지 않는게 아닐까 예측해봅니다..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ModelAttribute 관련 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@PostMapping("/add") public String addItem(@ModelAttribute Item item, RedirectAttributes redirectAttributes, Model model) { //검증 오류 결과를 보관 Map<String, String> errors = new HashMap<>(); //검증 로직 if (!StringUtils.hasText(item.getItemName())) { errors.put("itemName", "상품 이름은 필수입니다."); } if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) { errors.put("price", "가격은 1,000 ~ 1,000,000 까지 허용합니다."); } if (item.getQuantity() == null || item.getQuantity() >= 9999) { errors.put("quantity", "수량은 최대 9,999 까지 허용합니다."); } //특정 필드가 아닌 복합 룰 검증 if (item.getPrice() != null && item.getQuantity() != null) { int resultPrice = item.getPrice() * item.getQuantity(); if (resultPrice < 10000) { errors.put("globalError", "가격 * 수량의 합은 10,000원 이상이어야 합니다. 현재 값 = " + resultPrice); } } //검증에 실패하면 다시 입력 폼으로 if (!errors.isEmpty()) { model.addAttribute("errors", errors); return "validation/v1/addForm"; } //성공 로직 Item savedItem = itemRepository.save(item); redirectAttributes.addAttribute("itemId", savedItem.getId()); redirectAttributes.addAttribute("status", true); return "redirect:/validation/v1/items/{itemId}"; }14분 강의내용 질문입니다. 만약 오류가 있다면 if (!errors.isEmpty()) { model.addAttribute("errors", errors); return "validation/v1/addForm"; }이 코드를 실행해서 errors모델을 담겠지만,이전에 입력해둔 Item을 모델에 담지 않았는데도 값이 유지될 수 있는 이유가파라미터에 @ModelAttribute Item item이 있기 때문인가요?만약 그렇다면 왜 그렇게 되는지 궁금합니다.파라미터에 있는 @ModelAttribute Item item 코드 자체가 미리 모델에 담기는 것인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]명령 프롬포트에서 java를 치면 나오는데, gradlew.bat치면 'gradlew.bat'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 나와요 ㅠㅠ자바는 22버전입니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
DispatcherServlet 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이전 강의에서 직접 만들때는 프론트컨트롤러직접 url 매핑해서 찾았자나요 근데 DispatcherServlet는 만들지도않았는데 어떤 원리로 실행되는지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
레포지토리 테스트 코드 작성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에서 findById 테스트코드 작성 안 하는 이유가 있나요 ?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
postMapping, putMapping
안녕하세요 궁금한 점이 생겨 질문 드립니다.PostMapping이 멱등하지 않아서 save메서드에서 PRG방법을 쓰는데수정 메서드에서는 prg방법과 @putMapping중 어떤것을 더 추천하시나요 ??그리고 PutMapping에서도 PostMapping와 동일하게 더티체킹 방법으로 업데이트해도 되는것 맞죠 ??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
FieldError - 파라미터 질문
if (item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000) { bindingResult.addError(new FieldError("item","price" ,item.getPrice(), false,null, null,"상품 이름은 가격은 1,000 ~ 1,000,000 까지 허용합니다..")); } price = 123a를 입력할때같은 필드(item.price)에 대해서 FieldError가 2개 생성되면, 이거를 구분을 뭐로 하길래, 타입 바인딩rejectedValue값이 우선으로 출력되는건지 모르겠습니다.값 유지되는 값이 지금 123a 즉, 타입 바인딩 실패에대한 rejectedValue값인데, 왜 비즈니스 로직 rejectedValue값 null이 안나오고 123a가 출력이 되는건지 모르겠습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예제로 구현하는 파일 업로드, 다운로드 강의 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.1. ItemController에서 newItem() 메소드에서는 @ModelAttribute ItemForm form으로 주입될 객체가 없는것 같은데 그러면 안써도 되는건가요?? 지우고 코드 작동해봤는데 작동은 잘 되는데 제가 혹시 놓친게 있는지 궁금합니다..2. ItemForm 객체는 처음에 item-form.html에서 POST로 데이터가 넘어올때 ItemId 필드에 해당하는 값은 넘어오지 않는것 같은데 그러면 자동으로 null로 설정되는건가요??3. itemRepository에 저장하는것과 multipartFile.transferTo()를 이용한 저장의 차이를 아래처럼 간단히 정리해도 맞는걸까요?? 틀린 부분이 있는지 궁금합니다!!“transferTo()를 이용한 저장” vs “itemRepository에 저장”transferTo()를 이용한 저장은 uuid를 이용해서 서버의 스토리지에 그 이미지 파일을 직접 저장한다.itemRepository를 이용한 저장을 해당 이미지를 직접 저장하는 것이 아닌 그 이미지 파일이 서버 내부 어디에 위치해있는지 그 경로와 해당 이미지 파일의 원본 이름과 uuid값을 저장한다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서버 구동부터 왜 안되는지 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의 잘 듣고 있습니다.지금 까지 잘 되다가 이번 강의부터 갑자기 서버가 구동이 안되면서 아래 캡쳐 화면처럼 나옵니다다른 프로젝트는 잘 되는데 이것만 구동이 안됩니다강사님과 똑같이 했고 이상하게 작성 했을 수도 있어서 복사붙여넣기로 다시 만들기도 했는데 이렇습니다.좀 찾아보니 설정에서 gradle에서 gradle을 인텔리제이로 바꾸라 해서 바꿔도 프로그램이 그냥 종료가 되고 구동이 되지 않는 것은 똑같습니다.스프링 3.2 이상이고 자바 17 사용 중입니다.문제가 무엇일까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
aop 실행시 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]The dependencies of some of the beans in the application context form a cycle:memberController defined in file [C:\MyJava\study\hello-spring\out\production\classes\hello\hello_spring\controller\MemberController.class]↓memberService defined in class path resource [hello/hello_spring/service/SpringConfig.class]┌─────┐| timeTraceAop defined in class path resource [hello/hello_spring/service/SpringConfig.class]└─────┘이렇게 오류가 납니다의존하는게 서로 겹친건지수업과 똑같이 해도 오류나는 이유를 모르겠네요https://drive.google.com/file/d/1UAbLzMZ1jvYSh7vWVDv0XIwgat0giIVu/view?usp=drive_link
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
UnsupportedJavaError
오늘 처음 강의를 듣기 시작했는데, 프로젝트 생성 편에서 open jdk 22.0.1 그래들 8.9를 사용하니 에러가 발생합니다.정상적으로 작동하여 아래 처럼 실행이 되지만,실행을 종료한 후에 이런 메세지가 나오는 것으로 보입니다.해결 방법이 어떻게 될까요? +그래들로 실행하는 경우에만 발생하는 것 같습니다.저장
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트케이스 작성 중 오류
[질문 내용]회원 리포지토리 테스트케이스 작성 강의의 2분 30초를 따라할 때, 오류가 발생하는데 무엇이 문제인지, 어떻게 해결해야할 지 모르겠습니다 ㅠㅠ 이전까지는 문제없이 잘 따라했었습니다..!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
http 교환 방식 3가지 정리 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Request parameterurl 에 q = 이라는 쿼리를 통해 데이터 교환GET 쿼리 파라미터방식이란게 get 방식 을 쓴다는게아니라 url 자체에서 입력된 데이터를 읽는 방식을 뜻한다고 이해하면될까요 ? 2 HTML FORMapplication/x-www-form-urlencoded 의 형식으로 메세지 바디에 포함되어서 요청되어서 데이터 교환 쿼리문을 저 형식으로 그냥 메세지 바디에 넣어서 요청한다고 생각하면 되나요 ? 3. HTTP api 방식json 이나 xml 으로 데이터 교환클라-> 서버 예를들어 postman 에서 json 파일을 보낸다 할때 json의 내용을 해석해서 데이터를 받는다서버 -> 클라 일경우 서버에서 json 을 만들면 자바스크립트 코드나 vue 나 react 같은 프레임워크를 통해 html 로 랜더링됨 이렇게 이해하면 될까요 ? 혹시 잘못 이해한 부분이나 추가해야할 부분 알려주시면 감사하겠습니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build.gradle 관련 오류[Unable to load class 'org.gradle.api.plugins.MavenPlugin'.]
현재 제 프로젝트 설정은 아래 3장 사진과 같습니다.도대체 무슨 이유 때문에 build.gradle에서 자꾸 에러가 발생하는 걸까요?spirng application은 정상 실행되는 상황입니다. build.gradle에서만 저런 오류가 나옵니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
spring.servlet.multipart.enabled=false 코드로 인해 멀티파트 처리를 못 하게 되는 시점에 대해 궁금한 점이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]logging.level.org.apache.coyote.http11=trace spring.servlet.multipart.enabled=false이렇게 설정한 상태에서 서버를 띄운 후,http://localhost:8080/servlet/v1/upload에서상품명엔 itemA, 파일엔 image.png를 선택해서 제출 버튼을 누르면log.info("itemName = {}", itemName); log.info("parts = {}", parts);이 로그의 결과는 강의에서와 똑같이 null, []입니다. 그런데 logging.level.org.apache.coyote.http11=trace이 코드로 인해 찍힌 로그에선 itemA와 image.png와 관련된 로그가 찍힙니다. 이 이유에 대해 강의 내용과 관련지어서 추측해 보았는데, 이 로그들은 아래 과정 중에서HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러요청이 처음으로 'WAS' 단계에 있을 땐 멀티파트 체크를 하기 전이기 때문에 itemA, image.png 관련 로그가 찍히는 것이고, 요청이 처음으로 '서블릿' 단계에 들어간 순간부터는, DispatcherServlet의 doDispatch() 코드에서 멀티파트 체크를 하는데, 만약 spring.servlet.multipart.enabled=false 코드가 있으면 RequestFacade 객체가 반환되면서 멀티파트 관련 처리를 하지 못하는 상태가 되는 거로 이해했습니다.제 생각을 요약하면,멀티파트 요청이 처음으로 'WAS' 단계와 '필터' 단계를 거칠 땐 itemA, image.png 관련 로그를 찍을 수 있고,멀티파트 요청이 처음으로 '서블릿' 단계에 들어가 DispatcherServlet에서 멀티파트 체크를 한 이후부터는 멀티파트 관련 처리가 불가능해진다고 생각했습니다.즉, spring.servlet.multipart.enabled=false 코드를 썼더라도, 필터 단계에서라면 itemA, image.png 관련 처리를 할 수 있을 줄 알았습니다.이 부분을 직접 테스트하기 위해 다음 코드들을 새로 작성했습니다.upload 패키지 하위에 filter 패키지를 만들고, LogFilter를 만들었습니다.String itemName = httpRequest.getParameter("itemName"); log.info("Filter itemName = {}", itemName);이 코드를 통해 itemA 관련 내용을 볼 수 있을 거라고 예상했습니다.그리고 upload 패키지 하위에 WebConfig 파일을 만들어서 필터를 등록했습니다.이 상태에서 서버를 띄운 후, itemA와 image.png로 제출했더니..~~~~LogFilter : Filter itemName = null저는 itemA이 나올 거라 예상했었는데 null이 나옵니다. 생각해 보니 LogFilter의 다음 코드에서HttpServletRequest httpRequest = (HttpServletRequest) request;HttpServletRequest로 할 게 아니라, StandardMultipartHttpServletRequest httpRequest = (StandardMultipartHttpServletRequest) request;이렇게 바꾸면 되지 않을까 싶어서 다시 실행해 봤습니다. 그런데 이번엔 localhost:8080에 들어가기만 해도 500 에러가 뜹니다.에러가 뜨는 이유가 궁금합니다. 제가 생각했던 대로라면spring.servlet.multipart.enabled=false이 코드가 있다고 하더라도,WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러여기서 WAS, 필터까지는 itemA를 출력할 수 있을 줄 알았는데, 제 생각이 틀렸을까요? 아니면 spring.servlet.multipart.enabled=false 이 코드가 있으면, 개발자는 어느 단계에서든 itemA 같은 멀티파트 데이터를 다룰 수 없는 건가요? 아니면 제가 테스트했던 코드 자체에서 문제가 있던 건지... 궁금합니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
프로젝트 생성시 Srping MVC Project 없음
구글링해서 설치하려고 해도 안 되네요. 아래 분들 질문 참고해서 설치하려고 해봐도 안 되는데 자세하게 답변 좀 부탁드립니다 ㅠㅠ