728x90
반응형
SMALL

프로젝트 구조

* src/main/java : 자바 파일 저장하는 디렉토리.

* src/main/resources : 자바 파일을 제외한 HTML, CSS, JS, 환경파일 저장하는 디렉토리.

 

* templates : HTML 형식의 템플릿들을 저장.

* static : CSS, JS, 이미지 파일 저장.

* application.properties : 환경설정 파일.

 

* src/test/java : 테스트하는 코드를 저장하는 디렉토리.

 

* build.gradle : 플러그인과 라이브러리를 설치하기 위한 환경 파일.

 

간단한 웹 만들기

컨트롤러 만들고 URL 매핑

 

만약 아무 컨트롤러가 없는 상황에서 실행을 시키고 "localhost:8080/sbb"를 접속하면 404에러가 발생한다.

즉, 요청한 url을 찾을 수 없다는 의미이다. 

당연함. 우리가 url 매핑을 해주지 않았기 때문에..

 

package com.mysite.sbb;

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

@Controller
public class MainController {
	@GetMapping("/sbb")
	public void index() {
		System.out.println("안녕");
	}
}

이 MainController를 추가하고 index()를 추가해보자.

 

실행을 해보면 이전의 400에러와는 다르게 500에러가 발생한다.

이 오류는 index()메서드가 반환해야 하는데 아무것도 반환하지 않아 발생한 오류이다.

 

대신 console에는 프린트 할 값이 잘 출력되어 있다.

 

package com.mysite.sbb;

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

@Controller
public class MainController {
	@GetMapping("/sbb")
	@ResponseBody
	public String index() {
		return "index";
	}
}

코드를 이렇게 변경해 보았다. @ResponseBody 어노테이션을 추가하여 index()메서드가 String값 그대로 반환할 것이라고 알려주고, index()는 String값 "index"를 return한다.

 

어떠한 오류도 나지 않고 index 값도 정상적으로 출력된 것을 확인할 수 있다.

728x90
반응형
LIST

+ Recent posts