본문 바로가기
Spring & Java/Programming

4. 스프링 웹 개발 기초

by Thinking 2022. 7. 14.

간단하게 알아보는 웹 개발 방식 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