심플 바인딩
get방식 parameter는 ulr뒤에 ?붙여서 사용
Appender: log를 어디에 출력할것인가
기존에 있던 것 뒤에 붙여 나가는 것. 로그를 찍을때 두 가지 appender가 있는데 console appender,
로그로 찍어주는 형태. 어떤 식으로 찍을 것인가. 밑에 패턴으로 나와있는 부분이 있다
콘솔에 이러한 형식으로 appender를 찍어라
%c : 클래스
-%m%n :
file appender
로그를 찍을때 파일을 이용하는 로그가 있고, db를 이용하는 로그도 있다. 파일 로그를 이용하는 형태가 많다.
기본적인 로그라는 것이 있다. appender는 어딘가에 출력한다는 것이고, log는 무엇을 출력할 것인가.
Model 객체를 spring에서 만들어줌. view에 공유될 수 있는 값을 가지고 전달될 수 있는 내용포함
1. [웹브라우저]url에 써준 n1과 [컨트롤러]RequestParam("n1")과 일치해야 함
변수의 이름은 앞에있던 parameter와 같을 필요는 없으나, 편리하기 때문에 동일하게 사용하는 경우가 많다.
2. Model이 jsp에 값을 넘겨준다
model.addAttribute("n3")와 jsp{n3}이 동일해야 함
addAttribute ("n2")와 jsp 이름부분의 n2가 일치해야 함.
@InitBinder : 파라미터의 수집을 '바인딩'이라 하고, requestParameter 데이터를 처리할 때 형변환
변수 타입을 변환해서 작업할 수 있도록 묶어줌.
제대로 동작하지 못 하면, 데이터를 잘못 넣은 경우이다.
Date 클래스 (java.util, sql) 두 가지 있음.
private static final : 상수화 시켜서 한번 만 사용하고자 할 때.
logger : pool에 있는 것을 꺼내와 사용.
factory 패턴: 객체를 만들때 공장에서 물건을 찍어 내는듯한 패턴
getLogger : logger가 있는경우 꺼내사용, 없는 경우 만들어 가져옴.
return 은 jsp로 줌.
view폴더에 ex03을 만들어 줘야한다!
context: 여러개의 웹 어플리케이션을 구분하기 위해 사용하는 것
controller를 구분하기 위해 RequestMapping에 씀.
클라이언트에서 name으로 들어온 것이 멤버변수 name으로 세팅됨.
객체를 줘서 객체의 setter함수가 동작하면서 parameter의 name에 해당하는 것이 넘어오면서 객체에 setName을 호출하여 들어가게 되어있음. Request에서 name이라는 매개변수를 불러준다.
클라이언트가 요청할때 쓰는 문장과 받아주는 변수가 동일해야 한다.
pom.xml 변경 필요
groupId, artifactId 는 정해져있음(Maven 참고)
scope에 runtime으로 되어있는 경우 실행할때와 테스트하는 경우에만 사용할 수 있다.
컴파일 할때 사용하고 싶은 경우 주석처리하면 에러 사라짐. logger대신 log 사용가능
@InitBinder가 dto객체에 묶여 매핑된다. 타입 체크를 해서 정상적으로 작동될지 판단하고 결과를 알려준다.
파라미터로 사용되는 binder는 묶어주어 형변환 체크해줌.
형태가 달라서 인식하지 못함.
@RequestParam("p") : 매개변수가 p로 넘어온다는 것을 받아들이는 내용과
@ModelAttribute("p") : p를 입력받아서 jsp에 p로 나감
클라이언트에서 넘겨주는 매개변수를 3개를 넘기면 3개 선언되어야 함
인자가 넘어올때 mapping시킬 수 있는데 어떤 이름으로 넘어오느냐가 핵심인데, 이름이 맞추어져야 한다
이름이 같으면 생략시킬 수 있다
view에 영향을 미치는 것은 클래스 이름
getter TodoDTO로 한다고 가정하면 첫글자가 대문자로 바/ setter
'개발 공부 > Spring' 카테고리의 다른 글
pom.xml 수정 추가 (0) | 2023.08.24 |
---|---|
JDBC (Mapper) / Exception (0) | 2023.08.24 |
JDBC (0) | 2023.08.22 |
MVC설정 (0) | 2023.08.21 |
spring 환경 설정 (0) | 2023.08.18 |