간단하게 알아보는 웹 개발 방식 3가지
1. 정적 페이지
< 흐름 >
: 웹브라우저 localhost:8080/hello-static.html을 url에 입력 -> 내장 톰캣 서버가 요청을 받고 이를 스프링에 전달 -> 그러면 controller에서 우선순위로 hello-static이 있는지 검색 후 존재하지 않다면 resources에서 검색 -> 찾으면 이를 변환하지 않고 그대로 웹브라우저로 처리
2. MVC (Model, View, Controller)
< 흐름 >
: localhost:8080/hello-mvc을 url에 입력 -> 내장 톰캣 서버 -> helloController에서 hello-template(View로 지정한 html 파일명)를 return, (model의 키는 name이고 값은 spring) -> viewResolver가 templates/hello-template.html을 찾아서 Thymeleaf 템플릿 엔진을 처리하고 Html로 변환 후 웹 브라우저로 처리
@RequestParam
@RequestParam("가져올 데이터의 이름") [데이터 타입] [가져온 데이터를 담을 변수]
public String checkId(@RequestParam("id") String id, @RequestParam("pwd") String pwd, Model model) {
model.addAttribute("id", id);
model.addAttribute("pwd", pwd);
ex) localhost:8080/spring_mvc/checkid? id=hongku&pwd=1234
3. API
< 흐름 >
: @ResponseBody에서 localhost:8080/hello-api을 url에 입력 -> 내장 톰캣 서버 -> ResponseBody라는 애노테이션이 붙어있기 때문에 viewResolver로 넘기지 않음 -> 객체를 전달하게 되면 Default가 JSON형태로 반환하여 Http로 반환하는 것이 기본
-> HttpMessageConverter가 동작하여 Spring으로 전달받은 것이 문자열인지 Json인지 Converter가 인지 후 Body에 실어서 웹 브라우저로 전달
'Spring & Java > Programming' 카테고리의 다른 글
6. 핵심원리 기본편 (0) | 2022.08.02 |
---|---|
5. 개념 (0) | 2022.07.18 |
3. Java (TDD, GCC) (0) | 2022.07.14 |
2. 객체지향 Java (0) | 2022.07.14 |
1. Java (0) | 2022.07.13 |