inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

인터셉터가 제대로 동작하지 않습니다.

미해결

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

안녕하세요, 이 강의를 완강이후 프로젝트를 수행중인 학부생입니다. 로그인 기능 구현과 관련하여 강의 예제 코드를 참고하며 구현하던 중 이해할 수 없는 현상이 발생하여 질문 드립니다. 코드 LoginInterceptor.java package Alchole_free.Cockpybara.interceptor; import Alchole_free.Cockpybara.constant.SessionLoginConst; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Slf4j //@Component public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); log.info("session = {}", session); if(session==null || session.getAttribute(SessionLoginConst.LOGIN_MEMBER)==null){ log.info("로그인되지 않은 사용자"); response.sendRedirect("/login"); return false; } log.info("정상 요청"); return true; } } WebConfig.java package Alchole_free.Cockpybara.config; import Alchole_free.Cockpybara.interceptor.LoginInterceptor; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //@Slf4j @Configuration //@RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { // private final LoginInterceptor loginInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()) .order(1) .addPathPatterns("/**") .excludePathPatterns("/", "/join", "/login", "/css/**", "/*.ico", "/error"); } } 문제 위와 같이 코드를 구성하고 애플리케이션을 동작시켰는데, 인터셉터가 아예 로그에 남지 않는(생성되지 않는 것으로 보이는) 현상이 발생하였습니다. 관련하여 구글링을 하다보니 인터셉터 클래스를 빈으로 등록해주는 형태가 아니면 동작하지 않을 수 있다고 하여, 빈으로 등록하고 WebConfig 클래스에서 생성자를 통해 주입받는 형태로 구현도 해보았는데 여전히 같은 문제가 발생하더군요. 도대체 어느 부분에서 문제가 발생하는 것인지 파악하기가 힘들어 고민끝에 질문드립니다. 혹시 몰라 아래 빌드, 설정 파일도 첨부합니다. 문제 실행 화면 /hello 로 Controller @GetMapping 메서드를 구현해놓고 요청을 보냈으나 인터셉터 관련 로그가 기록되지 않는 모습입니다. build.gradle plugins { id 'java' id 'org.springframework.boot' version '2.7.13' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'Alchole_free' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '11' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' compileOnly 'org.projectlombok:lombok' runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //swagger 설정 implementation group:'io.springfox', name:'springfox-swagger2', version:'2.8.0' implementation group:'io.springfox', name:'springfox-swagger-ui', version:'2.8.0' } tasks.named('test') { useJUnitPlatform() } application.properties # DataSource spring.datasource.url=jdbc:mariadb://localhost:3306/cockpybara spring.datasource.username=root spring.datasource.password=cockpybara spring.datasource.driver-class-name=org.mariadb.jdbc.Driver # JPA spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect #show parameter binding logging.level.org.hibernate.type.descriptor.sql=DEBUG logging.level.org.hibernate.SQL=DEBUG

  • spring
  • mvc
안민재 댓글 1 좋아요 0 조회수 406

터미널 빌드 실패 윈도우

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] cd로 이동 후 gradlew bulid를 실행했을 때 Task 'bulid' not found in root project 'hello-spring'. Some candidates are: 'build'. 라고 에러가 납니다. 환경변수는 어느 답변 중 %JAVA_HOME%\bin으로 하는 것을 확인했습니다.

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

날짜 데이터 넘기는 법

미해결

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

안녕하세요 타임리프에서 LocalDate 넘기는 방법중에 타임리프에서 format을 하시던데 제가 프론트 코드를 일하면서 못봐서 그런건지는 모르겠는데 json으로 date를 포맷팅 해서 넘겨주는 방식은 본 것 같거든요 혹시 타임리프에서 date를 직접 받아와서 사용 하는 방식중 어느 방식이 더 좋을까요?

  • spring
  • mvc
junhyoeung kim 댓글 1 좋아요 0 조회수 420

소켓 통신

미해결

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

서버쪽에서 서블릿 tcp/ip연결등 잡다한것을 담당한다고 하셨는데 그럼 client쪽에선 누가 소켓연결하고 이런일을 하나요?? 웹 브라우저가 하나요??

  • spring
  • mvc
jung 댓글 1 좋아요 0 조회수 498

다음 강의 주제

미해결

스프링 부트 - 핵심 원리와 활용

안녕하세요 :) 혹시 다음 강의를 준비중이시라면 다음 강의 주제를 알 수 있을까요? MSA 관련해서 강의 예정이 있으신지 궁금합니다!

  • spring
  • spring-boot
  • prometheus
  • grafana
최준성 댓글 1 좋아요 0 조회수 896

chapter09_02.py질문)) csv 형식으로 write시 출력 결과물이 달라요

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

# 예제4 w = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]] with open('./resource/write1.csv', 'w', encoding='UTF-8') as f: print(dir(csv)) # csv 속성 확인 wt = csv.writer(f) #dir 확인 #print(dir(wt)) #타입 확인 #print(type(wt)) for v in w: wt.writerow(v) # writerow : 한 줄 한 줄 작성 # 예제5 with open('./resource/write2.csv', 'w', encoding='UTF-8') as f: fields = ['One', 'Two', 'Three'] wt = csv.DictWriter(f, fieldnames = fields) # DictWriter : dict형으로 쓸 수 있음, fieldnames : 필드명(헤더네임)쓸 수 있음. wt.writeheader() # 헤더 네임 작성 for v in w: wt.writerow({'One' : v[0], 'Two' : v[1], 'Three': v[2]}) 수행 시 아래와 같이 출력 파일이 한줄씩 띄어서 출력이 되고있습니다. 선생님이 작성하신 코드 그대로 해도 동일한 결과가 나타나는데, 뭐때문에 이런걸까요?

  • python
눈물의초보 댓글 1 좋아요 0 조회수 263

invalid type code: 00 오류 관련 질문

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] <프로젝트 생성>강의를 보고 따라 스프링부트 프로젝트를 생성했습니다. 그런데 다음 오류가 발생하여 글 남깁니다. _________________________ java.io .StreamCorruptedException: invalid type code: 00 > invalid type code: 00 ___________________________ 다음은 빌드 그레들 코드 내용입니다.(자바 17 설치 또한 완료했습니다) 어떻게 해결할 수 있을까요? ____________________________ plugins { id 'java' id 'org.springframework.boot' version '3.1.1' id 'io.spring.dependency-management' version '1.1.0' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() }

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

AuthenticationProvider 등록 관해서 질문이 있습니다.

미해결

스프링 시큐리티

안녕하세요 선생님. 스프링 부트 2.7.x 버전에서 하기 스크린샷과 같이 설정 하였을때 인증프로바이더가 중복으로 등록 되는 문제가 발생하였습니다. 하기와 같이 인증매니저를 설정을 수정하니 인증프로바이더가 정상적으로 1개 등록되었습니다. 왜 이런 일이 발생하는지 잘 이해가 되지 않아서요.. 선생님께서 이유를 아신다면 설명해주시면 감사하겠습니다.

  • java
  • spring-boot
  • spring-security
김관욱 댓글 1 좋아요 0 조회수 1061

dic으로 풀었는데

미해결

입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]

def dic_solution(nums): answer = -1 sH = dict() for i in nums: if(i in sH): sH[i]+=1 else: sH[i]=1 for i in sH: if(sH[i]==1): if(i>answer): answer=i return answer 이렇게 dic으로 풀었는데 수업에서는 다른 방법으로 풀었더라고요 수업 끝에서 대충 듣긴 했는데 그냥 단순히 작아서 direct address table로 만든건가요? 아니면 추가적인 이유가 있나요? 궁금합니다.

  • python
  • 코딩-테스트
용기있는 청년 댓글 1 좋아요 0 조회수 308

ProcessPoolExecutor 사용 시 pid 증가

해결됨

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

안녕하세요 강사님, ProcessPoolExecutor를 이용해서 아래와 같이 코드를 작성했는데요, return된 pid를 출력해보면 계속 증가하는 모습을 보이는데, python에서 할당받은 pid range 내에서만 circular로 반복되는 걸까요??? 이렇게 계속 증가하는게 별다른 문제는 되지 않을까요? try: while True: with ProcessPoolExecutor(max_workers=6) as ex: processes = {} # submit tasks to the pool processes.update({ex.submit(self.hello, time)}) for future in as_completed(processes, timeout=3): # check for a failure if future.exception(): # report progress LOG.error("Failed get %s", processes[future]) data = future.result() module = processes[future] pid = data

  • python
  • 동시성
seungsooo.kim 댓글 1 좋아요 0 조회수 383

AppConfig 작성시 인스턴스 일치 문제관련

해결됨

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] AppConfig 작성시 사진과 같이 코드를 작성하면 OrderServiceImple 에 들어가는 MemoryMeberRepository랑 Memberservice에 들어가는 MemoryMeberRepository 각 각 new 로 생성하여 할당했으므로 둘이 동기화가 안돼는 거 아닌가요??

  • spring
  • 객체지향
박준형 댓글 1 좋아요 1 조회수 372

오픈소스 템플릿을 활용한 UI 디자인 기초작업 수업 질문

미해결

피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z

종합 실전예제3. 이커머스 앱 UI 디자인- 오픈소스 템플릿을 활용한 UI 디자인 기초작업 강의에서 질문드립니다. 하단 탭바를 복사해서 왔을 때 Star 아이콘 프레임 수치들이 고정값으로 수정할 수 없게 되어있습니다. Component 가 제대로 삭제되지 않는 것 같습니다. 강의에서 알려주신대로 복사하고 해당 Component를 삭제해도 Go to main component 누르면 오픈소스 파일로 넘어갑니다.

  • 웹-디자인
  • 모바일-디자인
  • figma
yeawon7 댓글 1 좋아요 0 조회수 440

쿼리 실행하기 단계

미해결

[백문이불여일타] 데이터 분석을 위한 SQL 실전편 (무료 미니 코스)

강의를 따라가다가 쿼리 실행하기 단계에서 이런 사진이 뜨면서 결제하지 않으면 더 이상 진행이 불가합니다. 결제를 해야 강의를 계속 들을 수 있는 건가요??

  • sql
금현준 댓글 1 좋아요 0 조회수 430

MySQL Workbench 이미지

미해결

지금 당장 NestJS 백엔드 개발 [ToDo 리스트]

데이터베이스 스키마 생성 이미지가 너무 작아 보기가 어렵습니다. 그리고 내용이 saju_db_prod인데 스키마 todos로 가는게 맞나요 아니면 saju_db_prod로 해야되나요?

  • nestjs
bigtuna 댓글 1 좋아요 0 조회수 429

@RequestParam 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @RequestParam 어노테이션은 localhost:8080/?username=kim 처럼 뒤에 쿼리문을 받는 거라고 알고있는데 강의 영상에서는 save 함수에서 쿼리문이 없는데도 값이 전달되는데 이유가 무엇인지 궁금합니다

  • spring
  • mvc
yso829612 댓글 2 좋아요 0 조회수 427

MMU안에 베이스 레지스터가 있나요?

해결됨

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

베이스 레지스터가 MMU 내부에 있는건가요?

  • 컴퓨터-구조
  • 운영체제
  • 기술면접
최성민 댓글 1 좋아요 3 조회수 749

Outer join 질문

미해결

데이터 분석 SQL Fundamentals

안녕하세요, 강의 잘 듣던 중 궁금한 점이 생겨 질문 남깁니다. Outer join 실습 - 02에서 -- orders_items에 주문번호(order_id)가 없는 order_id를 가진 orders 데이터 찾기 select * from nw.orders a left join nw.order_items b on a.order_id = b.order_id; where b.order_id is null ; 여기서 만약 결과값이 있는 데이터였다고 가정할때 is null이 쓰인 where 절에서 a.order_id로 쓰면 원하는 결과값이 나오지 않는 게 맞나요?

  • sql
  • postgresql
  • dbms/rdbms
황이주 댓글 1 좋아요 0 조회수 464

url 할당 질문

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요 강사님 강의 잘 보고있습니다. 강사님의 강의를 보고 따로 프로젝트를 만들어 보고 있는데 로컬주소/dashboard를 하면 dashboard가 안열러서 뭐가 잘못됐는지 궁금해서 질문드립니다! 일단 프로젝트 구조입니다. urls.py 입니다 dashboard/urls/dashboard.py 입니다 dashboard/views/dashboard.py 입니다. 실행을 하면 url이 없다고 합니다

  • react
  • python
  • django
  • docker
병주 댓글 1 좋아요 0 조회수 422

@Configuration

미해결

스프링 핵심 원리 - 기본편

안녕하세요! 싱글톤 강의 듣다가 궁금한 점이 있어서 질문 남깁니다. 우선 제가 이해한 내용이 맞는지 확인 부탁드립니다. @Configuration을 붙이지 않고, @Bean만 붙인 객체들은 생성하면 빈에 등록되며, 빈 컨테이너에 의해 관리는 되지만 @Configuration를 붙이지 않았기 때문에 스프링이 AppConfig CGLIB라는 라이브러리를 사용하지 않아서 동일한 객체를 가지고 오지 않아 싱글톤이 보장되지 않는다. 맞나요? 그래서 @Configuration을 쓰지 않았을 때 memberRepository가 3번 출력이 되는 것 까지는 이해했습니다.. 제가 이해가 안 가는 부분은 MemberServiceImpl에 들어있는 memberRepository가 왜 new MemoryMemberRepository()를 넣어준 것과 같나요? 왜 스프링 컨테이너가 관리하지 않나요...? AppConfig에서 memberRepository()에서 new MemoryMemberRepository() 해줬는데 여기에 싱글톤 적용이 되지 않아서 계속 new 해준 것과 같다는 의미인가요?

  • spring
  • 객체지향
박희원 댓글 2 좋아요 1 조회수 495

인기 태그

인프런 TOP Writers

주간 인기글