월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WebMvcConfigurer에 대해서 궁금합니다.
@Configuration @RequiredArgsConstructor public class WebMvcConfig implements WebMvcConfigurer { private final AppConfig appConfig; @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) { resolvers.add(new AuthResolver(appConfig)); } }안녕하세요 제가 지금 프로젝트를 하나 하고있는데요이 코드에서resolver.add()를 하면 어떻게 되는건지 궁금합니다.AuthResolver에 대한 의존성을 추가해주는 코드인가요?resolvers.add()의 동작방식이 궁금합니다.그리고 resolver의 정확한 의미가 뭔지 궁금합니다
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
섹션4_Model추가 V3 강의 질문 입니다.
섹션4_Model추가 V3 강의 내용 중FrontControllerServletV3 클레스 에서 해당 render 메서드의 파라미터 mv.getModel()에는 createParamMap 메서드에서 만들어진 paramMap? 즉 key, value로 생성된 모든 request 값이 들어가고, view.render(mv.getModel(), request, response); 메서드 내부에 modelToRequestAttribute 메서드는 위에서 넘겨준 paramMap을 다시 request에 새팅해주는게 맞나요? 어질 어질 하네요.. ㅜㅜ
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
was 장애 시, 기본 에러페이지를 커스텀 가능한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.해당 영상을 보고 나서 개발 하는 중 궁금점이 생겨 질문드립니다.WAS가 죽으면(=서버가 과부하가 되거나 어떤 요인에 의해 다운될 경우) WAS가 표출해주는 에러페이지를 보여주지 못하고 (templates 파일은 내부적으로 was만 접근 가능하기 때문)톰캣에 기본 내장된 에러페이지를 보여준다라고 이해했습니다.이 때, 톰캣이 보여주는 내장된 에러페이지는 에러코드 및 톰캣 버전 등 정보를 가지고 있어 보안상 위험하다고 판단이 되었습니다.이러한 경우 정적 소스를 처리할 수 있는 web server에서 개발자가 커스텀한 에러페이지를 표출할 수 있도록 해야 될 거 같은데, 이게 가능한지 , 어떻게 설정을 해야하는지 궁금합니다.또한 불가능하다면 어떤 다른 방식으로 위의 문제점을 해결하는지 궁금합니다. 감사합니다.
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
test 실행이 안됩니다
에러문구는 이렇게 뜨고build.gradle은 이렇게 되어있습니다 여기 문제인거 같은데 방법을 못찾겠네요
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
forward 흐름을 제가 생각한게 맞는지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@WebServlet(name = "mvcMemberServlet", urlPatterns = "/servlet-mvc/members/save") public class MvcMemberServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); //Model에 데이터를 보관. request.setAttribute("member", member); String viewPath = "/WEB-INF/views/save-result.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request,response); //-> 요청의 제어권을 save-result.jsp에게 넘김 즉 요청의 흐름이 넘어감 } }그러고 나서 jsp로 흐름이 넘어오고<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 성공 <ul> <%-- 이 부분을 request에 저장된 member 파라미터를 통해 값을 넣고--%> <li>id=${member.id}</li> <li>username=${member.username}</li> <li>age=${member.age}</li> </ul> <a href="/index.html">메인</a> </body> </html> <%--이 부분에서 최종적으로 브라우저에게 응답이 나간다.--%>이렇게 이해했는데 맞을까요 ..?맞다면 처음 클라이언트의 요청을 받은건 서블릿이고 최종 응답을 해준것은 jsp인가요?
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
StringHttpMessageConverter가 사용될 때의 미디어 타입
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]위 사진에서 StringHttpMessageConverter의 경우미디어 타입은 별/별이라 써져 있고, 쓰기 미디어 타입은 text/plain이라고 나와 있습니다. 저는 처음에 위 부분을 다음처럼 이해했었습니다.StringHttpMessageConverter가 요청을 받을 때 사용되는 경우(파라미터가 String인 경우) 요청 메시지의 Content-Type이 무엇이든 상관없다. StringHttpMessageConverter가 응답할 때 사용될 경우에도(리턴 타입이 String인 경우) 요청 메시지의 Accept가 무엇이든 상관없다.StringHttpMessageConverter가 응답할 때 사용될 경우(리턴 타입이 String인 경우) 요청 메시지의 Accept가 특정한 거로 지정되어 있지 않다면 응답 메시지의 Content-Type이 text/plain으로 되지만, Accept가 지정되어 있다면 그에 맞는 미디어 타입(application/json 등)으로 나갈 수 있다.원래 이렇게 생각했었는데, 다시 보니 pdf에 별/별이라고 되어 있는 미디어 타입은 요청 미디어 타입에 한정해서 써져 있는 건가?싶기도 해서 헷갈립니다. 그렇게 다시 해석한다면 StringHttpMessageConverter가 요청을 받을 때 사용되는 경우(파라미터가 String인 경우) 요청 메시지의 Content-Type은 아무 거나 상관없다. StringHttpMessageConverter가 응답할 때 사용될 경우(리턴 타입이 String인 경우) 요청 메시지의 Accept는 text/plain(혹은 이걸 포함한 별/별)이어야 하며 다른 미디어 타입은 허용하지 않는다. 전자와 후자 중 어떤 게 맞나요? 혹은 제가 쓴 양쪽 내용 다 잘못된 내용을 포함한다면 무엇인지 궁금합니다. 저는 전자일 것 같기는 합니다. 이전에 produces 관련 코드를 작성할 때 String으로 반환하는데도 produces = "text/plain"이 아닌 produces = "text/html"로 썼기 때문에요. 그런데 확신이 안 들어서 질문드립니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
모델을 나눈이유는 테스트 때문인가요?
모델을 따로 분리한 이유를 request, response를 안쓰는 컨트롤러가 있어서 라고 말씀하셨는데request를 안쓰는 컨트롤러는 Map도 안쓰고파라미터 -> 맵 -> 파라미터로 다시 바꿔야 하는 수고로움도 있는데 v3로 만든 이유는 나중에 스프링 mvc에서 모델을 친숙하게 하기 위해서 일부로 만든건가요? 아니면 테스트 코드를 쉽게 만들기 위해서 만든건가요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Dispatcher과 웹 mvc의 동작 과정 질문 있습니다,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]질문1.DispatcherServlet는 따로 프레임워크에서 구현하지 않아도 되나요? 예를 들어, 1)DispatcherServlet이 모든 웹 브라우저로부터의 요청을 받는다.2)DispatcherServlet은 HandlerMapping으로 부터 주어진 request를 처리할 수 있는 Handler객체를 가져온다. 이렇다면, 사용자가 따로 DispatcherServlet를 구현할 필요 없이 스프링 프레임워크 자체에서 DispatcherServlet를 구현 + HandlerMapping을 받을 클래스들을 빈으로 만들어서 관리함.그래서 @RequsetMapping 같은 URL 요청이 들어오면 해당되는 클래스에게 요청을 넘긴다.이렇게 이해하면 옳게 이해한 것이 맞나요? 질문 2.저는 아래와 같이 웹 MVC 동작 과정을 이해 했습니다. 옳게 이해한 것이 맞나요?1.클라이언트가 서버에 요청을 하면 DispatcherServlet 클래스가 요청을 받음2.@Controller 어노테이션을 이용해 빈으로 등록한 컨트롤러를 찾아 매핑된 컨트롤러가 존재하면 @RequestMapping을 통해 요청을 처리할 메소드로 이동함.3.컨트롤러는 해당 요청을 처리할 @Service 클래스를 찾아 로직을 수행함.4.서비스는 DB에 접근하여 요청을 수행하고 DTO를 통해 데이터를 컨트롤러에게 전달한다. 5.그 후 컨트롤러는 DTO를 통해 받은 데이터를 DispatcherServlet에게 다시 전달하고, DispatcherServlet는 응답과 함께 URL(view)를 반환해준다. 질문 3제가 위와 같이 이해를 했을 때, DTO가 Model이라고 이해를 하면 되는건가요? 감사합니다.
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
뷰라는 용어의 범위에 대하여 + 강의 자료 @PathVariable 오타
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 내용들을 보다 보면 '뷰'라는 용어가 View 클래스를 상속받은, 예를 들어 ThymeleafView 클래스의 객체 등을 뜻하는 것 같기도 하고, 가끔은 templates 디렉터리의 하위에 있는 hello.html 같은 뷰 템플릿들을 뷰라고 말씀하시는 것 같기도 했는데 맞나요? 제가 헷갈렸던 건지 모르겠네요.. 뷰라는 용어의 범위를 넓게 생각해도 될까요? 아래는 오타인 것 같아서 제보합니다.6. 스프링 MVC - 기본 기능(v20231202).pdf 24페이지에 있는 @PathVariable 관련 내용인데 @RequestParam 코드가 있습니다.
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
7강 웹페이지 만들기 질문(item-service)
본 강의 마지막 편인 웹 페이지 만들기에서 잘 되다가 addForm(상품등록)부터 white page에러가 뜨면서 안들어가집니다. 강의를 보고 다시 확인도 해봤는데 같은 부분에서 오류가 나서 접속이 안됩니다. 에러로 보아 addForm에 문제가 있는 것 같은데 도무지 오류를 찾을 수가 없어 질문 남깁니다. 구글 드라이브에 파일 압축해서 올려놓았습니다. https://drive.google.com/file/d/1Sq8rgY-2ZwPEoD8KaAeIfdXAPPJ-9NsT/view?usp=drive_link
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
웹 mvc패턴을 활용해 view에서 성공적으로 반환된 데이터를 다시 가지고와서 다른view에 뿌려줄 수 있나요??
자바 스프링부트를 사용하여 // API 호출 $.ajax({ url: /dataclick?inpuDate=${targetDate}, method: 'GET', headers: { 'Accept': 'application/json', 'Authorization': Bearer ${token}, 'Content-Type': 'application/json', }, success: function (data) { console.log('받은 데이터:', JSON.stringify(data)); // editPage로 이동 window.location.href = '/editPage'; }, error: function (error) { console.error('데이터 불러오기 실패:', error); } });제가 달력에서 선택한 날짜의 데이터를 성공적으로 받아와서 그성공적으로 받은 데이터를 editPage에 뿌리고싶어요 근데 mvc패턴을 사용해야하니 받아온데이터를 dto에 또 담아서 쓰고싶은건데 어떤식으로 작성해야할까요?스프링 부트 고수님들 도와주세요
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
mvc 패턴에서 등록된 회원을 조회할때 에러가 발생합니다.
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]"mvc 를 패턴 - 적용" 강의에서 회원 목록을 조회할 때 계속해서 에러가 발생해서 질문드립니다.MvcMemberListServlet.class@WebServlet(name = "mvcMemberListServlet", urlPatterns = "/servlet-mvc/members") public class MvcMemberListServlet extends HttpServlet { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Member> members = memberRepository.findAll(); System.out.println("메모리에 저장된 데이터: "); for (Member member : members) { System.out.println("member.username = " + member.getUsername()); System.out.println("member.age = " + member.getAge()); } request.setAttribute("members", members); String viewPath = "/WEB-INF/views/members.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); } } - 회원을 등록하고 "http://localhost:8080/servlet-mvc/members" 경로로 들어간후에, 위 코드의 실행 결과를 확인하면 MemberRepository 에 정상적으로 데이터가 들어 간 것을 확인할 수 있었습니다. 그런데 아래의 에러와 함께 whitelabel page가 보이네요.. org.apache.jasper.JasperException: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this applicationorg.apache.jasper.JasperException: The absolute uri: [http://java.sun.com/jsp/jstl/core] cannot be resolved in either web.xml or the jar files deployed with this application 위의 에러들에 관해서 구글링을 해보니까 jsp 파일에서 코드를 잘못 작성했을 확률이 높다고 합니다. 그런데 jsp 파일에는 큰 문제가 없어 보입니다 ㅠ <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <meta charset="UTF-8"> </head> <body> 성공 <ul> <li>id=${member.id}</li> <li>username=${member.username}</li> <li>age=${member.age}</li> </ul> <a href="/index.html">메인</a> </body> </html>그리고 아래는 설정 파일입니다.plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.2.2' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' // providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' //JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' //JSP 추가 끝 } tasks.named('test') { useJUnitPlatform() } 다른 질문을 보니 implementation 'javax.servlet:jstl' 이 부분을 주석 처리하고 다시 해보라는 답변이 있길래 해봤더니 여전히 에러가 발생합니다. 참고로 메인 클래스에 어노테이션은 저렇게 구성되어 있습니다. 도움 주시면 감사하겠습니다... @ServletComponentScan @SpringBootApplication public class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); } }
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 듣고 있는데 오류가 있어 남깁니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.현재 실행이 안되고 있는 상태입니다. 무슨 문제인지 알고 싶습니다 ㅜㅜ구글 드라이브 링크입니다.https://drive.google.com/drive/folders/15MQr82y4Qdcm4Cs7dZItZMa7rG_fJevw?usp=sharing
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
404에러 발생 관련 문의
[질문 내용]코드 동작시에 save에서 예외처리를 안했다고 오류가 발생하는데 혹시 제가 어떤 부분을 잘못했는지 궁금해서 문의 드립니다!
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Debug 문제
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]코드 실행 했을 때 local8080 입력해서 들어가면 ok라고 뜨고 잘 실행 되긴 하는데 debug가 많이 뜨고이런 것들이 많이 나옵니다.이렇게 뜨는 걸 보면 제대로 RUN 된 것 같지 않은데 실행은 잘 되는 것 같아요 어떻게 고쳐야 하는 건가요
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
소스코드는 어디있나요
위치가 궁금합니다.
- 해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
강의 자료에 있는 스프링 부트 Welcome 페이지 지원 공식 문서 링크가 변경된 것 같습니다. + 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]6. 스프링 MVC - 기본 기능.pdf(v20231202)5페이지에 https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page 이 링크가 있는데 들어가 보면 Welcome 페이지에 대한 설명처럼 느껴지진 않는데 혹시 링크 주소가 변경된 걸까요? 찾아 보니 아래 두 링크가 Welcome Page 설명이랑 비슷하게 느껴졌습니다. 1.1.5. Static Contenthttps://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.static-content 1.1.6. Welcome Pagehttps://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.welcome-page 그리고 index.html에 대해 궁금한 점이 있습니다.index.html의 위치를 변경시키면서 localhost:8080을 호출했을 때 제대로 Welcome Page가 나타나는지 확인해 봤는데 /static/public/resources(resources 하위에 또 resources를 생성)/META-INF/resources이 위치에 index.html을 두었을 땐 Welcome Page가 제대로 나타나는 걸 확인했습니다. 그런데 /templates 하위에 index.html을 두어도 localhost:8080으로 Welcome Page가 호출이 되는 것 같습니다.컨트롤러를 통해 접근할 파일들을 /templates 하위에 두는 걸로 이해하고 있었는데, 이렇게 /templates 하위에 index.html을 두고 localhost:8080으로 접근하는 경우가 필요할 때가 있나요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ObjectMapper 지원안함....
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.ObjectMapper는 자바8에서만 지원하고 이제 스프링부트 3.0으로 넘어오면서 자바17버전을 사용하고 있어서 ObjectMapper 가 사용이 안됩니다... ObjectMapper를 대채할 메소드가 있나요 ??
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HttpServletRequest - 기본 사용법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:202) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.2.jar:3.2.2] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na]Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:57) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainInstanceFromSupplier(AbstractAutowireCapableBeanFactory.java:1256) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:951) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1216) ~[spring-beans-6.1.3.jar:6.1.3] ... 16 common frames omittedCaused by: java.lang.ClassNotFoundException: jakarta.servlet.annotation.WebServlet at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[na:na] ... 22 common frames omitted 이렇게 오류가 떠서 https://www.inflearn.com/questions/176890여기에 따라 지우는부분 지우고 다시실행해봤는데도 이러네요.강의부분 7분 30초까지 했습니다.서버를 중간에 다운했다 다시 시작하면 문제가 되나요?
- 미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이에서 Current File run 실행이 안됩니다.
[질문 내용]인텔리제이에서 ServletApplication 파일은 실행되지만, 이외의 다른 파일 중 현재 위치 파일은 실행이 되지 않습니다.build.gradle을 현재 위치로 하고 실행 했을 때 실행이 잘 된 것을 보니 main을 제외한 모든 파일이 아닌 일부 파일이 인텔리제이에서 인식이 안되어 현재 위치에서 실행하지 못하는 것 같습니다.오류 메시지The file in the editor is not runnable.시도해 본 결과 아래 사진처럼 edit configuration 설정을 하여 해당 파일을 지정해서 run을 시도했지만, 원하는 파일을 선택한 후 ok버튼이 눌러지지 않습니다. 어떻게 해야 main파일이 아닌 다른 현재 위치의 파일을 인텔리제이 환경에서 실행할 수 있나요?처음부터 현재 파일이 실행이 안된 것이 아니라 plugins에서 tomcat 버전 업그레이드 한 이후부터 쭉 안됩니다.(smart tomcat 버전 : 4.72)참고)아래와 같이 자바 버전 설정 했고 , build.gradle에 다음과 같이 설정했습니다.java {sourceCompatibility = '18'}인텔리제이 유료 버전입니다.