2024. 3. 28. 17:02ㆍSpringBoot
안녕하세요. 진득 코딩입니다. 이번 시간에는 URL 매핑과 컨트롤러에 대해서 알아보고 간단한 웹 프로젝트를 만들어보도록 하겠습니다.
URL 매핑과 컨트롤러
1. 404 오류
아무것도 안하고 서버를 실행해봅시다. 이때 왼쪽 상단에 있는 실행버튼 옆에 있는 목록이 위 사진처럼 Application으로 되어있지 않다면 Application으로 바꾼 후에 실행해줍니다. 그 후에 브라우저에 http://localhost:8080/jindeug 페이지를 요청해봅시다.
현재 아무것도 만들지 않은 상태이기 때문에 위와 같은 오류가 발생할겁니다. 이런 오류가 나오게 되면 위 사진에 있는 빨간 밑줄을 먼저 봐주시면 좋습니다. 여기에서 404는 HTTP 오류 코드 중 하나로, 브라우저가 요청한 페이지를 찾을 수 없다는 의미입니다.
이러한 404 오류를 해결하기 위해서는 컨트롤러를 작성하여 /jindeug에 URL에 대한 매핑을 추가하면 해결할 수 있습니다. 클라이언트의 페이지 요청이 발생하면 스프링 부트는 가장 먼저 컨트롤러에 등록된 URL 매핑을 찾고, 해당 URL 매핑을 발견하면 URL 매핑과 연결된 메서드를 실행합니다.
URL 매핑: URL과 컨트롤러의 메서드를 1대1로 연결하는 것을 말하는데 컨트롤러의 메서드에 @GetMapping 이나 @PostMapping 과 같은 어노테이션을 적용하면 해당 URL과 메서드가 연결됩니다.
컨트롤러 만들어서 URL 매핑하기
클라이언트의 요청이 발생하면 서버 역할을 하는 스프링 부트가 응답해야 합니다. 그러기 위해서는 URL이 스프링 부트에 매핑되어 있어야 하고 이를 위해서는 컨트롤러가 먼저 만들어져 있어야 합니다.
1. /jindeug을 URL로 가지는 GetMapping 만들기
Controller 패키지에 MainController라는 새로운 자바 클래스를 생성해봅시다. MainController 클래스에 @Controller 어노테이션을 적용하면 MainController 클래스는 스프링 부트의 컨트롤러가 됩니다. 그리고 index 메서드의 @GetMapping 어노테이션은 요청된 URL(/jindeug)과의 매핑을 담당합니다. 브라우저가 URL을 요청하면 스프링 부트는 요청 페이지와 매핑되는 메서드를 찾아 실행합니다.
2. http://localhost:8080/jindeug URL 호출해보기
컨트롤러를 만든 상태에서도 오류가 발생했지만 오류 코드가 500에서 404로 바뀌었습니다. 원래 URL과 매핑된 메서드는 결괏값을 리턴해야 하는데 아무 값도 리턴하지 않아서 위와 같은 오류가 발생한 것입니다.
해결 방법: 리턴을 해주면 됩니다.
위 사진을 보면 콘솔 로그에서는 index라는 문자열이 출력된 것을 확인할 수 있습니다. index 메서드 호출까지는 문제없이 진행된 것을 확인할 수 있습니다.
3. return 해보기
'index'라는 문자열을 브라우저에 출력하기 위해 index 메서드의 리턴 자료형을 String으로 변경하고 문자열 'index'를 리턴했습니다. 여기서 @ResponseBody 어노테이션은 URL 요청에 대한 응답으로 문자열을 리턴하라는 의미로 사용되었습니다.
위와 같이 return을 만들어준 후 실행을 해보면 index라는 글자가 브라우저에 잘 출력된 것을 확인하실 수 있습니다.
이번 시간에는 컨트롤러와 매핑에 대해서 살펴보았습니다. 다음 시간에는 JPA에 대해서 살펴보도록 하겠습니다.🙂
'SpringBoot' 카테고리의 다른 글
스프링 부트 프로젝트 구조를 알아보자 (0) | 2024.03.28 |
---|---|
스프링부트 도구들을 살펴보자 (2) | 2024.03.28 |
스프링 부트로 기본적인 웹 프로젝트 만들어보자 (0) | 2024.03.27 |
스프링 부트 개발 환경을 구축해보자! (0) | 2024.03.27 |
스프링 부트를 시작해보자! (0) | 2024.03.26 |