🍀spring/스프링 입문

[스프링 웹 개발 기초] 정적 컨텐츠, MVC와 템플릿 엔진, API

2022. 3. 19. 23:51
반응형

정적컨텐츠 : 파일 그대로 고객에게 전달(프로그래밍 불가)

 

static 폴더 안에 html을 만들고

localhost:8080/파일이름.html 하면 html이 나옴

 

 

MVC와 템플릿엔진 : 서버에서 변경을 해서 HTML 로 내려줌

 

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

 

 

hello-template.html

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

localhost:8080/hello-mvc?name="spring"

파라미터를 입력할 때는 ?를 이용

name을 지정해주지 않으며 에러남

@ResponseBody를 사용하면 html없이 바로 문자만 내려감

@GetMapping("hello-spring")
@ResponseBody
public String helloSpring(@RequestParam("name") String name){

    return "hello " + name;
}

 

 

API : 객체를 반환하는 것 (객체가 오면 Json Converter -> String Converter)

 

 

자바 문법으로 class 안에 class 또 만들 수 있음 

Hello 객체 안에 입력 받은 name을 넣어 객체를 반환하는 것 

@GetMapping("hello-api")
@ResponseBody
public Hello helloApi(@RequestParam("name") String name){
    Hello hello = new Hello();
    hello.setName(name);
    return hello;
}
static class Hello{
    private String name;

    public String getName() {
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
}

 

localhost:8080/hello-api?name=spring

이렇게 json 형태로 나온다.

나는 chrome 웹 스토어에서 json view를 검색했을 때 별 5개짜리 확장 프로그램을 다운 받아놓았기에 이렇게 보인다.

반응형
저작자표시 (새창열림)

'🍀spring > 스프링 입문' 카테고리의 다른 글

[View 환경설정] Spring 윈도우 터미널 빌드(자바 버전 맞지 않을 때)  (0) 2022.03.18
[스프링 부트] 테스트 라이브러리, 스프링 부트 라이브러리  (0) 2022.03.18
[프로젝트 환경 설정] 스프링 입문 - 코드로 배우는 스프링 부트  (0) 2022.03.17
'🍀spring/스프링 입문' 카테고리의 다른 글
  • [View 환경설정] Spring 윈도우 터미널 빌드(자바 버전 맞지 않을 때)
  • [스프링 부트] 테스트 라이브러리, 스프링 부트 라이브러리
  • [프로젝트 환경 설정] 스프링 입문 - 코드로 배우는 스프링 부트
pkyung
pkyung
성장하는 중pkyung 님의 블로그입니다.
pkyung
성장하는 중
pkyung
전체
오늘
어제
  • 분류 전체보기
    • 🏆토이 프로젝트에서 생긴 일
    • 🤿백엔드 내실 채우기
    • 🍫카카오 테크 캠퍼스 2기 BE
    • 🍀spring
      • 스프링 입문
      • 스프링 핵심원리 기본
      • 스프링 jpa
      • 🐛debug
    • 🔒보안
    • 🌎infra
      • docker
      • kubernetes
      • cloud
    • 🌐web
      • HTTP 웹 기본 지식
    • 🔑알고리즘
      • baekjoon
      • programming language
    • 🎞️프로젝트
      • android
      • flutter
    • 📚수업
      • 교양과목
    • 💾database
    • ⚙settings
    • 2023 여름 모각코 - 절개와지조
    • 2024 겨울 모각코 - 내 장점은 algorit..

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • spring
  • 카테캠
  • 스프링
  • be
  • 자바
  • 김영한
  • Security
  • python
  • JPA
  • springboot
  • 스프링부트
  • 스프링기본
  • mysql
  • 소수
  • 자바문자열
  • 코드리뷰
  • 데이터베이스
  • Docker
  • sql
  • 파이썬
  • 카카오테크캠퍼스
  • 객체지향
  • 문자열
  • 백준
  • HTTP
  • nginx
  • Java
  • 스택
  • BFS
  • 객체지향의사실과오해

최근 댓글

최근 글

hELLO · Designed By 정상우.
pkyung
[스프링 웹 개발 기초] 정적 컨텐츠, MVC와 템플릿 엔진, API
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.