본문 바로가기

🌈 백엔드/스프링 MVC

스프링_파라미터 값 가져오기 @RequestParam

반응형
SMALL

 

 

[1] @RequestParam


(1) @RequestParam 정의 

 

요청의 파라미터를 연결할 매개변수에 붙이는 애너테이션 

컨트롤러에서 @RequestParam으로 파라미터 값을 넘겨받는다 

HTTP요청 메세지의 파라미터 값을 편리하게 사용해주는 애너테이션이다 

 

브라우저에 파라미터에 해당하는 매개변수의 값을 어떻게 넣었는가에 따라 결과값이 달라진다 

 

(2) @RequestParam  생략 

컨트롤러 매개변수가 String 기본형일경우 생략가능하다

 

 

(3) 파라미터 값 파악을 위해 jsp 파일 수정 

year 라는 매개변수 값의 여부를 파악하기를 위해 yoil.jsp를 수정했다 

 

 

[2] 애너테이션 미사용


(1) HttpServletRequest 응답 사용시 

 

 

 

파라미터 미입력 : null  / ② 파라미터 입력 : 빈 문자열

 

 

(2) String 매개변수 사용시 

 

 

 파라미터 미입력 : null  /  파라미터 입력 : 빈 문자열

 

 

(3) int 매개변수 사용시 

 

① 매개변수 미입력 : 500 서버 오류 

string이 아닌 int로 매개변수를 받았기 때문에 서버 오류 

 

 

② 매개변수 입력 : 400 클라이언트 오류 

year의 값을 입력하지 않아 오류 발생 

 

 

 

[3] 애너테이션 + 파라미터 필수 조건


(1) 타입 String 

 

파라미터 미입력 : 상태 400오류 

 

매개변수는 필수(required=true) 이기 때문에 매개변수의 값을 입력하지 않은 클라이언트 잘못으로 클라이언트 오류가 떳다

파라미터 입력 : 빈 문자열

 

(2) 타입 int 

 

같은 결과값 도출 required=true 생략 가능 

① 매개변수 미입력 : 400 클라이언트 오류 

 

② 매개변수 입력 : 400 클라이언트 오류 

 

 

(3) 타입 int + 기본값 

① 매개변수 미입력 : 400 클라이언트 오류 

클라이언트는 값을 입력하지 않았기 때문에 null이 나왔지만 

기본값이 1로 설정되어있기 때문에 콘솔창에는 기본값이 뜬다 

② 매개변수 입력 : 400 클라이언트 오류 

 

 

 

 

[4] 애너테이션 + 파라미터 필수 아닌 조건


(1) 타입 String 

파라미터 미입력 : null   / 파라미터 입력 : 빈 문자열

매개변수 필수가 아니니까 클라이언트, 서버 잘못 아님

 

(2) 타입 String + 기본값

 

① 매개변수 미입력 : null   /② 매개변수 입력 : 빈 문자열

매개변수 필수가 아니므로 클라이언트, 서버 잘못 아님 

 

 

(3) 타입 int 

 

① 매개변수 미입력 : 500 서버 오류  

required=false는 매개변수의 값이 필수가 아니다

입력을 하지 않은 클라이언트 잘못은 없지만 값이 들어오지 않았을경우 어떻게 해야할지 대비가 없기 때문에 서버 오류가 뜬다  

 

② 매개변수 입력 : 400 클라이언트 오류 

year의 값을 입력하지 않았으므로 빈문자열이 출력되어야하나 매개변수의 타입이 int이므로

타입을 바꿀수가 없어 클라이언트 오류가 떴다

 

(4) 타입 int + 기본값

① 매개변수 미입력 : 400 클라이언트 오류 

② 매개변수 입력 : 400 클라이언트 오류 

 

[5] 파라미터를 통합한다


(1) year , month , day 를 MyDate 클래스의 파라미터 date로 통합하기 위해 클래스를 만든다.  

 

(2) 파라미터 year, month, day 대신 MyDate date를 받아온다 

 

 

(3) JSP 수정한다 

 

(4) 출력

 

 

 

 

[6] 오류의 예외 처리 


(1) @ExceptionHandler(Exception.calss)

 

(2) 예외처리 여부 

required = true로 필수입력일때는 예외처리를 한다 

required = false로 필수입력이 아닐때는 기본값을 설정한다 

반응형
LIST