Spring - 웹 개발 기초

Yuri Lee·2020년 9월 25일
0

1. 정적 컨텐츠

파일을 그대로 웹 브라우저에게 보여주는 것


2. MVC 와 템플릿 엔진

jsp도 템플릿 엔진, html을 그냥 주는 게 아니라 서버에서 프로그래밍 해서 html을 동적으로 바꿔서 주는.. 그것을 하기 위해 컨트롤러를 사용한다. 요즘에는 이런 것을 통해 개발을 한다.

과거에는 뷰 컨트롤러가 따로 구분되어있지 않았다. 그냥 뷰에 모든 것을 다 했다. 뷰는 ..그냥 화면을 그리는 데 모든 역량을 집중해야 한다. 컨트롤러는 비지니스 로직이나 내부를 처리하는 것이다. 그래서 모델과 뷰 컨트롤러를 쪼갠 것이다.

회사 내부 프로젝트: jsp 파일 하나가 수천 라인이 넘어가는?...;; 뷰 안에서 db도 접근하고 ... 그런 경험이 있었다고 하시는.....

ctrl+P : 파라미터 정보 볼때

controller

    @GetMapping("/hello-mvc")
    public String helloMvc(@RequestParam(value = "name", required = true) String name, Model model) {
        model.addAttribute("name",name);
        return "hello-template";
    }

view

<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>

http://localhost:8080/hello-mvc?name="add" 요청시 다음과 같은 화면이 나온다.


3. API
만약 안드로이드와 아이폰 클라이언트와 개발을 해야 한다. 그럼 서버 입장에서는 json이라는 어떤 데이터 구조 포맷으로 클라이언트들에게 데이터를 전달한다. 뷰, 리엑트를 사용할 때도 사용함.
데이터가 흐를 때?...

    @GetMapping("hello-string")
    @ResponseBody
    public String helloString(@RequestParam("name") String name) {
        return "hello " + name; //hello spring
    }

@ResponseBody 는
http 통신 프로토콜에 에서 header 부분과 body 부분이 있다.
이를 사용하면 "hello " + name 이 데이터를 직접 넣어주겠다는 의미이다. 응답 body 에다가 ..

템플릿 엔진과의 차이는? 뷰.. 이런게 없다. 그냥 이 문자가 그대로 내려간다.

getter, setter : java bean 규약
이런 메서드를 통해서 접근하게 된다. 프로퍼티 접근 방식이라고 부르기도 한다.

스프링 안에는 Jackson 라는 게 들어있다.........ㅜ


이 글은 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 인프런 강좌를 바탕으로 정리한 내용입니다.

profile
Step by step goes a long way ✨

0개의 댓글