일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 이노베이션캠프 동북
- ChatGPT
- 객체지향
- 채팅GPT
- 트리 지름 구하기
- 조건문과 반복문
- 이것이 자바다
- 자바 언어 기초
- 이노캠
- Java
- 스프링 입문강의
- 백준
- JAVA 기초
- 챗GPT 명령어 작성팁
- 인프런
- 3장 확인문제
- 자바
- Comparable과 Comparable
- dfs
- Til
- 이노베이션캠프
- 자료구조
- BFS
- 이것이 자바다 확인문제
- 자바의 정석 6장
- 이것이 자바다 13장
- 웹개발 기본지식
- 이것이 자바다 연습문제
- ArrayList 개념
- 이노베이션 캠프
- Today
- Total
기록공간
[Spring] 인프런 스프링 입문 - 정리 [2] 본문
스프링 웹 개발 기초
- 정적컨텐츠
- MVC와 템플릿 엔진
- API
정적 컨텐츠 : HTML 파일을 웹브라우저에 그대로 띄우는 것을 의미함
톰켓서버가 웹 브라우저로부터 hello-static을 받게되면, 스프링에서 관련 컨트롤러를 먼저 찾게된다.
만약 없다면, resources: static파일에서 해당 이름이 적힌 파일을 찾아서, 이를 반환함
MVC와 템플릿 엔진
MVC (Model,View,Controller)
- Model과 Controller는 비즈니스 로직과 내부적인 프로세스를 처리 담당
- View는 화면 그리기 담당
1
2
3
4
5
6
7
|
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model)
{
model.addAttribute("name",name);
return "hello-template";
}
|
cs |
다음과 같은 코드를 HelloController파일에 입력하게 되면, Template 파일에서 hello-template.html파일을 찾게됨
1
2
3
4
5
|
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</body>
|
cs |
해당파일에 위 코드를 입력하고, 주소창에 http://localhost:8080/hello-mvc?name=Spring! 입력을하면

Controller에서 name이라는 매개변수에 Spring!을 파라미터를 전달해주고, 모델에 담긴다음
template으로 넘어감
웹브라우저에서 localhost:8080/hello-mvc를 호출하면 톰켓 서버를 거친다음, hellocontroller에 호출
hello-template.html에 model(name:spring)을 전달해준다음, viewResolver에서 템플릿엔진이 렌더링한다음
다시 웹브라우저로 반환 (정적일때는 변환을 하지 않았으므로, 차이가있음)
템플릿 엔진이란 ?
JSP, PHP : 템플릿 엔진 : HTML을 서버에서 동적으로 바꾼다음 , 웹브라우저에 실행 시킴
이를 실행시키기위해 MVC (Model,View,Controller)패턴을 필요로함
API :
Key : Value
Spring의 기본 : 객체를 반환하고 ResponseBody를 선언하게되면 JASON으로 홈페이지에 반환됨
@ResponseBody 사용
- HTTP의 BODY에 문자 내용을 직접 반환
- viewResolver 대신, HttpMessageConverter가 동작한다.
- 기본 문자처리 : StringHttpMessageConverter
- 기본 객체처리 : MappingJackson2HttpMessageConverter
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
'JAVA & Spring' 카테고리의 다른 글
[JAVA] 이것이 자바다 확인 문제 4장 (조건문과 반복문) (0) | 2022.12.29 |
---|---|
[JAVA] 이것이 자바다 확인 문제 3장 (연산자) (0) | 2022.12.29 |
[JAVA] 이것이 자바다 확인 문제 2장 (변수와 타입) (0) | 2022.12.29 |
[JAVA] 이것이 자바다 확인 문제 1장 (자바 시작하기) (0) | 2022.12.28 |
[Spring] 인프런 스프링 입문 - 정리[1] (0) | 2022.11.29 |