inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

서블릿과 컨트롤러의 차이

미해결

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

서블릿과 컨트롤러의 차이가 뭔가요? 서블릿도 url로 요청 오는 것을 받아들이고 컨트롤러도 url 요청 오는 것을 받아들이는데 서블릿과 컨트롤러의 차이를 모르겠습니다. 참고로 관련한 다른 글을 봐도 이해가 안 돼서 질문 드립니다.

  • spring
  • mvc
공태성 댓글 3 좋아요 1 조회수 493

섹션 5.

해결됨

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

@Controller @RequestMapping("/springmvc/v3/members") public class SpringMemberControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @GetMapping("/new-form") public String newForm() { return "new-form"; } @PostMapping("/save") public String save(@RequestParam("username") String username, @RequestParam("age") int age, Model model) { Member member = new Member(username, age); memberRepository.save(member); model.addAttribute("member", member); return "save-result"; } @GetMapping public String members(Model model) { List<Member> members = memberRepository.findAll(); model.addAttribute("members", members); return "members"; } } RequestMappingHandlerAdapter에서 핸들러 어댑터를 찾으려면 핸들러 어탭터를 등록해야 하는데 스프링에서 애노테이션 인식해서 저장되는 핸들러 어탭터 뭘로 등록되는 건가요? 위에 코드는 그냥 핸들러로 등록되는 거고, 그럼 SpringMemberControllerV3 핸들러를 실행시켜줄 핸들러 어댑터는 자동으로 생성되는데 궁금한 건 v4에서는 process로 모든 메서드가 같아서 처리가 가능했는데 지금은 다른데 어떻게 처리가 되는 겁니까? SpringMemberControllerV3에서 메서드가 3개니까 SpringMemberControllerV3을 호출해줄 핸들러 어댑터가 각 newForm, save, members를 사용할 수 있게 3개 생성되는 건가요??

  • spring
  • mvc
권정익 댓글 1 좋아요 0 조회수 141

SpringMemberFormControllerV1 404 에러

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] http://localhost:8080/springmvc/v1/members/new-form 접속시에 404 에러가 납니다 매핑이 안되는거 같은데... 왜 일까요 ㅠㅠㅠ 도와주세욥 소스코드입니다! commit 11 기준으로 봐주시면 감사하겠습니다! https://github.com/Leejuseop/Spring_Mvc_1

  • spring
  • mvc
이주섭 댓글 1 좋아요 0 조회수 339

변수에 final 붙인 이유

해결됨

김영한의 실전 자바 - 중급 1편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] NetworkClient 클래스, SendException 클래스, ConnectException 클래스들의 필드를 캡슐화로 외부에서 상태 변경을 막았는데 왜 final로 정의한 이유가 궁금합니다.

  • java
  • 객체지향
규원 댓글 1 좋아요 0 조회수 251

list.sort() vs Collections.sort()

해결됨

김영한의 실전 자바 - 중급 2편

강의 내용중 Comparable, Comparator 파트에서 List 데이터를 정렬할 때 Collections.sort() 와 list.sort() 중 list.sort를 권장하는 이유를 조금 더 자세히 알고 싶습니다. 이 부분에서 list.sort()를 사용하는 게 더 객체지향적인 코드 라고 말씀해주셨는데 List 인터페이스에 정의된 sort() 메서드를 사용하는 게 Collections class 에 정의된 static 메서드보다 어떤 측면에서 더 객체지향적인지 느낌은 오는데 이것 때문이다 라고 정리가 잘 안돼서 질문 드립니다. Collections 의 코드를 봤을 때 내부에서 Collections.sort(list, comparator)를 보게되면 list.sort(comparator) 메서드를 사용하고 있는데 그러면 굳이 Collections.sort()를 사용해야 할 케이스가 따로 있어서 정의한 것인지 어떤 경우에 사용하는지 궁금합니다. public static <T> void sort(List<T> list, Comparator<? super T> c) { list.sort(c); }

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
won 댓글 1 좋아요 0 조회수 238

화면이 안보여요

해결됨

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

5강까지는 문제없이 보였는데 6강부터 수파베이스 관련된 마지막 강의까지 화면이 검정색으로 아무것도 안보이는데 혹시 저만그런건가요?? 이런적이 처음이라 어떻게 해야할지 모르겠어요 수파베이스 다음 강의부터는 또 잘 나오는거 같아요 지금 그냥 건너뛰고 뒤에 강의 듣고있는데 또 비슷한 현상이 나타나네요 ;;;;;;;; 화면이 까맣게 안나오고 목소리만 들려요,,,

  • react
  • 클론코딩
  • next.js
  • supabase
ksjune0528 댓글 2 좋아요 0 조회수 318

예외 처리 질문

미해결

김영한의 실전 자바 - 중급 1편

안녕하세요. 예외 처리 질문드립니다. checked exception을 잡을 때 catch 블럭에서 임의로 발생시킨 MyCheckedException이 아닌 RuntimeException을 잡으려고 하면 여기서 예외 처리를 못하니 throws로 예외를 다시 던져줘서 코드가 에러가 없었는데, unchecked exception을 잡을 때 똑같이 catch 블럭에서 발생된 MyUncheckedException이 아닌 다른 예외를 catch로 선언하고 나서 못 잡을 경우 밖으로 예외를 던지나 보려고 했는데 catch 에서 MyUncheckedException이 아닌 예외 중 어떤 건 에러가 안 나고 어떤 건 에러가 납니다. 예를 들어 NullPointerExceptoin으로 잡으려고 하면 코드에 이상이 없고, MyCheckedException으로 잡으려고 하면 에러가 발생합니다. 어차피 둘 다 catch 블럭에서 처리할 수 없어서 밖으로 던질텐데 왜 이런 걸까요 ? public void callCatch(){ try{ client.call(); }catch(NullPointerException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); } public void callCatch(){ try{ client.call(); }catch(MyCheckedException e){ System.out.println("예외처리, message = " + e.getMessage()); } System.out.println("정상 흐름"); } java: exception exception.basic.checked.MyCheckedException is never thrown in body of corresponding try statement

  • java
  • 객체지향
인프린 댓글 2 좋아요 0 조회수 301

오타라고 봐도 될지 모르겠는데 일단 제보합니다.

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 6. 로그인 처리1 - 쿠키, 세션.pdf (v20240408) '쿠키를 사용해서 로그인Id를 전달해서 ~~~' 이런 식으로 나와 있는데 여기에 써진 로그인Id가 loginId랑 같은 의미라면 혹시 오타일까요? 쿠키를 통해 전달하는 건 MemberRepository의 store에 저장된 id라서 memberId 혹은 id가 좀 더 명확하지 않나 싶어서 제보합니다.

  • spring
  • mvc
11 1 댓글 1 좋아요 0 조회수 228

섹션5. RequestMappingHandlerAdapter

해결됨

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

@Controller @RequestMapping("/springmvc/v3/members") public class SpringMemberControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @GetMapping("/new-form") public String newForm() { return "new-form"; } @PostMapping("/save") public String save(@RequestParam("username") String username, @RequestParam("age") int age, Model model) { Member member = new Member(username, age); memberRepository.save(member); model.addAttribute("member", member); return "save-result"; } @GetMapping public String members(Model model) { List<Member> members = memberRepository.findAll(); model.addAttribute("members", members); return "members"; } } 코드를 실행하면 스프링 빈에 Controller가 붙은 SpringMemberControllerV3가 등록되고, 자동으로 맵핑도 됩니다. 질문: http 요청이 오면, mapping된 핸들러를 찾습니다. 여기서 핸들러는 SpringMemberControllerV3인 건가요? 핸들러가 핸들러 어댑터를 찾아야하는데 핸들러 어댑터 맵핑 할 때는 뭐가 등록이 되는 건가요? 제가 이해한 건 SpringMemberControllerV3 클래스가 핸들러 어댑터로 등록이 되고, SpringMemberControllerV3 클래스 안에 있는 메서드가 핸들러로 등록이 되는 거 맞나요? 어떤게 핸들러 어댑터고 어떤 게 핸들러(컨트롤러) 인지 잘 모르겠습니다. 여기서는 핸들러(컨트롤러)만 만들어놓은 거 같은데 여기서 핸들러 어댑터는 뭐로 맵핑이 되는지를 몰라서 핸들러 어댑터를 찾을 때 어떤 것과 비교를 하는 건가요?

  • spring
  • mvc
권정익 댓글 2 좋아요 1 조회수 247

h2-database 오류 질문

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Database "/home/ubuntu/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-224] 90149/90149 (도움말) 오류가 발생합니다.. 구글링을 해보니t est.mv. db 를 생성해주어야하더라구요.. 원래 맨처음에는 잘 됐는데 비번 잘못설정해서 다 삭제하고 다시 설치하였습니다. 일단 설명대로 C:\Users\user에 직접 만들어주었습니다. 하지만 같은 오류가 발생해서 원인을 모르겠습니다 ㅠㅠ.ㅠ

  • java
  • spring
  • mvc
  • spring-boot
백엔드 지망생 댓글 2 좋아요 0 조회수 699

예외처리

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

예외처리에 관련해 질문이 있습니다. try 구문안에서 예외가 발생하면 밑에있는 try의 남은 구문 건너뛰고 바로 catch문으로가서 잡아주는것으로 알고있습니다. 그런데 공부하다보니까 헷갈리는게 MemberRepository에 있는 save메서드로 예를 들면, con.prepareStatement(sql)부터 SQLException을 발생시키는데 어떻게 try안에 있는 것들이 정상적으로 수행되는지 궁금합니다. 예외가 나오는 순간 catch문으로가서 catch구문을 수행하는 것이 아닌가요 ?? @Override public Member save(Member member) { String sql = "insert into member(member_id,money) values(?,?)"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setString(1, member.getMemberId()); pstmt.setInt(2, member.getMoney()); pstmt.executeUpdate(); //수정 return member; } catch (SQLException e) { log.error("db error", e); throw new MyDbException(e); }finally { close(con, pstmt, null); } }

  • spring
  • mvc
  • spring-jdbc
해톨 댓글 1 좋아요 0 조회수 212

예제 2번 풀이

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

예제 2번 &&다음 !가 있는 거면 아닌거 찾는 거 아닌가요? 해설 다시 부탁드립니다.

  • python
  • java
  • c
  • 정보처리기사
Aaaar 댓글 1 좋아요 0 조회수 386

Content-Type 질문

해결됨

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

1번 text/html 2번 application/x-www-form-urlencoded 질문: a. 둘 다 Content-Type이 html인 걸로 알고있는데 2번은 html form에 사용되는 거고, 1번도 html form에 사용되는 거 아닌가요?! b. 1번과 2번의 차이가 뭔가요? c. 1번과 2번의 post전송 방식이 어떻게 다른 건가요?

  • spring
  • mvc
권정익 댓글 1 좋아요 0 조회수 168

test.mv.db 파일이 생성된걸 어디에서 확인 가능한가요?

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. test.m v.db 파일이 생성된걸 어디에서 확인 가능한가요?

  • spring
  • mvc
  • spring-jdbc
service 댓글 2 좋아요 0 조회수 464

LettuceLock 에러

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요. 올려주신 강의를 보고 따라하다가 에러가 발생하여 질문드립니다. 모든 테스트는 정상으로 떨어지나, LettuceLock 테스트만 에러가 발생을 하네요... 제가 디버깅 했을 때는 public Boolean lock(Long key) { return redisTemplate .opsForValue() .setIfAbsent(generateKey(key), "lock", Duration.ofMillis(3_000)); } 해당 부분이 키를 갖고 오지 못하는 거 같은데, 해결 방법이 있을까요??

  • java
  • spring
  • 동시성
용정 댓글 2 좋아요 0 조회수 371

정렬

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

안녕하세요 코드보고 공부하다가 궁금한 점이 생겨서 질문 남깁니다. 문제에서 가수가 라이브한 곡 순서대로 부른곡의 길이가 분 단위로 나타난다고 하였습니다. 예시에서는 오름차순으로 잘 정렬되어있지만 가수가 라이브한 곡들의 길이가 뒤죽박죽되어있을때도 있을것을 고려해 배열을 정렬해준뒤 강사님의 풀이랑 똑같은 풀이를 적용하였는데 오답이라고 떴습니다. 정렬메소드가 들어가면 왜 오답이 뜨는지 궁금합니다 !

  • java
  • 코딩-테스트
해톨 댓글 1 좋아요 0 조회수 221

매뉴얼이 어디있나요?

미해결

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

매뉴얼이 어디있나요?

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

postman에서 message : ??? 나올 때

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 혹시 Postman으로 요청을 보냈을 때 ??? 값이 나온다면 Setting > File Encodings > Transparent native-to-ascii conversion 을 체크 해주시고 다시 Postman을 확인해보면 잘 나옵니다!

  • spring
  • mvc
Titans 댓글 1 좋아요 4 조회수 532

지역 클래스 지역 변수 캡쳐 질문

미해결

김영한의 실전 자바 - 중급 1편

안녕하세요. 자바의 설계상 동기화 등의 문제로 지역 클래스가 생성되 때 지역 변수의 값을 캡쳐하기 때문에 값을 변경하면 컴파일 에러가 난다는 설명에서 문의드릴 게 있습니다. 설명해주신 예제로 확인하면 순서가 1.process() 호출 -> 스택 프레임 생성 2. 해당 메서드 바디의 코드 실행 3. LocalPrinter() 객체 생성 인데, 여기서 3번 LocalPrinter() 객체가 생성이 될 때 지역 변수를 쓰는 게 있다면 그 지역 변수를 LocalPrinter() 객체 내부로 변수를 캡쳐해서 활용한다는 것이잖아요 ? 그러면 설명해주신 것과 같이 객체 생성 이후에 값을 변경하려고 하면 동기화 문제가 발생할 수 있어서 자바에서 그렇게 설계를 안했다는 건 이해를 하겠는데, 객체 생성 전에 값을 바꾸는 건 어떻게 이해를 해야 할까요 ? 생성 전에 값을 바꾸면 사실상 객체 생성 이후 캡쳐를 하더라도 바뀐 값으로 캡쳐를 하면 되니 동기화 문제가 전혀 없을 거 같아서요. 캡쳐본 중 위에는 객체 생성(캡쳐) 이후 바꾸면 안되는 예시이고 동기화 등을 고려하였을 때 제가 궁금한 건 캡쳐 전의 값 변경이 왜 캡쳐에 영향을 주느냐는 겁니다. (아래 캡쳐본) public Printer process(int param){ int localVar = 1; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); localVar = 10; // printer.print(); return printer; } public Printer process(int param){ int localVar = 1; localVar = 10; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); //localVar = 10; // printer.print(); return printer; }

  • java
  • 객체지향
인프린 댓글 2 좋아요 0 조회수 340

섹션 7 51강에서..

미해결

PZM기반 실무중심 백엔드 부트캠프(프리트레이닝)

interface를 class로 인식하는 것 같아요

  • java
  • spring
  • spring-boot
  • jpa
  • backend
박준호 댓글 1 좋아요 0 조회수 203

인기 태그

인프런 TOP Writers

주간 인기글