1. Mustache
JSP 는 스프링에서 버렸기 때문에 설정하는것이 굉장히 까다롭다.
따라서 스프링에서 이용가능 한 mustache는 설정이 쉽다.
@RestController , @Controller => 외부의 사용자의 요청을 받는것(주소요청(URI) 밖에 없다.)
그주소에 맞는 controller method를 맞춘다. => 디스패쳐 컨트롤러가 모든 컨트롤러를 관리한다.
- RestController : 데이터를 리턴한다
- Controller : 파일을 리턴한다.
=> DI가 불가하다
View Reslover 클래스
- template engine : html에 java 코드(그 외언어 등) 을 쓰는것
package web;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
// RestController(데이터를 리턴한다)
// Controller(파일을 리턴한다)
@Controller
public class FrontController {
// http://localhost:8080/home
// 디스패쳐 서블릿 /home 파싱
// IOC 컨테이너에 @Restcontroller, @Controller 로 생성된 객체만 찾는다.
// 메서드를 호출한다.
@GetMapping("/home")
public String home(Model model) { // request == model
// ViewResolver 클래스
// src/main/resources/templates(prefix)
// .mustache(suffix)
String name = "홍길동";
model.addAttribute("name", name);
List<Board> boards = new ArrayList<>();
boards.add(new Board(1,"제목1"));
boards.add(new Board(2,"제목2"));
model.addAttribute("boards",boards);
return "home"; // RequestDispatcher가 자동 작동
}
}
→ RequestDispatcher가 자종으로 작동한다(Sendreirect X)
→ DispatcherServlet이 매개변수 주입
2. JSP 연결
https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper
* Maven(의존성 관리 도구) -> gradle
=> 라이브러리 의 의존의 관리하는 도구
=> 저장소가 같은 공간을 사용하고 공통 Rapository 가 있으며 Spring 사용시에는 -> pom.xml에 추가 하면도니다.
=> 의존성이 있기때문에 A를 다운받게 된다면 다른 것들(B,C)도 다같이 다운받아 진다.(A->B->C)
ex) Jasper 에도 다른 것들이 엄청 많지만 Jasper만 다운 받아도 의존성으로 인해 다같이 다운받아진다.
3. yml 로 변경
→ yml이란?
yml 작성시 무조건 자동완성으로 선택(적어서 하면 안된다!)
prefix ,suffix 설정 : WEB-INF(설정파일 들 넣는곳, 남들이 알면 안되는 것들 넣는곳 => url 접근 x , uri 접근 o => 따라서 Framwork)
* server.xml : tomcat의 thread pool 관리 , port 변경
* context.xml => xml이 실행될때 자바에 객체가 만들어진다. 서버 실행될때 한번만 실행된다.
* web.xml => 서버 실행시 띄울 수 있는 파일을 만들어 놓았다가 request 시 마다 실행된다.
=> context.xml 는 static과 유사, web.xml은 heap과 유사
4. Maven - 의존성 관리
Maven을 사용하여 라이브러리를 가져올 때에는 의존관계에 있는 라이브러리 모두를 가져 온다.
→ 하나하나 모든 라이브러리를 다운 받을 필요X
* form 태그에서의 Methods
→ 메서드 GET (SELECT)
→ 메서드 POST (INSERT)
→ 메서드 PUT (UPDATE)
→ 메서드 DELETE(DELETE)
from 태그 → POST, GET 방식만 사용가능
* 로그인 예외 : POST 사용
form 태그로 보내는 데이터는 application/x-www-form-urlencoded type 스프링에서 받을 때에는 메서드의 매개변수에 변수만 적어두면 됨. (request.getParameter 동작)
5. XML
<Python>
class Animal:
num = 10
name = "홍길동"
<Java>
class Animal{
int num=10;
String name = "홍길동";
}
<JavaScript>
var Animal ={
num:10,
name:"홍길동"
}
각 언어마다 문법이 다르다. 따라서 서로 공유를 할 경우 해석을 할 수가 없어 이를 해결하기 위하여 공용어로 표시해주는것이 XML이며, 용량을 경량화한 형태인 JSON을 많이 사용한다.
'Programming > SpringBoot' 카테고리의 다른 글
Spring Boot 6강 - 로그인, 회원가입 (0) | 2021.09.19 |
---|---|
Spring Boot 5강 - Json, Thread, DB연결 (2) | 2021.09.18 |
Spring Boot 3강 - 어노테이션, IOC, DI (0) | 2021.09.05 |
Spring Boot 2강 - 프레임워크, 스프링, 스프링 프레임 워크 규칙, HTML (0) | 2021.09.05 |
Spring Boot 1강 - 환경설정 (0) | 2021.08.31 |