일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 16235
- Spring Boot
- 프로래머스
- 백준 19238
- 백준
- 백준 17779
- spring oauth
- with recursive
- JVM
- 웹어플리케이션 서버
- java 기술면접
- sql 기술면접
- 백준 17626
- Kotlin
- 백준 16719
- Coroutine
- 백준 15685
- 백준 16236
- spring cloud
- 프로그래머스
- Spring
- MySQL
- spring security
- springboot
- MSA
- 파이썬
- JPA
- 백준 파이썬
- re.split
- java
- Today
- Total
시작이 반
[Spring] 4. 정적 컨텐츠, MVC와 템플릿 엔진 본문
강의 참고 : www.inflearn.com/roadmaps/373
정적 컨텐츠
- html파일을 그대로 서버로 전송하여 데이터 갱신 없이 웹 페이지에 보여진다.
- 기본적으로 Spring Boot는 클래스 경로 또는 서블릿 컨텍스트의 루트로부터 /static (또는 /public 또는 /resource 또는 /META-INF/resources)라는 디렉토리의 정적 컨텐츠를 제공합니다. Spring MVC의 ResourceHttpRequestHandler를 사용하여 고유한 WebMvcConfigurer를 추가하고 AddResourceHandler 방법을 재정의하여 이러한 동작을 수정할 수 있습니다.
<!DOCTYPE html>
<head>
<title>static content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
정적 컨텐츠 입니다.
</body>
</html>
1. 스프링은 컨트롤러쪽에서 hello-static.html이 있는지 찾는다.
2. 내부 resources 에 있는 hello-static.html을 찾는다.
컨트롤러가 먼저 우선순위를 갖는다.
MVC와 템플릿 엔진
MVC: Model, View, Controller
View - 화면 출력에 중점
Controller, Model - 비지니스 로직, 내부 처리
Controller
public String helloMvc(@RequestParam("name") 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>
기존 작성한 hello 아래 hello-mvc 컨트롤러를 만들어준다.
localhost:8080/hello-mvc 이 경로로 들어오면 실행되는 컨트롤러이다.
반환으로 hello-template.html을 보여준다.
localhost:8080/hello-mvc 로 들어왔지만 오류페이지가 뜬다. 이는 Requestparam의 값이 들오오지 않았기 때문
파라미터 정보를 보면( ctrl + p ) required값이 기본적으로 true이기 때문
get방식으로 value값을 넘겨줬더니 정상 작동
required값을 false로 바꾸면 어떻게 될까
null이 출력된다....
이런식인듯
test키에 대한 spring값 을 받는다.
@RequestParam어노테이션을 사용하지 않고도 해봤는데 값이 제대로 나왔다.
검색해본 결과 사용하지 않아도 어느정도는 자동으로 지정해준다고 하지만 명시적으로 지정해주는게 좋다고 한다.
viewResolver - view를 찾고 템플릿 엔진 연결
hello-template(view)을 찾고 템플릿 엔진에 처리를 해달라고 넘김
템플릿 엔진은 렌더링 처리후 변환된 html을 반환
'Programming > Spring' 카테고리의 다른 글
[Spring] 6. 회원 관리 예제(회원 도메인, 리포지토리 만들기, 테스트케이스) (0) | 2021.01.19 |
---|---|
[Spring] 5. API (0) | 2021.01.19 |
[Spring] 3. View 환경 설정 (0) | 2021.01.09 |
[Spring] 2. 라이브러리 (0) | 2021.01.08 |
[Spring] 1. 프로젝트 환경설정 (0) | 2021.01.06 |