바닥부터 시작하는 프로그래밍/국비-스프링부트

40일차(RequestMapping 등, 파라미터 받는법)

예얀 2024. 5. 1. 12:44

Client(웹브라우저)

1. 웹브라우저에서 에서 링크를 누르거나 / 주소치고[로컬호스트 숫자] 엔터누르면 요청(request)을 한것임.!

 

 

server(WAS)

-  1. Controller

-  2. Service(Model)

-  3.View

 

- 데이터베이스? 실행(나중에 배울것)

 

DBAS

자바스크립트는 client가 실행시키는것임.

 

test1에서 view로 보내는거 =  retrun "문자열" 을 = forwording 이라고함

 

MVC 모델에서는 request에 담고 forwording함

=> 요청 한번 끝나면 소멸 

 

test1에 담고 다른곳에서 나오게 하고싶으면(쓰게하고싶으면) session쓰기

 

담는건 request 혹은 session인데 MVC에선 대부분 request!!!!!

시작시 제일먼저 써야하는것

------------------------------------------------------------------------

 

추가로 배운것

th:text = "${}" 활용법

th:if = "${ > }"           {여기안에} 들어가는거 < 이건안됨 다른거 사용해야함 필요할때 챗GPT한테 물어보기

th:unless

 

 

-------------------------------------------------------------------

@RequestMapping 위로 클래스위로 올리면

웹사이트에 주소 칠때 member/loginPage 이런식으로 클래스 내부에있는거에 다 포함됨

-------------------------------------------------------------------

파라메터 받는 법 저기안에 키에 해당하는 변수명 쓰면 값 바로받아짐
TERMINAL

이렇게 값 넘어옴 

근데 받아오는 값이 무조건 문자열임 (String으로 써놨으니까) 그래서 null값도 나옴 String은 클래스니까?

 

근데 int로 받고싶으면 

 

 

이렇게 바꾸면 알아서 parse int 해주는거임 그래서 저거타입만 바꾸면됨.

 

하지만 int는 null값이 안들어가짐 기본타입이라 그래서 500번 에러남 (primitive type 어쩌고 뜸)

 

 

서로 타입안맞으면 400번 에러뜸 받아오는값이랑 타입이 다르면!

 

 

근데 Integer쓰면

 

Integer쓰면 null값 받아져서 이렇게...해결하는 사람도 많음..!

 

--------------------------------------------

@ReuestParam을 하면 키로 변수명 score로 써도 값이 출력됨!! 

 

 

근데 이렇게 하는것보다 강사님은 int를 하는것을 더 선호하심

이렇게하면&nbsp; v1

 

이렇게 뒤에 안넣을때도 빨간줄처럼 1이 나옴

 

그리고 v1=30을넣으면 노란줄처럼 30이 나옴

 

근데 score을 넣으면 왜 1이나오지,,,??????????????????????? 

그이유는 => v1을 박아넣어버려서 v1이 디폴트가됨 score가 씹히는거다...!

---------------------------------------------------------------------------------------------

 

이거 넣는순서는 상관없음

 

이렇게 & 하면 여러개 값 받기가능해짐

-----------------------------------------------------------

dto에서

@Date 하면 (lombok임)

 

세터게터 다 만들어주고 답정너인것들 걍 다 만들어줌 짱편리

그리고 

오른쪽 아래 getage() 인데 잘못씀..ㅋ

이렇게 빨간줄친거 넣고

이렇게 치면

값 다 넣어짐

-------------------------------------------------------------------

이렇게 score 안썻는데 값 0나오는 이유는 

생성자가 생성할때 기본으로 0으로 세팅해주기때문

--------------------------------------------------------------

이렇게 이름만 여러개 넣고싶으면
배열 쓰면 이렇게 나와짐~~!!

-----------------------------------------