😎 커맨드 객체(Command Object) 란?
커맨드 객체는 HttpServletRequest 를 통해 들어온 요청 값을 setter 메서드를 통해 객체에 정의되어있는 속성에 바인딩이 되는 객체를 의미한다.
커맨드 객체는 dto 객체를 가리키고, HttpServletRequest 로 받아오는 요청값의 키 값과 동일한 이름인 속성들과 setter 메서드를 가지고 있어야 한다.
일일히 요청값을 맵핑해주지 않고, 훨씬 간편하게 코드를 짤 수 있게 된거지!
( HttpServletRequest 나 RequestParam 을 사용하는 것보다 훨씬 간단)
예로, 내가 지금 하고있는 프로젝트를 보면
커맨드 패키지 안에 아래처럼 커맨드 객체를 만들어주었다.
public class BContentCommand implements BCommand {
@Override
public void execute(Model model) {
Map <String,Object> map = model.asMap();
HttpServletRequest request =(HttpServletRequest) map.get("request");
String bId = reqeust.getParameter("bId");
BDao dao = new BDao();
BDto dto = dao.contentView(bId);
model.addAttribute("content_view".dto);
}
}
'✍ 따뜻한 개발 공부' 카테고리의 다른 글
[Spring] 스프링 프로젝트 web.xml 에서 한글깨짐 방지 위하여 한글처리 해주기 (0) | 2022.08.24 |
---|---|
[Spring] 스프링 MVC 게시판 만들기 / 프로젝트 설계도 (0) | 2022.08.23 |
[Spring] Validator 사용하지 않고, 스프링에서 @Valid와 @InitBinder 이용하여 유효성 검사하기 (0) | 2022.08.21 |
[Spring] 커맨드 객체로 데이터를 받을 때, 커맨드 이름을 임의로 바꾸는 방법 / @ModelAttribute (0) | 2022.08.20 |
[Spring] @RequestParam 어노테이션이 뭐여? / 코드 분석하기 (0) | 2022.08.19 |
댓글