묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프에서 ENUM에 직접 접근할때
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]타임리프에서 스프링EL 문법을 사용하여 ENUM에 직접 접근할 수 있다고 했는데 그렇게 했을 때 폴더 구조가 노출됨으로써 생기는 보안문제는 없나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
th:action 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.코드를 작성하실 때, th:action을 비워두셨습니다.그리고 그 뒤 설명하실 때, "수정하기를 누르고 소스를 보면 action이 비워져 있는데, 이대로 저장하게 되면 이 경로 그대로 들어가게 됩니다"라고 말씀하셨습니다.설명하시는 의미는 대강 이해하겠는데 정확히 이해가 잘 안됩니다. 구체적으로 어떤 과정을 거쳐서 강사님이 말씀하신 대로 수행이 되는건가요?설명 부탁드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
싱글톤 객체 사용 방법이 이해가 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.위에서 private final ItemRepository itemRepository라고 작성한 부분은 ItemRepository의 객체를 하나만 사용하려는 목적. 즉, 싱글톤 객체를 사용하려는 목적으로 이해를 했습니다.근데, 위에 코드는 ItemRepository의 참조값을 담을 수 있는 변수를 선언만 하고 실제 객체를 가져오는 부분(ItemRepository 객체)이 없는거 같은데 어떻게 ItemRepository 객체를 BasicItemController 클래스에서 사용할 수 있는건가요?설명 부탁드립니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
H2 설치과정 시작 부터 막혀서 몇일째 진도가 막혔습니다....
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.답답합니다.... 원격 지원 이런게 있으면 좋겠습니다..일과 다 마치고 강의 시간 쪼개서 겨우 보려는데 올드버전 강의를 계속 판매하고 있지만 그에 비해 좀 영상제작 당시 버전과 많이 다른 부분을 찾아 헤매는 수강생들이 자주 보이고 영상 10분을 보려고 설정 안 되는 걸 찾아 2~3시간 낭비 할 때가 가장 아쉽네요... 다만 강의 내용은 만족스럽습니다. 여전히 해결이 안되고 있어 그냥 의견을 올려봅니다..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
URL요청 마지막에 "/" 을 포함하니 같은 URL로 매핑 안됩니다
안녕하세요!package hello.springmvc.basic.requestmapping; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/hello-basic") public String helloBasic(){ log.info("helloBasic"); return "ok"; } }이렇게 /hello-basic으로 매핑 되어있습니다 /hello-basicURL로 요청하면 잘 되지만 강의 3분대 내용처럼 '/'를 추가했더니 같은 요청으로 매핑이 안되고 404 오류가 발생합니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ServletInitializer
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의와 상관없지만 궁금해서 여쭤봅니다! 이전 기본편과 다르게 프로젝트 생성 후 ServletInitializer class가 별도로 생성된 이유는 무엇인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpingConfig가 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의 중 SpingConfig 클래스의 작동방식이 궁금해서 질문 올립니다!@Autowired 아래 생성자에 매개변수에는 bean에 있는 객체이거나 @Service, @Repository 등의 아래의 인스턴스가 들어가는 것 아니었나요?SpringConfig 생성자의 매개변수에 MemberRepository를 구현한 JpaMemberRepository의 인스턴스가 들어가야하는 것으로 알고있습니다.어떠한 구조로 스프링 컨테이너가 JpaMemberRepository의 인스턴스를 넣어서 호출해주는 것인지 궁금합니다!!+찾아보던 중 스프링 데이터 JPA는 JpaRepository와 같은 인터페이스를 상속받은 인터페이스를 스캔하여 자동으로 빈으로 등록한다는 사실을 확인하였습니다
-
미해결[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)
on 메서드 eventName 문의
on 메서드 호출시 eventName을"submit" 으로 사용하는 경우와 "@submit" 으로 사용하는 경우가 있는데요, 어떤 차이가 있나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
요청매핑 - api예시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 4분대에 MappingClassController에서 PathVariable사용 할 때 변수의 이름과 {}안의 이름이 일치하면 @PathVariable(name = "userId") 여기서 (name = "userId") 이 부분을 생락하고 @PathVariable String userId 이렇게 써도 된다고 하셨느데 생략하고 코드를 작성하니 포스트맨으로 요청을 보내면 500에러와 함께2024-01-10T01:03:31.758+09:00 ERROR 7843 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause이런 로그가 뜹니다. name을 명시해주면 잘 돌아가고요. 이유가 무엇인가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 오류 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]webapp 패키지 생성 후 index.html과 basic.html 생성 후 'localhost:8080' 또는 localhost:8080/index.html' 으로 화면이 출력되어야 하는데 으로 출력되어서 질문들을 보면서 확인해본 결과 webapp 폴더 내의 index.html이 welcome 페이지로 등록이 되지 않는 것을 확인했습니다. 이 후 다른 질문에 'resource/static' 에 넣어서 확인하면 되지 않냐 라는 해당 질문으로 확인해본 결과 static에서는 정상적으로 welcome 페이지가 등록된 것을 확인했습니다. 질문들을 확인하면서 현재 강의에 등록된 소스 코드의 프로젝트는 자바 11버전이라 현재 제 컴퓨터에서 자바 17로 운영하고 있어서 확인이 조금 껄끄러운 상황이라 17에서는 따로 webapp 폴더로 확인할 수 있는지 궁금해서 질문 올렸습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Member 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. MemeberRepository.java에서 Member save(Member member); 를 입력하면 Member에 에러가 뜹니다영한님도 강의 중에 에러가 뜨셨는데 빠르게 고치시더라구요뭘 고치셨는지 알려주시면 감사하겠습니다!! import class를 눌러봤는데 import java.lang.reflect.Member;가 위에 입력되면 에러가 해결되긴 하더라구요근데 강의와 코드가 다른데 괜찮나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
localhost:8080/hello가 whitelabel error가 떠요
View 환경설정 강의 그대로 폴더를 만들었는데 localhost:8080/hello를 하면 화이트라벨 에러가 나오고, localhost:8080만 치면 강의에서 /hello 붙인 결과 페이지랑 똑같이 나오는데 어디가 문제인지 모르겠어요.ㅜㅜㅜㅜ
-
해결됨스프링 프레임워크는 내 손에 [스프1탄]
회원테이블과 권한테이블 간 관계
선생님 안녕하세요. 회원테이블과 권한테이블 간 관계 질문드립니다.회원 1명이 사용자, 매니저, 관리자 중 여러 권한을 가질 수 있으니, 회원테이블과 권한테이블 간 관계는 '1대다'의 관계인가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
예외처리가 된 건가요? 아님 에러인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.package hello.hellospring.service; import hello.hellospring.domain.Member; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import java.util.Optional; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import static org.junit.jupiter.api.Assertions.*; class MemberServiceTest { MemberService memberService = new MemberService(); @Test void join() { //given Member member = new Member(); member.setName("hello"); //when Long saveId = memberService.join(member); //then Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName()).isEqualTo(findMember.getName()); } @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when memberService.join(member1); try { memberService.join(member2); fail(); } catch (IllegalAccessError e) { //예외가 터져서 정상적으로 성공한 것 assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } //then } @Test void findMembers() { } @Test void findOne() { } } java.lang.IllegalStateException: 이미 존재하는 회원입니다. at hello.hellospring.service.MemberService.lambda$validateDuplicateMember$0(MemberService.java:26) at java.base/java.util.Optional.ifPresent(Optional.java:178) at hello.hellospring.service.MemberService.validateDuplicateMember(MemberService.java:25) at hello.hellospring.service.MemberService.join(MemberService.java:18) at hello.hellospring.service.MemberServiceTest.중복_회원_예외(MemberServiceTest.java:45) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) Process finished with exit code -1 이렇게 빨간 느낌표가 뜨면 테스트 자체가 잘못된다는 건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
logging.level.hello.itemserivce.repository.mybatis=trace 로깅레벨적용
강의 후반에 logging level 을 trace로 하여 확인하는데 무슨 문제인지 확인이 되지 않네요.. debug까지만 먹히고 trace는 먹히지 않습니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 궁금증
@Transactional public void writeDelete(int id) { writeRepository.deleteById(id); } //위에는 서비스 계층입니다 아래는 데이터 접근 계층입니다 public void deleteById(int id) { try { String sql = "delete table member where id=?"; template.update(sql, id); sql="aaaa"; template.update(sql); } catch (DataAccessException e) { throw new RuntimeException(e); } }Q. 이상태에서 실행해봤는데 왜 롤백이 안될까요?? 테스트 코드에서 실행한건 아닙니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
포스트매핑은
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기서 print가 되는것은 제가 등록버튼을 눌렀을 때 되더라구요 postmapping은 등록하는 경우에 실행되게 해주는 것 맞나요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
servlet에 대해 제 생각을 한번 정리해봤습니다
강의를 듣고 다른분들도 그렇고 저도 그렇고 이해가 안가는 부분이 있어서 다른분들도 보고 이해할수있도록 최대한 자세하고 쉽게 정리해봤는데 ,맞게 이해했을까요?주제는 -servlet의 동작원리-spring container는 어떻게 생성이되었는지-dispatcherservlet가 singleton으로 관리된다고했는데 그러면 spring container와 어떤연관이있는지 -servlet 동작원리1.web brower에서 요청을받고 web server에 넘겨준다음 WAS에 web server에 넘겨주어 servlet container에 service()가 요청을 처리하고 was의 web server에서 반환을 해주어 응답을 해준다 -spring container의 생성과정1.web application을 실행하면 spring boot에서는 web.xml파일을 생성하고 web.xml파일안에 큰 틀에서 보자면 <param>~</param>부분은 root webapplicationcontext로 <servlet>~</servlet>부분은 web applicationcontext로 나뉘게 되는데 그 이유는 2-layered 아키텍쳐로 presentation Layer와 business Layer로 나뉘어서 개발하게 되기때문이다.2.web.xml파일에 ContextLoderListenr가 applicationcontext.xml 또는 root.xml을 로딩하여 applicationcontext(=spring container)를 만들고 1번에서 언급한 business layer에 필요한 DAO 등 설정을 함으로써 applicationcontext를 생성한다.여러정보를 찾아볼때 xml으로만 tomcat이 구현될때 servlet context와 application context가 생성이 되는줄알았는데 spring boot 3.0? 이상부터 WebApplicationInitializer구현 + AnnotationConfigWebApplicationContext 으로 지원한다고 하여 spring container의 생성과정도 맞지만 더 최신버전으로도 설명하겠습니다. public class WebInitializer implements WebApplicationInitializer{ @Override public void onStartup(ServletContext servletContext) throws ServletException { ... AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); context.setConfigLocation("com.studyspring.basic.config"); ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context)); dispatcher.setLoadOnStartup(1); dispatcher.addMapping("/"); ... ... } }1)톰캣을 실행하면 servlet context를 초기화하고 생성해야하는데 tomcat을 실행하면 tomcat이 webapplicationinitializer를 구현한 클래스를 먼저 찾게됩니다. 2)찾고나서 onStartup메소드를 실행하여 Annotationconfigwebapplicationcontext를 통해 applicationcontext를 만들게됩니다. -dispatcherservlet의 생성과정dispatcherservlet같은경우 servlet context가 생성되는 시점(=생성되는 시점도 lazy loading과 pre loading에 따라 달라집니다)에 만들어집니다.(dispatcherservlet은 궁극적으로 servlet이며, servlet은 동적 웹페이지를 만들때 사용되는 웹 프로그래밍 기술입니다. 이모양은 우리가 spring mvc에서 똑같이 볼수있었고 영한님 강의에서도 servlet로 spring mvc를 구현했었습니다. 하지만 하나하나 구현하기에는 어려움이 많았고 이걸 spring boot에서는 간편하게 지원해주기 때문에 spring은 곧 servlet를 쓰기위한 하나의 servlet로 이해할수있습니다. ) -bean은 도대체 왜 나왔으며 servlet container와 spring container는 다른건데 어떻게 쓰이지?위에 코드를 보면 Dynamic dispatcher = servletcontext... 이라고 선언된 부분이 있을텐데 dispatcher은 결국 servlet이고 servlet container에서 관리하는 객체입니다. 저문장의 뜻은 dispatcher을 context(=servlet container)에서 사용하기위해 등록한다는 의미이며 servlet container에서 dispathcerservlet를 spring container에게 보내주어 spring container에서 spring boot가 편리하게제공해주는 기능을 바탕으로 rendering을 한후 다시 return을 해서 dispathcerservlet는 servlet container에 속해있으므로 servlet container가 client에게 view를 보여줍니다. 결국, dispathcerservlet이 spring container에게 보내주어 bean으로 등록되어 spring container가 관리하는 객체가 되고, 결국 싱글톤으로 관리가되며 servlet이 올때마다 같은 인스턴스를 가지고있는 객체로 인식되어 재사용이 가능한 상태로 남게됩니다. 최종적으로 지금까지한 설명을 그림에 빗대어서 마무리하겠습니다. 처음에 설명했던 servlet webapplicationcontext와 root webapplicationcontext는 2-layer 아키텍처로 구현된 모습이며 철저히 구현과 역할이 나누어져있습니다. dispatchersevlet은 spring container가 생성이되고 servlet container에서 사용할수있게 만들어졌고 그로인해 접근이 가능하다. 한객체의 레퍼런스를 두개의 컨테이너에서 들고있어도 문제가 없다는것을 알게되었습니다. 정리후 저의 개인적인 질문입니다!spring container에서 생성이되고 servelt container에서 사용이 됩니다. 하지만 dispatcher servlet은 궁극적으로 servlet이고 관리가 되는 컨테이너는 servlet container라고 생각이되었습니다. 하지만 dispatcher servlet은 싱글톤으로 관리가 되고 인스턴스를 공유할수있다는점에서 spring container와 연관이 있지않나라는 생각도 들었습니다. destory()라는 메소드를 가지고있고 외부에서도 소멸될수있어서 dispatcher servlet이 어떤 container에서 관리가 되는지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
타임리프 태그??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<html lang="en">로 해도 정상실행이 되는데 했을 때와 차이는 무엇인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프론트 컨트롤러 생성자는 한번만 실행되는게 맞나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 프론트 컨트롤러에 컨트롤러를 new해주어 객체를 생성하였는데 FrontControllerServletV1() 이라는 생성자가 서블릿 컨테이너에 서블릿이 등록되기 위해 호출되는 것이 맞나요?맞다면 이 생성자는 서블릿을 등록할 때, 딱 한 번만 실행되는건가요?