HTTP 파라미터 처리

bacccine·2022년 6월 27일
0

spring

목록 보기
9/10

파라미터 전송받기

(1) @RequestParam
@RequestParam(value="id", required=false, defaultValue="")에서 required=false이면 요청값이 없을 때 에러가 아닌 null 리턴

but, 파라미터의 개수가 많아지면 @RequestParam은 코드를 난독성을 높이는 요인이 된다

(2) Command 객체
파라미터의 이름과 동일한 property를 가진 클래스를 작성한다
클래스를 매개변수로 사용하기만 하면 자동으로 데이터가 채워진다

Command 객체를 이용해 form 전송 처리하기

Command 객체는 자동으로 View의 Model로 바로 등록된다
→ view.addObject("",) 코드가 필요 없다
Command 객체를 JSP에서 사용할 땐 객체 명 중 첫 글자만 소문자로 바꾸어 사용한다
기본적으로 모두 String 으로 저장되나 클래스의 멤버변수와 이름이 같다면 자동 형변환된다

Checkbox 같은 경우 이름은 같지만 값이 여러 개가 들어올 수 있는데 이 경우 List로 처리한다
예시

<input type="text" name="names" value="steve" />
<input type="text" name="names" value="jobs" />

☞ private List<String> names;

GET 방식

URL 주소의 마지막 부분에 ?와 &를 사용하여 키:값 쌍으로 데이터를 서버로 전달
입력한 데이터를 URL에 붙여서 전송한다.
데이터가 다 보이므로 보안에 취약
전송할 수 있는 데이터는 256byte를 못 넘는다
POST 방식보다 전송속도가 빠르다

POST 방식

요청 본문에 파라미터가 포함되어 주소에 노출되지 않는다
GET 방식보다 보안에 우수하다
전송할 데이터의 길이에 제한이 없다
복잡한 형태의 데이터를 전송 시 유리

0개의 댓글