package com.mysite.sbb;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class MainController {
public static int i = 1;
@RequestMapping("/sbb")
@ResponseBody
public String index() {
System.out.println("sbb");
return "sbb";
}
@GetMapping("/plus")
@ResponseBody
public int plus(int a, int b) {
return a+b;
}
@GetMapping("/minus")
@ResponseBody
public int minus(int a, int b) {
return a-b;
}
@GetMapping("/increase")
@ResponseBody
public int increase () {
if (i < 3){
++i;
} else if (i <= 3) {
i = 1;
}
return i;
}
@GetMapping("/gugudan")
@ResponseBody
public String gugudan (int dan, int limit) {
String result = "";
for(int i = 1; i <= limit; i++) {
result += dan + " * " + i + " = " + (dan * i) + "<br/>\n";
}
return result;
}
}
스프링을 시작했다, 인텔리제이로 스프링을 시작을 했으며 sbb라는 데이터베이스를 만들고 시작했다.
위의 코드는 메인컨트롤러를 만들어서 덧셈,뺄셈,increase 라는 카운트 되는 것, 구구단을 만들었다.
스프링을 처음 시작하는데 구구단을 만들거나 덧셈,뺄셈,increase를 하는 건 어렵진 않았는데
아무래도 헷갈리는게 좀 많았던 것 같기도 하고 내가 어렵게 생각한게 많이 있는 것 같다.
우선 GetMapping 이나 RequestMapping 이 있는데 이 부분은 () 안에 있는 주소를 매핑해준다 생각하면 된다.
근데 RequestMapping은 어디에서나 사용을 할 수 있는거고 GetMapping은 이전에 포스트맨을 생각하면 된다.
GetMapping이 될 수 있고 PostMapping이 될 수 있는데 웹을 어떻게 만들거냐에 따라서 차이가 있다고 보면 된다.
그래서 시작 자체는 Mapping을 해주고 ResponseBody라는 것을 통해서 Body 에 표현할 것을 써내려간다.
그런데 ResponseBody 안에 있는 모든 내용을 렌더링 하는게 아니다.
우선 구구단을 예를 들면 GetMapping에 () 안에 쓴 /gugudan이라는 글이 있는데 일단 포트는 따로 정해놨다.
그래서 내가 gugudan 이라는 변수에 쓴 내용을 보기 위해서는 localhost:포트번호/gugudan에 들어가면 들어가진다.
그리고 gugudan 이라는 변수에 () 안에 int dan, int limit 라고 써놨는데 이것도 되게 신기했다.
주소안에 dan 과 limit 의 값을 넣어고 gugudan 변수 안에 쓴 for문 을 그 페이지에서 볼 수 있다.
예를 들어서 localhost:포트번호/gugudan?dan=8&limit=7 이런식으로 하면 for문을 통해 8단을 8*7까지를 볼 수 있다.
즉, 주소 안에 dan과 limit의 값에 따라 gugudan 변수에 선언된 for문안의 limit까지 값이 표현된다.
그렇기 때문에 꼭 시작할 땐 Mapping을 해야하고 ResponseBody 안에 렌더링 값을 써줘야 한다.
'Spring' 카테고리의 다른 글
| 2022-09-28 스프링 (서비스) (0) | 2022.09.28 |
|---|---|
| 2022-09-27 스프링(질문 목록 및 템플릿 / Root URL) (0) | 2022.09.27 |
| 2022-09-26 스프링 (리포지터리) 데이터 조회,수정,삭제 및 답변 생성 및 저장, 조회 (1) | 2022.09.26 |
| 2022-09-22 스프링 (0) | 2022.09.22 |
| 2022-09-21 스프링(Spring) - 세션 사용 (저장과 가져오기) (1) | 2022.09.21 |
댓글