Spring Boot 공부(3) - Controller Mapping 이 되지 않는 경우

Sun·2023년 8월 23일
0
post-thumbnail

| 상황

MainController.java 를 생성하고
main 메소드를 만들었다.

@RequestMapping("/main.do")
	public String Main() {
		System.out.println("Main Controller  실행됨");
		System.out.println("/main.do");
		return "main";
	}

그러나 페이지 이동은 되지 않았고, 콘솔창에 아무런 메시지가 뜨지 않았다.

| 해결법

  1. Controller.java의 class 상단에 컨트롤러 어노테이션을 설정해줬는지 확인한다.
@Controller
 public class EveryBoardMainController {
	@RequestMapping("/main.do")
	public String Main() {
		System.out.println("Main Controller  실행됨");
		System.out.println("/main.do");
		return "main";
	}
}
  1. 패키지 구조를 확인한다.

com.EveryBoard 패키지 내부에 있는,
EveryBoardApplication.java는 SpringBoot의 main class 이다.
SpringBoot는 main class가 위치한 패키지의 하위 파일을 검색하여 Bean에 저장한다.
따라서 위와 같이 controller.java 가 com.EveryBoard 패키지 내부에 없기 때문에 동작하지 않는 것이다.
필자는 controller 의 위치를 다음과 같이 변경하였다.

profile
좋은 코드를 위해 고민합니다.

0개의 댓글