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
'IT > Spring Boot' 카테고리의 다른 글
[Spring Boot] 6. 리포지터리 생성, JUnit 테스트 (Question 예제) (0) | 2024.04.05 |
---|---|
[Spring Boot] 5. H2 데이터베이스, JPA (0) | 2024.04.04 |
[Spring Boot] 3. 스프링 부트 도구 설치하기 (Spring Boot Devtools, Lombok 설치) (1) | 2024.04.03 |
[Spring Boot] 2. 스프링 부트 실행 (프로젝트 생성, Controller 작성, 로컬 서버 실행) (1) | 2024.04.03 |
[Spring Boot] 1. 스프링 부트 개발 준비하기 (JDK, STS 설치 및 실행) (0) | 2024.04.03 |