병갈이 블록

2-02. 스프링 MVC 간략 정리해보기. 본문

IT(Old)/Spring 공부 기록

2-02. 스프링 MVC 간략 정리해보기.

woojang 2017. 7. 23. 00:42

1. 메이븐 웹 프로젝트 생성.

2. pom.xml에서 필요한 파일에 대한 의존 설정. <dependency>, <builder> 등..

3. web.xml에 DispacherServlet을 서블릿으로 등록한다. (org.springframwork.web.servlet.DispacherServlet)

그에 따른 매핑, init-param설정 등도 해준다. (param-name은 꼭 contextConfigLocation으로 한다.)

4. 빈설정.xml에 HandlerMapping, HanddlerAdapter, ViewResolver를 설정한다.

1) <beans> 속성에 xmlns:mvc="http://www.springframework.org/schema/mvc"와 xsi:schemaLocation에 

http://www.springframwork.org/schema/mvc 

http://www.springframwork.org/schema/mvc/spring-mvc.xsd

를 추가한다.

2) <mvc:annotation-driven/>태그를 추가한다. -> HandlerMapping, HanddlerAdapter를 등록해준다.

3) viewResolver를 등록한다. (org.springframework.web.servlet.view.InternalResourceViewResolver)


5. @Controller 애노테이션으로 컨트롤러를 지정한다.

- 각종 애노테이션으로 경로지정 등을 한다.

6. 커멘드 객체가 필요하다면 폼에서 전송될 자료의 이름에 맞게 프로퍼티형태로 메서드를 작성한다.

6. 자료가 넘어오는 과정에서 누락 등, 에러검사가 필요하다면 검사할 클래스를 구성하고 Validator인터페이스를 구현한다.

Validator인터페이스에는 두가지 메서드가 있다.

- boolean supports(Class<?> clazz);    // 검사할 타입을 지원하는지 유무를 리턴.

return 커멘드객체.class.isAssignableFrom(clazz); 형태로 구현.

- void validate(Object target, Errors errors);    // 실제적인 데이터의 에러유무를 판단하는 코드를 구현.

* Errors 객체를 이용. -> errors.rejectValue("프로퍼티이름", "에러코드"); 

//에러코드는 프로퍼티파일에 등록되어 있는 메시지 구별코드임.

* ValidatorUtils클래스를 이용.

-> ValidatorUtils.rejectIfEmptyOrWhitespace( errors , "프로퍼티이름", "에러코드");

** 차이점.

- Errors객체 이용 시 

조건문으로 Null 및 공백유무를 확인해야한다. 

중첩 프로퍼티에 대한 검사가 가능하다. 

pushNastedPath("중첩프로퍼티이름")메서드로 시작을, popNastedPath()로 종료를 선언. 

두 메서드 사이에 검사 및 에러 추가 코드작성.

- ValidatorUtils클래스의 rejectIfEmptyOrWhitespace메서드 이용 시 매개변수만 넣어주면 자체적으로

null, 공백유무(길이가 0)를 검사해서 errors객체에 에러를 추가해준다. (코드가 줄어든다.)

7. 컨트롤러 메서드의 매개변수에 커멘드 객체와 BindingResult 객체를 입력받도록 하고,

컨트롤러에서 검사클래스 객체를 생성하고  validate(커맨드객체, BindingResult객체);메서드를 호출하여 검사를 수행한다.

(BindingResult객체를 Errors인터페이스를 상속받은 타입니다.)

8. 에러 코드에 따른 메시지를 프로퍼티 파일에 작성한다. 그리고 빈에 <list><value>로 등록한다. (자세한 내용은 318p)

9. 7번과정을 조금 더 간결하게 하려면 @Valid애노테이션과 @InitBinder애노테이션을 사용한다. (323p 참고)



Comments