월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ExceptionHandler 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@ExceptionHandler 부분을 혼자 따라해 보고 있는데user-ex 요청을 해도 bad 요청에 대한 ExceptionHandler가 사용됩니다. 혼자 찾아보다가 못 찾겠어서 질문드립니다 https://drive.google.com/file/d/12UUOw564__WSLm2jmEHyD7bQz6A9YOgO/view?usp=sharing
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
엔티티 노출을 피하라.
현재 스프링 로드맵부터 시작하여 JPA 로드맵까지 완강하고, 한 프로젝트에 쭈욱 적용해보며 다시 복습하고 있는 취준생입니다!! 학습한 내용 중에 (JPA 로드맵 중) 엔티티 노출은 최대한 피하여 DTO로 변환해 화면에 보여주거나, API 스펙에 맞추어 내려준다 라고 배웠었는데요. MVC2 프로젝트안에 저장할 때의 ItemSaveForm(dto), 수정할 때의 ItemUpdateForm으로 나누어 각각 저장, 수정할 때 dto로 사용하고 있습니다. 이때, 상품 상세, 상품 수정 등 GetMapping으로 저장된 객체를 불러올 때에 새로운 Dto클래스를 만들어 새로운 Dto 클래스에 바인딩하는 코드로 짜주는 것이 맞나요??
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
findCookie()메서드 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]findCookie() 메서드에서 String cookieName으로 SESSION_COOKIE_NAME = "mySessionId";위의 상수를 받고있고, 그럼 모든 사용자의 cookieName이 다 "mySessionId"인건데 사용자가 달라질때 같은 cookieName인 "mySessionId"로 UUID를 찾는 것이 이해가 가지않습니다.return Arrays.stream(cookies).filter (cookie -> cookie.getName().equals(cookieName)).findAny().orElse(null);위와 같이 return하면 무조건 sessionStore에 첫번째로 저장 된 "mySessionId"의 uuid가 나가지않나요..??
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
스프링통합과-폼 설정
선생님꼐서 선생님꺼 파일 다운받고 form-start 폴더를 form으로 바꾸고 임포트하시라고하셨는데이거 자바 버전바꿔야하나요?자꾸 오류가나서.. 아니면 굳이 바꾸지않고 제가 MVC1편에서 만들었던 프로젝트로 진행하는건 안될까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Validator의 supports 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]supports에서 주석 처리된Item.class.isAssignableFrom(aClass.getClass());로 실행해보니 Validator를 추가하는 부분에서 에러가 발생했습니다. 그래서 return aClass.isAssignableFrom(Item.class)로 바꾸니 정상 동작하더라고요. 왜 aClass와 Item.class의 순서를 바꿨을 때 정상 동작하는지 잘 모르겠어서 질문드립니다. Item.class.isAssignableFrom(aClass.getClass()) 이렇게 사용해야지 aClass(파라미터로 전달받는 객체)가 Item 클래스의 자식일 때도 true로 반환하지 않나요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Cause: org/apache/http/conn/ssl/DefaultHostnameVerifier
Cause: org/apache/http/conn/ssl/DefaultHostnameVerifier org/apache/http/conn/ssl/DefaultHostnameVerifier* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. MVC2 체크박스 강의를 따라하던 중 잘 실행되던 프로젝트에서 갑자기 위와 같은 오류가 뜹니다. =========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
JPA, 멀티파일 업로드
강의를 들으면서 하나의 프로젝트에 순차적으로 적용중인데요. 멀티파일 같은 경우에 JPA에서 어떻게 연관관계로 풀어내면 좋을지 잘 모르겠어서요. @OneToOne으로 풀어야 하는지 ㅠㅠ JPA에 적용시 어떻게 풀어야 하는지 자세하게 설명좀 부탁드립니다.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
질문이 있습니다
[질문 내용]이런 로깅기능을 사용하는 이유는 에러가 발생했을때 어떤 오류때문에 발생했는지 확인하기위해서 로그를 찍어본다고 생각하면 될까요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
model에 관한 질문
컨트롤러에서 모델에 등록하고 html에서 타임리프로모델에 등록된 값을 보여줄 수 있어요컨트롤러당 1개 모델 사용하는건가요? 모델 1개로 여러 컨트롤러가 사용하는건가요? 궁금하네요~!
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
시스템 os locale 과 intellij default locale이 다릅니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]intellij 에서 로케일 티폴트를 찍으면 en-us라고 나오는데시스템 os locale은 한국입니다.locale.korea 라고 했을 때 messages_kr 파일이 없어 messages.properties(디폴트)를 먼저 찾아 테스트가 동작한다는 설명은 이해했습니다. (locale null 대신 locale.korea로 테스트성공) 하지만 null값으로 주게 되면 시스템 os 를 먼저 찾고(저의 경우 kr) -> messages_kr이 없으니 그대로 messages.properties를 찾을 줄 알았으나 messages_en.properties를 계속해서 참조했습니다. (아래) default값을 찍어보니 맨 위 사진처럼 intellij에서 디폴트값을 us로 인식하고 있었습니다. 혹시 어떻게 해결해야 할까요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
html 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<b> </b> 태그가 이스케이프 처리되어서, html 코드가 웹 브라우저에 <와 같은 문자로 이스케이프 되는 것으로 이해했습니다.이때 그러면 다른 태그들 <head>, <li>와 같은 코드도 그러면 모두 저런 문자의 형태로 다 이스케이프 처리되어서 웹 브라우저에 내려가야하는 것 아닌가요? 클라이언트에서 어떤 입력값을 서버로 넘겨줄때, <script>와 같은 값을 넘겨주면 이상한 스크립트를 서버에서 실행시킬 위협이 있어서 이를 방지하기 위해 이스케이프 처리를 한다는 것 같은데, 서버 -> 클라이언트로 이스케이프인지 클라이언트 -> 서버 이스케이프인지.. 뭔지 개념이 헷갈리네요 ㅜㅜ
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
url 링크가 변경되지 않는 이유가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]WAS에서 /error-page/500 경로로 요청을 다시 하면 url 링크도 변경될 거라고 생각했는데 변경되지 않는 이유가 궁금합니다.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
messages properties 에러
철자가 이상하게 나옵니다 ㅠㅠ..
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
자바환경변수
JDK 17.0.10 isn't compatible with Gradle 6.8.2. Please fix JAVA_HOME environment variable17버젼사용중이에요. 소스코드를 받아서 들어가려고했는데 이런 에러가 발생하는데 매번 환경변수를 바꿔줘야하나요? 다른 방법이 있을까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일 업로드와 다운로드에서 궁금한 것이 있습니다.
안녕하세요. 파일 업로드와 다운로드 강의 중 문득 궁금한 것이 생겨서 이렇게 질문을 드립니다.강의에서 처럼 메모리에 Item을 저장하는 것이 아니라 실제 RDBMS에 저장을 한다고 가정을 하게되면Item 테이블엔 id와 itemName만 저장하고 파일 경로를 저장할 File 테이블엔 Item의 id와 UploadFile의 uploadFileName과 storeFileName을 저장하는 것일까요? 이렇게 저장한다고 가정하였을 때, DB에서 Item객체를 불러올 땐 Item 테이블에서 id와 itemName을 가져와 set 해주고, File 테이블에서 uploadFileName과 storeFileName을 가져와 UploadFile 객체와 List<UploadFile>을 만들어 Item 객체를 만든다. 로 이해해도 되는 부분일까요?? 뭔가 경우에 따라서 다양한 방법이 있겠지만 지금 제 머리속으론 이런 방식이 떠올라서 이게 맞는건지 궁금해서 여쭈어봅니다. 좋은 강의 항상 감사하게 듣습니다 ㅎ 감사합니다.
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
RequestDispatcher 상수 질문
사소한 질문이지만, RequestDispatcher에 정의된 상수들을 그대로 import 해서 사용하지 않고, 굳이 ErrorPageController에 다시 정의해서 사용하는 이유가 궁금합니다.
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
포스트맨 json 형태로 안내려오네요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MVC1 부터 MVC2 학습하며 한 프로젝트에 적용하며 학습중인데요.accept json으로 설정하고 컨트롤러에 @RestController 설정해주었는데도 이렇게 HTML 형식으로 나오는데 뭐가 잘못된 걸까요 ㅠ인터셉터를 설정해준 webConfig를 주석처리 하니 json 형태로 내려오는데 주석처리를 해주는 게 맞나요?
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
필터가 제가 이해한게 맞을까요?
@Slf4j public class LoginCheckFilter implements Filter { private static final String[] whiteList = {"/","/members/add","/login","/logout","/css/*"};//위 uri 들은 필터x @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; String requestURI = httpRequest.getRequestURI(); HttpServletResponse httpResponse = (HttpServletResponse) response; try { log.info("인증 체크 필터 시작{}",requestURI); if(isLoginCheckPath(requestURI)){//화이트 리스트가 아니면 log.info("인증 체크 로직 실행 {}",requestURI); HttpSession session = httpRequest.getSession(false);//로그인시 생성된 세션을 불러와서 변수에 저장 if(session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null){//null 이면 로그인 안된것 log.info("미인증 사용자 요청 {}", requestURI); //로그인으로 redirect + 내가 url에 입력한 주소 httpResponse.sendRedirect("/login?redirectURL=" + requestURI); return;//리다이렉트하고 끝(finally 항상 호출) } } log.info("다음 필터"); filterChain.doFilter(request,response); log.info("다음 필터가 있는지"); }catch (Exception e){ throw e;//예외 로깅 가능 하지만, 톰캣까지 예외를 보내주어야 함 }finally { log.info("인증 체크 필터 종료 {}", requestURI); } } /** * 화이트 리스트의 경우 인증 체크x */ private boolean isLoginCheckPath(String requestURI){ return !PatternMatchUtils.simpleMatch(whiteList,requestURI); } }이 코드에서controller를 호출하기전에 필터에서 인증을 처리해주고인증이 완료됐다면controller로 이동해서 로직을 처리한다 생각하면 될까요?
- 해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@Login 질문
컨트롤러 메서드의 파라미터에 있는 @Login 어노테이션이 @SessionAttribute(name = SessionConst.LOGIN_MEMBER, required = false)를 완전히 대체한다고 보면 되는 걸까요? @Login이 동작하는 시점이 ArgumentResolver의 영향 범위이기 때문에, 해당 강의의 제목이 ArgumentResolver 활용 인 것인가요? 커스텀 어노테이션을 만드는 것과 'ArgumentResolver 활용'이라는 제목과 무슨 관계가 있는 것인지 궁금하여 질문드려봅니다!
- 미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
예외를 던지는 기준이 궁금해요
예외를 공부할땐 예상 밖의 프로세스가 죽는 치명적인 상황을 예방하기 위해 예외 처리한다고 배웠습니다! 하나의 예시를 들자면 비동기로 닉네임 중복 검사를 하는 프로세스가 있는 경우아래와 같이 개발자가 의도한 결과가 나오지 않은 경우 예외로 던져야 할까요?//예시 1 Member member= repository.findByMeberNickname("user00"); if(member == null){ throw new memberNotFoundException(); } return member; //그리고 @RestController에서 에러DTO json 응답 {코드값, 메세지, status} 또는 사실상 개발자가 충분히 예상 가능한 범주 내의상황이니까(+ 프로세스가 죽을 정도의 치명적인 상황도 아님)//예시 2 Member member= repository.findByMeberNickname("user00"); return member; axios.get(...) .then(result=>{ if(result){ //값이 있으면 }else{ //값이 없으면.. }) ....비동기 호출 후 if else로 분기를 줘야할지 고민입니다! 현재 드는 생각은 sql 쿼리까지 정상적으로 호출되었지만결과값이 없었을 뿐이지 에러나 예외는 아니다.입니다. 따라서 후자가 아닐까!!