묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서버검증과 클라이언트검증
서버 검증에서도 오류 문구를 뷰에 나타내고클라이언트검증에서도 오류 문구를 뷰에 나타내지 않나요? 제가 잘못 알고있는 것인지 아니면 모두 사용하는 건지.. 검증 두가지를 섞어써야한다고 하셨는데 문구는 어떻게 처리하는지 궁금합니다!
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
긴급!!)3강 root 비밀번호 이미 설정됨(?)
https://www.inflearn.com/questions/328457/mysql-root-%EB%B9%84%EB%B2%88 위 학생과 정확히 같은 문제를 겪고 있습니다.기존에 mysql 이나 oracle 도 깔려있지 않은 상태에서 전자 정부 프레임워크를 새로 깔았습니다.(다만, 수업과 같은 버전이 서비스 종료되어 eGovFrame-4.0.0 로 깔았음)위처럼 Enter password: 까지 잘 접근 했는데 엔터를 누르니 1045 에러가 뜹니다.오타 문제는 아닙니다ㅜㅜMySQL 5.7 버전부터 임의의 문자열로 초기 비밀번호가 설정돼 있다는 이야기도 있더라고요..여하튼..빨리 진도 나가고 싶습니다! 빠른 해결 부탁드립니다..ㅜㅜ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ScriptAssert 스프링 3.0.1 이상 / jdk 17 버전 이상 실행 불가 임시방편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 내쉬혼 자바스크립트 런타임이 이제 jdk 17에서부터 deprecated 되면서 더이상 지원을 하지 않게 됬지만그래들로 임시방편이더라도build.gradle에 implementation ("org.openjdk.nashorn:nashorn-core:15.3") 로 강제로 연명은 아직 가능합니다..근데 내쉬혼이 현 자바스크립트 런타임이랑은 좀 머니최신 자바스크립트 런타임 가진 graalVM 을 임포트해 와서 CustomScriptAssertValidator 클래스를 만들어 @Bean 등록을 하고 싶은데 어렵네요..
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
해당 강의 중 validation의 다른 front-end platform활용 효율
========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 :)validation파트 강의를 듣는 도중 bindingResult, FieldError등 SSR기술을 활용한 thymleaf, jsp와 같이 하나의 project에 front, back-end가 같이 설정되어 사용하는 경우에만 해당 기술 활용 시 제일 효율적이고 다른 vue, react.js같은 경우에는 해당 기술을 활용하기 어려울 것으로 판단이 되는데요 맞을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실패 - 3가지 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 예 예[질문 내용]여기에 질문 내용을 남겨주세요.3가지 오류가 있다는데 하란대로 했는데 왜 안되는지 모르겠어요. 시작부터 난관이라 너무 스트레스받네요..C:\Program Files\spirngboot\pulsar-spring\.gradle\7.6.1\fileChanges\last-build.bin (지정된 경로를 찾을 수 없습니다)Failed to create parent directory 'C:\Program Files\spirngboot\pulsar-spring\.gradle' when creating directory 'C:\Program Files\spirngboot\pulsar-spring\.gradle\vcs-1' Could not update C:\Program Files\spirngboot\pulsar-spring\.gradle\7.6.1\fileChanges\last-build.bin 이렇게 세가지가 나옵니다. 어떻게 해야할까요.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
동작 원리에 대한 접근 방법에 대해 알고 싶습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]spring-boot-starter-validation 라이브러리가 Spring Boot에서 LocalValidatorFactoryBean을 글로벌 Validator로 등록해서 애노테이션 검증을 수행한다라는 내용에 대해 말씀해주셨습니다.영한님께서 이런 동작 원리에 대해 접근하실 때 어떻게 접근하시는지요? 동작 원리에 대해서는 공식 문서에서도 찾기가 힘들지 않나 싶습니다. 영한님의 접근 방식을 알고 싶습니다. External Libraries에서 의존성 라이브러리 안에 있는 클래스를 보신다던지.. 직접 IDE로 디버깅을 해보신다던지..감사합니다.
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
설정 오류
settings에서 intelliJ로 바꾼후 서버가 실행이 안됩니다로그가 3개밖에 안떠요 gradle로 바꾸면무한로딩 걸리면서 서버 종료누르면이런 에러가 나와요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일 업로드 질문(multipart/form-data)
@PostMapping(value = "/upload") public ResponseEntity<String> saveFile(@RequestPart List<MultipartFile> files) { log.info("files={}", files); if (files==null || files.isEmpty()) { // 파일이 없는 경우 check JSONObject response = new JSONObject(); response.put("message", "Fail! Re-upload the file"); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(response.toString()); } //정상 로직 } 안녕하세요. 영한 님 강의 보고 따라서 한 번 해보고 혼자 해보다가 궁금한 게 생겨 질문드립니다.여러 개의 파일을 업로드 할 수 있게 List 타입으로 받았고 만약 업로드한 파일이 없다면 if 문을 탈 수 있게 예외 처리를 했습니다.현재 포스트맨으로-headers의 content-type을 Multipart/form-data-body의 key에는 "files"를 value에는 파일을 선택하지 않고 테스트하고 있습니다.그럼 당연히 files는 비었을 것이라고 전제를 두었지만, 디버깅해 보니 if 문이 false를 반환하고 files[0]=""(빈 문자열)을 뱉어내고 정상 로직을 수행하더군요.여기서 질문이 있습니다.1. value에 파일을 선택하지 않았다고 해서 빈 파일이 생기는 것이 아닌 포스트맨에서 자체 동작으로 빈 파일 = 빈 문자열로 대체해서 넣어주는 지 (제가 포스트맨 동작 방식을 모르고 있는 걸까요?)2. 빈 파일을 보내면 Multipart/form-data의 요청 특성으로 빈 문자열("")이 전송되는 걸까요? 이게 맞는다면 멀티파트 형식을 유지하기 위해 빈 파일이나 빈 파트가 생성되어 전송되는 것일까요?3. list 타입 대신 하나씩 file을 받아오는 게 좋을까요?강의를 볼 땐 이해가 되면서도, 뭐가 맞는지 헤매고 있습니다..코드면에서 문제였다면, 키워드라도 알려주시면 찾아보겠습니다.긴 글 읽어주셔서 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
url 패스 관련 질문
다른 질문을 봤을 때url : localhost:8080/abc/def?param1=data1¶m2=data2위와 같이 경로를 지정하고 싶으면 변수를 추가해야 한다고 봤습니다.@GetMapping("link")public String link(Model model) {model.addAttribute("param1", "data1");model.addAttribute("param2", "data2");model.addAttribute("url1", "abc");model.addAttribute("url2", "def");return "basic/link";}위에서와 같이 모델에 값을 새로 추가해주고<li><a th:href="@{/hello/{url1}/{url2}(url1=${url1}, url2=${url2}, param1=${param1}, param2=${param2})}">위와 같이 html에서 값을 넣는 방식이 결과적으론 원하는 값이 출력되긴 했지만 Q.1) () 안에서 변수와 같은 값이 있다면 해당 변수에 대 값을 대입하는 것으로 사용되는 것이고, 없다면 parameter값으로 사용되는 것인지 궁금합니다.Q.2 ) 이렇게 사용하는 것이 맞는지와 실제로도 실무에서 이렇게 사용하는지 빈도가 높은지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
한글, 한국 기준으로 나오는 이유
유틸리티 객체와 날짜 강의에서 temporals를 사용해서 날짜와 시간들을 찍어보았는데요. 신기하게도 한국 기준으로 한글로 나오더라구요. 어떻게해서 이렇게 나오는건가요? 만약 다른 나라 기준으로 찍고 싶다면 어떻게 해야하나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
MVC 2편에 대해 질문있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿][질문 내용] MVC 2편에 쿠키와 세션에 관해 다루는 부분이 있더라고요.질문 1)통상적으로 로그인할때 이 방법을 사용한다고 보면 되나요?질문 2)요즘 보니까 OAuth 인가 그것을 로그인할때 사용한다 그러던데 강의 구매하고 들으면 이해하는데 도움이 될까요??질문 3)그리고 여러 open api 들이 많지 않습니까?실제 개발할때 open api를 사용하는 주체가 프론트 쪽인가요, 아니면 벡엔드 쪽에서 json 형식으로 데이터를 받아서 가공해서 프론트한테 넘겨주는 방식인가요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
Java 설정 방식에서
안녕하세요.JAVA 설정 방식에서 아래와 같이 의존성을 주가하거나<dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.4</version></dependency>WEB-INF/lib/폴더에 ojdbc6.jkar 파일을 직접 넣어서build path 에서 설정하고 해도모두 아래와 같은 오류가 발생합니다.SEVERE: 경로 [/MyBatisJava]의 컨텍스트 내의 서블릿 [dispatcher]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot load JDBC driver class '${db.classname}xml 방식의 설정에서는 똑같이 설정했는대도 (설정과 소스 파일 모두 Java 설정 방식에서와 똑같이 작성했습니다.) 잘 됩니다.어떻게 하면 JAVA 설정 방식에서도 정상적으로 DB 연결이 이루어질 수 있는지요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
default method 구현부가 어디 있는지 궁금합니다.
자바 8 기본 문법에 관한 거라서 질문하기 꺼려지긴 합니다만, 달리 질문할 데가 없어서 질문드립니다.강의에서 Filter, HandleInterceptor 인터페이스를 구현함으로 서블릿 필터와 스프링 인터셉터 기능을 사용할 수 있음을 배웠는데요. 각 인터페이스의 default method들은 이미 구현이 되어 있기 때문에 따로 구현을 해주지 않아도 되는 건 이미 알고 있었습니다.근데, 제가 알기로는 인터페이스의 default 키워드를 붙이려면 구현부가 꼭 있어야 하는 걸로 아는데, 해당 인터페이스들의 소스 코드를 까보면 구현부는 따로 없는 것 같습니다. 구현부는 대체 어디 있는 걸까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
상품종류와 지역 방식 차이
상품 종류는 이넘을,지역은 컨트롤러에서 생성(?)을,이렇게 다른 방식을 적용하는 이유가 있나요? 혹 체크박스와 라디오의 차이인건지..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
파일 다운로드 후 Redirect
예제로 구현하는 파일 업로드, 다운로드 에서 파일 다운로드 할때 다음과 같이 ReponseEntity를 return해서 진행했었습니다.return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition).body(resource);그런데 다운로드 후 다른 uri로 redirect를 하려면 어떻게 해야하나요? 구글링을 해보니 다운로드 후 redirect는 할 수 없다는데 만약 redirect되게 하고 싶다면 어떻게 구현해야할까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿의 개념을 확실하게 잡고 싶습니다.
제가 서블릿을 들으면서 요약했던 개념으로는클라이언트는 WAS에게 HTTP 요청을 보냄.WAS는 해당 HTTP 요청 메시지를 뜯어서 request 객체랑 response 객체를 생성.(response는 껍데기만 있고, request 안에는 요청 메시지의 바디 내용이 들어있다)request, response 객체를 해당 서블릿에게 넘긴다.서블릿은 프로세스 처리를 하고, 응답 결과를 response 객체에 넣어서 was에게 돌려준다.was는 response를 클라이언트에게 돌려준다.이렇게 정리를 했습니다.이게 제대로 학습한 개념이 맞는지 궁금합니다. 또 pdf 내용에서는HttpServletRequest 역할HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. 라고 적혀있는데 HTTP 요청 메시지를 파싱하는 건 was 아닌가요?was가 파싱해서 request객체에 담아서 서블릿에 전달하는 것으로 알고 있었는데pdf는 서블릿이 http 메시지를 파싱해서 request에 담는다고 나와있어서 질문드립니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
getOriginalFilename null check
public String convertedFile(@RequestParam MultipartFile attachFile) throws IOException { if (attachFile.isEmpty()) { return null; } String originalFilename = attachFile.getOriginalFilename(); String ext = extractExt(originalFilename); }위처럼 MultipartFile를 isEmpty로 체크하고 getOriginalFilename로 originalFilename을 가져온다음 originalFilename을 extractExt 함수의 argument로 넣어려고하는데 null을 check하라고 나옵니다. 정확히는 아래처럼 null이 나올 수 있다고 뜨네요.isEmpty로 위에서 한 번 체크하면 안뜨는 걸로 알고 있는데 뜨는 이유가 뭘까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
교재 내 instanceof 없이 캐스팅
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.@Override public void validate(Object target, Errors errors) { Item item = (Item) target; ValidationUtils.rejectIfEmptyOrWhitespace(errors, "itemName", "required")... 여기서 Item item = (Item) target; 하는데target instanceof Item 이 없는 이유를 알 수 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈이란 것은
스프링빈 파트 부분을 듣다 보니처음에는 진짜 뭔소린지 하나도 모르겠고스프링스프릴ㅇㅇ스프링빈 컨테이너 막 혼동이 와서 정신줄 잡고 듣고있는데그러면 결국 스프링 빈은 객체 인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
AddPathPattern 경로 세팅에서..?
========================================[질문 내용]안녕하세요.인터셉터 conifg 파일에서 addPathPattern()함수내 인터셉터 대상이되는 경로를 세팅할때 질문있습니다. ^^;예를들어/*/abc.do 와/**/abc.do 의 경로세팅을 한다고했을때위 두예시에서 차이점이 있을까요?즉, 경로 중간에 *이 한개있을때와 2개있을때차이점이 궁금합니다. 찾아봐도 잘 안나오는것 같아서 질문드립니다. (_ _)