1-3-4 컨트롤러 클래스 만들기

코딩강사·2022년 11월 6일

1-3-4 컨트롤러 클래스 만들기

이제 크롬 웹브라우저에 응답하는 서버 프로그램을 만들겠습니다.

파일>새로 만들기>Java 클래스를 클릭하여 MainController.java파일을 com.study.springboot 폴더(또는 패키지라고도 한다.)에 생성합니다.

패키지(Package) : 폴더의 경로로 클래스의 이름을 구분하는 방법입니다. 패키지에서 폴더는 각각 점(.)으로 구분합니다. 예를 들어 com.study.springboot라면, com폴더 밑에 study폴더 밑에 springboot폴더를 의미합니다. 같은 클래스이름이 같은 프로젝트나 추가된 라이브러리에 있을 수 있기 때문에 패키지이름으로 같은 클래스이름은 구분할 수 있습니다. 예를 들어 서울사는 김서방, 인천사는 김서방 이런 식입니다.

MainController.java 파일에 @Controller 어노테이션을 입력하면, 자동으로 임포트를 하기 위해 Alt+Enter키를 사용합니다.

그러면 아래 코드와 같이 자동으로 해당 클래스가 임포트됩니다.

package com.study.springboot;

import org.springframework.stereotype.Controller;

@Controller
public class MainController {

}

추가적으로 아래 코드를 완성해보겠습니다. 예제 URL : https://bit.ly/3h4wvOG

package com.study.springboot;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MainController {

    @GetMapping("/")
    @ResponseBody
    public String main() {
        return "Hello Springboot";
    }
}

HTTP 루트 경로 요청에 대한 응답 메서드로 main을 지정하고 반환값으로 Hello Springboot문자열을 반환한다는 의미입니다. 처음에는 연관관계가 잘 이해되지 않으나, 계속해서 코드를 접하다보면 이해가 될 것이니 너무 당황하지 마세요.

@Controller : 스프링 어노테이션으로서 MainController클래스를 HTTP 요청(Request)받을 수 있는 클래스로 지정한다.
@GetMapping : HTTP Get 요청을 받는 경로를 지정한다. "/" 루트 경로 요청에 대한 응답 메서드를 정의한다.
@ResponseBody : 루트 경로 요청에 대한 응답(Response)으로 순수한 문자열로 반환한다.

이제 코드가 완성되었으면, 왼쪽 아래의 다시 실행 버튼을 클릭하면 빌드후 다시 실행됩니다.

이제 크롬 브라우저에서 현재 실행중인 서버프로그램에 HTTP요청을 해보겠습니다. 크롬브라우저 주소창에서 아래와 같이 입력하고 엔터를 입력합니다.

localhost:8090

그러면 아래 그림과 같이 Hello Springboot라는 문구가 브라우저 내용창에 보일 것입니다.

이로서 서버가 정상적으로 동작하고 응답하고 있음을 확인하게 되었습니다.

profile
강의하는 개발자

0개의 댓글