묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
GetMapping, PostMapping
클라이언트와 서버간의 동작에 대해 헷갈려서 여쭤보려구요!!웹 브라우저에 localhost:8080/form/items/add 라고 치면 addForm(Model model) 메서드가 동작해 모델에 "item"이라는 이름에 빈 객체 Item을 넣고 form/addForm 타임리프 페이지를 렌더링 해서 브라우저에 띄운다.상품 등록 폼에서 상품명, 가격, 수량을 작성해서 상품 등록 버튼을 누르는 순간 @PostMapping의 addItem 메서드가 호출되어 해당 메서드의 로직을 실행한다고 보면 될까요?위 코드로 스프링 MVC 동작 방식과 순서를 알고 싶습니다.
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
스프 1, 2탄 전자정부프레임워크에서만 사용할 수 있나요?
프로젝트를 전자정부프레임워크에 사용하고 있던데 일단 전자정부프레임워크 바탕으로 공부하되 나중에 수업내용을 다른 곳에 적용할 수 있을까요?스프링 레거시 프로젝트는 이제 점점 안쓰이고 있는 추세인것 같은데 배워두면 도움이 될까요?취준생입니다.ㅜㅜ전자정부프레임워크만 사용하는 곳에 취직한다면 환경설정을 어렵게 할 필요없어서 상관이 없겠는데요.다른 이클립스, 인텔리제이를 쓰는 곳에 들어가면 꽤나 곤란할 것 같아서요.특히 인텔리제이로 예제를 실행하면 자꾸 오류가 나서요.원래 전자정부프레임워크르 바탕으로 만들어진 예제같아서 잘 안되는 것 같은데요수업자료는 정말 정말 괜찮은데 프로젝트를 전자정부프레임워크에서만 쉽게 실행이 가능하면 환경설정에 약한 처음 공부하는 입장에서 꽤나 곤란할것 같아서요 ㅠㅠ인텔리제이는 잘 몰라도 이클립스 가지고 프로젝트를 구축하는 방법도 나중에 설명해주셨으면 합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
bulid.gradle 부터 오류가나고 메인메소드 실행버튼 자체가없어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.2 was found. The consumer was configured to find a runtime of a library compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but:메인메소드 실행하려면 이런거뜨고, 실행 버튼도 없고 그러네요... 빌드 가져왔을때부터 동기화 오류나오던데코끼리눌러도안됩니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field="*{ipPort}"에서 IpPortToStringConverter가 선택된 이유
[ConverterController.java] public String converterForm(Model model) { IpPort ipPort = new IpPort("127.0.0.1", 8080); Form form = new Form(ipPort); model.addAttribute("form", form); return "converter-form"; } [converter-form.html] <form th:object="${form}" th:method="post"> th:field <input type="text" th:field="*{ipPort}"><br/> th:value <input type="text" th:value="*{ipPort}"> </form> th:field가 컨버터로 IpPortToStringConverter를 선택한 이유가 궁금한데요. 추측해본 이유는 다음과 같습니다.th:field가 value 속성을 만들 때, form.getIpPort()에 컨버터를 적용하려고 한다. 그런데, form.getIpPort()의 타입은 IpPort이다. 그래서, 컨버팅 대상은 IpPort가 되는 것이다.String으로 컨버팅되는 이유는 <input type="text">이기 때문이다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
저는 V1을 써도 잘못 입력된 값이 사라지지 않는데 타임리프가 업데이트 된걸까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요? 강의 너무 잘 듣고있습니다!실습하던 중에 저는 addItemV1 버전으로 rejectedValue 없이 오류를 처리했는데도 영한님과 다르게 입력했던 값이 유지가 됩니다. 타임리프가 업데이트 된걸로 봐야할까요?감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터에서 에러발생 했을떄 로그
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요. 필터는 setDispatcherTypes 로 무슨 요청일때 필터가 작동하는지 설정을 할수있는데 인터셉터는 그게 안되서..만약에 에러페이지인데도 어떤 에러페이지는로그가 필요하고 어떤 에러페이지는 로그가 필요 없을땐 어떻게 처리해야 할까요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle-wrapper.properties' not found
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]start.spring.io에 들어가그림과 같이 프로젝트를 만든 후 인텔리 제이로 실행만 시켰는데 이런 오류가 뜹니다.gradle파일을 찾을수 없다인것 같은데..어떻게 해결하는지 모르겠어서 질문남깁니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
${{number}}에서 IntegerToStringConverter가 선택된 이유
[ConverterController.java] model.addAttribute("number", 10000); [converter-view.html] <span th:text="${{number}}" ></span>Model에서 "number"에 대응되는 10000은 int 타입입니다.이때, IntegerToStringConverter가 선택된 이유가 궁금한데요.ConversionService에서 int -> String으로 바꿔주는 컨버터가 없으니까,int ->Integer로 바꾼 후에, Integer -> String으로 바꿔주는 컨버터를 찾은 것인가요..?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
수업자료 제목이 자꾸 깨지는데요(window)
어떻게 해야하나요??다른 알집폴더도 이렇습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
createParam에 관해 질문있습니다.
FrontController에서 request 받는 데이터를 createParam을 통해 하나의 Map 담아서 각 Controller에 전달합니다. 현재 프로젝트에서 이 Map 정보가 필요한 건 SaveController 뿐인 것 같은데 맞나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의를 듣는 방향에 대한 질문이 있습니다
아직 학생이고 스프링을 통한 개발을 공부하기 위해 강의를 듣고 있습니다. 스프링 부트로 개발을 하고 싶은데 지금 설명해주시는건 스프링 부트를 배우기 전에 기반을 다지는 거니까 너무 세세하게 문장 하나하나를 따지고 가는 것 보다는 스프링이 이러한 과정을 통해 현재 편리한 스프링 부트까지 오게 되었다는 것을 체득하기 위해 듣는 쪽으로 해도 후에 큰 문제가 없을지 궁금합니다.
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
기존테이블 컬럼 응용
안녕하세요. 공부하다가 궁금한점이 있어서 질문드립니다. cust_info 고객정보 테이블에서 cust_id, name, email 이렇게 3가지가 있을 때이것을 새로운 컬럼을 만들어서 넣고 싶습니다. e.g : cust_info_col = cust_Id + name + email 데이터를 담고 싶습니다. 즉, 기존테이블에서 하나의컬럼에 각 컬럼값을 넣어서 조회 뿐만 아니라 저장을 하고 싶은데이럴 경우에는 mapper에 select, update cust_info_col = cust_id || name || email as cust_info_col로 추가하면되나요? 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
dto에서 strip 사용방법
RequestDto로 데이터를 받을 때 strip을 사용해서 공백제거를 하고싶은데Dto에서 setter를 사용해도 strip적용이 안되네요ㅜㅜ좋은방법알려주세요
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프론트 컨트롤러 3,4에서 세션 사용시
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]ControllerV3 or ControllerV4에서 세션 접근 희망시 문제"mvc프레임워크 만들기의 프론트 컨트롤러 버전 3,4" 처럼, request와 response 객체를 각각의 컨트롤러에 넘겨주지 않고 paramMap으로 넘겨주는 식으로 개발하게 되면 컨트롤러 안에서 세션 접근이 안 될 것으로 생각되는데 맞을까요?이런 경우 :1. 각각의 컨트롤러 자체에서 세션에 접근할 일이 없게 구성한다 (예: 세션 정보 확인 후 해당되면 별도의 값을 넘겨주는 로직 등을 컨트롤러 밖에서 진행)2. paramMap을 string Obejct 형식으로 구성하여 세션도 함께 넘겨준다.2.1 paramMap과 더불어 session객체를 넘겨준다.3. 필요한 경우 굳이 paramMap을 넘겨주는 것이 아닌 기존의 request, response 를 넘기는 방식으로 구성한다.등의 대안이 떠오르는데..상황마다 다르겠지만 혹시 이런 경우 일반적으로 어떤 식으로 개발을 진행하는지, 아니면 처음부터 별개의 방법이 있는 것인지 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
LoginController
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Logincontroller @getmapping함수에서 이 함수는 /loginurl로 온 http get방식일때 loginform을 view로 반환해주는 역할을 하는거고 아래 @postmapping에서 @modelattribute로 고객 아이디, 비번가지고 로그인처리하는 로직이 들어가는데 저기 @getmapping에서는 @modelattribute loginForm을 인자로 담는 이유는 무엇인가요? 사용하지도 않고 view를 반환하는데요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
TimeTraceAop 함수작동원리
@Component @Aspect public class TimeTraceAop { @Around("execution(* hello.hellospring..*(..))") public Object execute(ProceedingJoinPoint joinPoint) throws Throwable { long start = System.currentTimeMillis(); System.out.println("START: " + joinPoint.toString()); try { return joinPoint.proceed(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("END: " + joinPoint.toString()+ " " + timeMs + "ms"); } } } 강의 후반부 aop예제에서 이 함수의 작동원리가 try안에 있는 joinPoint.proceed()를 통해 다음 메서드로 넘어가고 마지막메서드를 실행하고 그다음에 finally문이 실행되어서 메서드실행역순으로 END time이 출력되는건가요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
LoginCheckFilter에서 예외처리를 왜하는건가요?
1. 어떤예외가 발생할것이라고 생각해서 예외처리를 해주는것인가요?- 세션에 오류가있는 경우 예외가 발생할 수 있음- 리다이렉션에서 오류가 발생할 수 있음-> 그래서 try-catch사용함인건가요? 2. 예외되던지기를 사용하는이유해당 메서드에서 예외를 처리해버리면 정상요청으로 처리해버림. 그래서 was까지 올려주기 위해 예외를 던짐 < 이라고 하셨어요.왜 정상요청으로 처리하는건지.. was까지 올려주면 뭐가 달라지는건지..모르겠습니다was까지 올려줘야 해당 에러에 대한 대응 페이지를 잘 만들어주는데 제가 처리해버리면 성공에 대한 페이지를 만들어주기때문인가요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
사진업로드
사진업로드 하는 방법으로 파일크기나 동영상파일 형식으로 불러온다면 동영상 업로드하는 방법과 같은 건가요?
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
파일사용
따라하다가 오류가 났는데 고쳐지지가 않아서 선생님 소스를 사용하려고 합니다그런데 해당챕터 파일전체를 사용하려고 하니 사용이 되지 않아서 방법이 있는지 문의 드립니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP 응답 데이터 - json
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.response.setContentType을 application/json로 지정하면 utf-8을 사용하도록 정의되어 있다고 하셨는데 utf-8을 제외하고 실행하면 한글이 깨집니다.