(1) @RequestParam
@RequestParam(value="id", required=false, defaultValue="")
에서 required=false
이면 요청값이 없을 때 에러가 아닌 null 리턴
but, 파라미터의 개수가 많아지면 @RequestParam은 코드를 난독성을 높이는 요인이 된다
(2) Command 객체
파라미터의 이름과 동일한 property를 가진 클래스를 작성한다
클래스를 매개변수로 사용하기만 하면 자동으로 데이터가 채워진다
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;
URL 주소의 마지막 부분에 ?와 &를 사용하여 키:값 쌍으로 데이터를 서버로 전달
입력한 데이터를 URL에 붙여서 전송한다.
데이터가 다 보이므로 보안에 취약
전송할 수 있는 데이터는 256byte를 못 넘는다
POST 방식보다 전송속도가 빠르다
요청 본문에 파라미터가 포함되어 주소에 노출되지 않는다
GET 방식보다 보안에 우수하다
전송할 데이터의 길이에 제한이 없다
복잡한 형태의 데이터를 전송 시 유리