inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

혹시 DTO에 대해서 설명해 주실수 있나요?

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

DTO라는 개념이 이후 강의에서도 계속 나오는데, 개념 설명이나 이걸 왜 쓰는지에 대해 자세히 나온게 없는거 같아서 질문드립니다. (물론 제가 못 찾은 거 일수 있습니다. 만약 강의에 있다면 어디쯤에 나오는지만 알려주시면 제가 참고해서 보겠습니다.) 그리고 endpoint(끝점?) 이것도 모르겠습니다... 개념 설명좀 부탁드립니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 3 좋아요 0 조회수 411

인터셉터 에러 미전달 케이스

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 기존 섹션에서 추가한 인터셉터가 있는 경우 sendError에서 지정한 에러 코드가 아닌 정상 값을 응답 값을 전달받은 이유가 궁금합니다. 에러를 포함한 응답 값이 없는 경우 톰캣에서 무조건 200 값을 반환하는 것인가요?

  • spring
  • mvc
심현우 댓글 1 좋아요 0 조회수 204

스프링 MVC 작동순서가 맞는지 확인 부탁드립니다!

해결됨

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

@Controller @RequestMapping("/springmvc/v3/members") public class SpringMemberControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @GetMapping("/new-form") public String newForm() { return "new-form"; } } 핸들러 조회 : 클라이언트로부터 /springmvc/v3/members/new-form에 대한 GET 요청이 들어오면, 스프링 MVC는 @RequestMapping("/springmvc/v3/members")과 @GetMapping("/new-form")을 통해 이 요청을 처리할 SpringMemberControllerV3 클래스의 newForm() 메소드를 핸들러로 결정합니다. 핸들러를 처리할 수 있는 핸들러 어댑터 조회 : 스프링은 결정된 핸들러(컨트롤러의 메소드)를 실행할 수 있는 핸들러 어댑터를 찾습니다. 스프링 MVC에는 여러 종류의 핸들러 어댑터가 있으며, 이 경우에는 RequestMappingHandlerAdapter가 사용됩니다. handle() : 핸들러 어댑터는 핸들러 메소드(newForm())를 호출하는 handle() 메소드를 실행합니다. handler(controller) 호출 : newForm() 메소드가 호출되어 실행됩니다. 이 메소드는 뷰의 이름을 문자열로 반환합니다. 여기서는 "new-form"이 반환됩니다. ModelAndView 반환: 이 예제에서는 단순히 뷰 이름을 문자열로 반환합니다. 스프링 MVC는 이 문자열을 바탕으로 ModelAndView 객체를 내부적으로 생성하며, 모델 데이터는 비어 있고, 뷰 이름은 "new-form"입니다. ViewResolver 호출: 반환된 뷰 이름 "new-form"을 기반으로 ViewResolver가 호출됩니다. ViewResolver의 역할은 뷰 이름을 실제 뷰 객체로 변환하는 것입니다. 스프링 MVC에서는 InternalResourceViewResolver 등 다양한 ViewResolver 구현체를 사용할 수 있으며, 이는 보통 applicationContext.xml 혹은 @Configuration 설정 클래스에서 설정됩니다. View 반환: ViewResolver는 요청된 뷰 이름에 해당하는 실제 뷰 객체를 찾아 반환합니다. 예를 들어, JSP를 사용하는 경우, "new-form" 이름은 /WEB-INF/views/new-form.jsp 파일에 해당하는 JstlView 객체로 해석될 수 있습니다. render(model) 호출: 뷰 객체는 ModelAndView에서 제공하는 모델 데이터(이 예제에서는 비어 있음)를 사용하여 뷰를 렌더링합니다. 렌더링 과정에서 최종적으로 클라이언트에게 보낼 HTML이 생성됩니다. HTML 응답: 생성된 HTML이 클라이언트에게 응답으로 전송됩니다. 클라이언트는 이 HTML을 받아 브라우저에서 렌더링합니다. MVC의 대략적인 개념을 위와 같이 이해하면 될까요? (gpt가 정리해준건데 정확한지 모르겠습니다 ㅠ)

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

14분 20초쯤에 쿼리 새로 만드신거 여쭤봅니다.

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

새 쿼리 만들어서도 가능하지만, sqlhelper 파일로 데이터베이스 연결이 가능하다는 걸 보여줄려고 그냥 한번 보여주신건가요?

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 1 좋아요 0 조회수 191

스프링 mvc 관련 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 스프링 입문 강의 섹션2. MVC와 템플릿 엔진 강의 중 @RequestParam의 required 기본값은 true이고, false로 설정하고 싶으면 @RequestParam(value = "name", required=false)와 같이 수정하면 된다고 하셨는데, required값이 false이면 강의의 예제와 무슨 차이인건가요??required값을 false로 설정하고 실행해봐도 여전히 localhost:8080/hello-mvc로 실행하면 오류가 발생하고, localhost:8080/hello-mvc?name=spring!과 같이 실행해야 하던데 required값이 true인 경우와 false인 경우 무슨 차이인지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
이주영 댓글 1 좋아요 0 조회수 249

마스터 페이지를 쓸려면 폴더 이름을 꼭 Shared로 해야하나요?

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

위에 Home 폴더와 Test뷰는 컨트롤러와 액션 때문에 이름을 딱 맞춰서 한걸로 아는데 Shared폴더와 _Layout 파일은 따로 언급이 없으셔서 여쭤봅니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 1 좋아요 0 조회수 214

@PathVariable을 이용한 getMapping 사용시

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Get 요청 특성상 URL에 개인정보가 들어가게 되면 보안상에 큰 문제가 없을까요? 실무 환경에서도 유저 ID같은 정보를 전달할때 PathVariable을 사용하는지 궁금합니다.

  • spring
  • mvc
김지환 댓글 1 좋아요 0 조회수 287

스프링 통합 테스트

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] WARNING: A Java agent has been loaded dynamically (C:\Users\dlfnx\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.12\be4984cb6fd1ef1d11f218a648889dfda44b8a15\byte-buddy-agent-1.14.12.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended https://drive.google.com/file/d/1DZgTN4_woYB6PZGeJvSiUOLJ5TB8VCq9/view?usp=drive_link 코드 오류 난 것이 있는지 확인해 봤는데 제 눈에는 잘 보이지 않습니다.. 혹시 왜 오류가 난 것인지 알 수 있을까요?

  • java
  • spring
  • mvc
  • spring-boot
간다간다뿅간다 댓글 1 좋아요 0 조회수 399

의존성 주입시 프록시 객체 주입

해결됨

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

public MemberController(MemberService memberService) { this.memberService = memberService; System.out.println("memberService : "+memberService.getClass()); } 생성자 주입을 통해 의존성 주입을 하였습니다. memberService는 콘솔창을 통해 프록시 객체인 것을 확인하였습니다. 해당 내용과 관련해서 2가지 질문이 있습니다. Q1) 스프링 빈에 올라가는 것은 모두 프록시 객체가 올라가나요 ?? Q2) 의존성 주입시 프록시 객체가 주입되고 MemberService 의 메소드가 호출되는 경우 실제 MemberService 객체가 호출되나요 ?? 감사합니다 ~!

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

강의 26분 부터 진행이 안도고 500 에러 발생합니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] https://drive.google.com/file/d/1CQgi9utYN6GNS3pn4k1cXk5t7xuJYQXN/view?usp=sharing 26분 다수의 이미지 파일 올리는 부분은 다시 확인해보니 UploadFiile클래스에 오타가 있어서 안되었던것 같습니다. 그런데 오타 수정 후 다시 실행하여 제출을 누르니 텍스트 파일 하이퍼 링크가 표시가 안되는데 왜 그런건지 확인해 주실 수 있나요? 그리고 강의 19분 부분 ItemController 클래스에 newItem() 까지만 진행된 부분 실행하니 500에러가 발생하는데 콘솔에 멀티파트로 데이터 나오는 부분이 출력이 안되고 2024-04-16T14:10:23.335+09:00 WARN 22132 --- [upload] [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' is not supported] 해당 오류가 뜨고 있습니다. 왜 그런건지 알려주세요

  • spring
  • mvc
양치잘하기 댓글 1 좋아요 0 조회수 464

<html xmlns:th="http://www.thymeleaf.org"> 인식이 안되는거 같습니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 디펜던시에도 들어있는거 같고 build.gradle에도 이렇게 되어있습니다. 그런데 이러한 현상때문에 프로젝트를 4번이나 따라만들어봤는데 계속해서 생기는데 어떻게 해야하나요

  • java
  • spring
  • mvc
  • spring-boot
todendvv91 댓글 2 좋아요 0 조회수 1395

섹션2-2. Hello 서블릿 진행 중 WhiteLabel 에러 관련 질문입니다.

해결됨

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

섹션 2-2. Hello 서블릿 강의 진행중에 /hello 접근 시 WhiteLabel 에러가 발생합니다. 업데이트된 매뉴얼에 따라 현재 Build and Run 항목은 모두 Gradle 으로 설정되어 있으며, 자바 21, 17 버전 모두 같은 문제가 발생하고 있습니다. @ServletComponentScan //서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } } @WebServlet(name = "helloServlet", urlPatterns = "/hello") public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("HelloServlet.service"); } } 같은 문제 관련하여 질문 글들 확인 및 시도해봤습니다만 해결이 되지 않았습니다. 콘솔창에도 아무것도 출력되지 않네요. 답변주시면 감사하겠습니다!

  • spring
  • mvc
7591 댓글 2 좋아요 1 조회수 203

회원 관리 예제 - 웹 MVC 개발

해결됨

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

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 혹시 제가 폴더 명이나 파일 위치가 잘못 된 걸까요..? https://drive.google.com/file/d/150XPoxwV1oDeLVp8b2oAuuNBADwwXIEl/view?usp=drive_link

  • java
  • spring
  • mvc
  • spring-boot
간다간다뿅간다 댓글 3 좋아요 0 조회수 446

원핫 인코딩에서 0,1이 아니고 False,True가 나옴

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 원핫 인코딩에서 0,1이 아니고 False,True가 나옴

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
조영희 댓글 2 좋아요 0 조회수 1585

ubuntu 응답없음

해결됨

Airflow 마스터 클래스

powershell에서 wsl --install을 입력한 후에 ubuntu 시작하는중... 이 출력되고 그 다음에 응답이 없는데 이런 경우 어떻게 해야할까요?

  • python
  • 데이터-엔지니어링
  • airflow
rosy 댓글 1 좋아요 0 조회수 420

파일업로드,다운로드 궁금한게 있습니다.

미해결

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

mvc2편 마지막 강의에서 아래 컨드롤러를 추가했다고 화면에 이미지 파일이 나타나는 이유를 정확히 모르겠습니다. /images/{filename} 디렉토리가 호출된 적이 없잔아요? @ResponseBody @GetMapping("/images/{filename}") public Resource downloadImage(@PathVariable String filename) throws MalformedURLException { return new UrlResource("file:" + fileStore.getFullPath(filename)); }

  • spring
  • mvc
jfk6725 댓글 2 좋아요 0 조회수 455

로그인 세션에 대한 고찰

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 스프링mvc와 jpa를 활용해서 게시판 프로젝트를 만들고있습니다. 로그인 처리는 세션으로 구현했습니다. 한 유저가 로그인을 해서 게시글을 작성했을때, 그 게시글은 작성한 해당 유저만이 수정 및 삭제를 할수있게 구현을 하는 중입니다. @GetMapping("/{boardId}/edit") public String editForm(@PathVariable("boardId") Long boardId, Model model, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } model.addAttribute("board", findBoard); return "boards/editForm"; } 현재 이런식으로 해당 게시글의 번호(boardId)로 해당 게시글이 있는지 먼저 검증을 한 후, 세션에 담아둔 유저의 정보를 가져와 해당 게시글을 작성한 유저의 id와 세션의 유저 정보의 id를 비교를 해서 다 검증이 끝나면은 로직이 정상 수행이 되게 만들었는데 막상 이렇게 만드니 수정 페이지이동, 수정, 삭제 에서도 검증하는 로직이 계속 중복됩니다. @PostMapping("/{boardId}/delete") public String deleteBoard(@PathVariable("boardId") Long boardId, HttpServletRequest request, HttpServletResponse response) throws IOException { Optional<Board> findBoardOptional = boardRepository.findByIdJoinFetchMember(boardId); if (findBoardOptional.isEmpty()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return null; } MemberSessionDto memberSessionDto = getMemberSessionDto(request); Board findBoard = findBoardOptional.get(); if (!memberSessionDto.getId().equals(findBoard.getMember().getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return null; } boardRepository.deleteById(boardId); return "redirect:/boards"; } 이렇게 똑같이 중복이 됩니다. 이렇게 구현을 하는게 맞는건지, 혹은 더 추천하는 방법이 잇는지, 실무에서는 어떻게 검증을 하는지 여쭈어보고싶습니다.

  • spring
  • mvc
이준희 댓글 2 좋아요 0 조회수 292

파일 업로드 다운로드 오류입니다. 빠른 답변바랍니다.

미해결

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

실행 결과과 강의 내용과 다르게 나옵니다. 진도 나가야 되니 빠른 답변 바랍니다. https://drive.google.com/file/d/18G2rJDiA_FpbU226rO0Ck0-xmi-6fa-6/view?usp=sharing

  • spring
  • mvc
댓글 1 좋아요 -24 조회수 517

인기 태그

인프런 TOP Writers

주간 인기글