주석
@Controller 아직 못 찾는다.
13행 주석
14행 추가 및 @Controller를 찾으려면
base-package="com.newlecture.web.service"
가 아니라
base-package="com.newlecture.web.controller"
라고 해주어야 한다.
그리고
base-package="com.newlecture.web"
이라고 해주면 service와 controller 다 찾을 수 있지만 성능상의 문제가 있으니 특정 해주는 편이 낫다.
(영상 4분30초..이부분 이해하기 어려워서 그냥 다 받아 적어둠..)
어노테이션은 클래스를 찾는 것.
함수를 찾아서 실행하면 되는 것..
@컴포넌트나 @콘트롤러다
라면
객체를 생성하면 된다.
그러니깐 어노테이션이 붙어있으면 뭔가 해야할 행위가 있다.
그러나 xml방식은 IndexController를 객체화 했다.
해도 객체를 참조할수 있도록하는 변수명(implements Controller부분)이 정해져 있고
또 호출할 수 있는 함수가 정해져야한다.
그래서 인터페이스 같은 규약을 써야 했는데
이제 어노테이션 방식이니 implements와 handleRequest 지워도 된다.
지금 6행에 오류는 저 4행 부분을 지워줘야한다.
컨트롤+쉬프트+O 해도 안지워지니 직접 지워주자
진짜 실행하는지 확인을 위해 콘솔 찍어보자
그전에
@RequestMapping("/index")
매핑 기능을 사용하려면
<mvc:annotation-driven/>
이라는 태그를 .xml에 추가해줘야 한다.
(@Controller
기능을 사용하려면
<context:component-scan base-package="com.newlecture.web.controller"/>
.xml에 추가해줘야 하듯이)
실행해보면
콘솔 찍히는걸 알 수 있다.
뷰 정보
만약 이렇게 없는 것을 매핑해주면
이렇게 찾는데 원리는
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"></property>
<property name="suffix" value=".jsp"></property>
<property name="order" value="2" />
</bean>
여기서 썻던 Resolver구문대로
앞뒤로 텍스트 붙여서 검색해 본 뒤 없으면 404 오류가 뜨는 것이다.
다음 시간에는 IndexController 이름을 바꿀것이다.
그 이유는 다음 시간에~
출처:
https://www.youtube.com/watch?v=CRjY6BobqGM&list=PLq8wAnVUcTFUHYMzoV2RoFoY2HDTKru3T&index=54
'Spring' 카테고리의 다른 글
Spring MVC (스프링 웹 MVC) 강의 29 -컨트롤러 정리하기 (0) | 2022.01.07 |
---|---|
Spring MVC (스프링 웹 MVC) 강의 28 - HomController 만들기 (0) | 2022.01.07 |
Spring MVC (스프링 웹 MVC) 강의 26 - Annotation으로 서비스 객체 생성하기 (0) | 2022.01.07 |
Spring MVC (스프링 웹 MVC) 강의 25 - 객체 DI를 Annotaion으로 변경하기 (0) | 2022.01.07 |
Spring MVC (스프링 웹 MVC) 강의 24 - 스프링 설정파일 분리하기 (0) | 2022.01.07 |
댓글