스마트웹앱콘텐츠전문가/프레임워크

[4.27]스프링MVC1(요청 매핑, 커맨트 객체, 리다이렉트, 폼 태그, 모델)

9D4U 2016. 4. 27. 13:55
728x90
반응형

@RequestMapping을 이용한 경로 매핑 :

적용 메서드를 두개 이상 정의할 수도 있다.

여러 단계에 거쳐서 하나의 기능이 완성된 경우, 여러 요청 경로를 한개의 컨트롤러 클래스에서 처리하는 것이 코드 관리에 도움이 된다.

(예제: 약관 동의(step1) -> 회원 정보 입력(step2) -> 가입 완료(step3))


====================================================

약관 동의 :

뷰 페이지 구현 + 컨트롤러 클래스 + 설정파일



=====================================================

[GET과 POST]

폼을 전송할 때 POST방식을 주로 사용함.

스프링MVC는 별도 설정이 없으면 GET과 POST 방식에 상관없이 @RequestMapping에 지정한 경로와 일치하는 요청을 처리한다.


만약 POST방식으로 전송된 요청만 처리하고 싶다면, @RequestMapping 애노테이션의 method 속성을 사용해서 전송 방식을 한정하면 된다.




==========================================================

[요청 파라미터 접근]


컨트롤러의 메서드에서 요청한 파라미터를 사용하려면, 

첫번째 방법은 HttpServletRequest를 직접 이용하는 것이다.

두번째 방법은 @RequestParam 애노테이션을 사용하는 것이다. 요청 파라미터의 개수가 몇개 안될 때는 이 애노테이션을 사용하면 간단하게 요청 파라미터의 값을 구할 수 있다.


※스프링MVC는 실제 파라미터의 타입에 맞게 String 값을 변환해 준다.(자동적으로)





=================================================

약관 동의 여부 확인 ->체크하면 회원가입 폼으로 넘어감, 체크하지 않으면 페이지 이동x

뷰페이지 + 컨트롤러 클래스



========================================================

[리다이렉트 처리]

잘못된 전송 방식으로 요청이 왔을 때 알맞은 경로로 리다이렉트해주기

컨트롤러 구현할 때, 처리 후 특정 페이지로 리다이렉트하고 싶다면 "redirect:경로"를 뷰 이름 대신에 리턴하면 된다.




=======================================================

[커맨드 객체를 이용해서 파라미터 사용하기]


요청 파마리터 개수가 증가할 때 스프링은 이를 대처하기 위해 커맨드 객체라는 것을 지원하고 있다. 스프링은 요청 파마리터의 값을 커맨드 객체에 담아주는 기능을 제공한다.


커맨드 객체는 다음과 같이 @RequestMapping 애노테이션이 적용된 메서드의 파라미터로 사용된다.









======================================================

회원가입 성공





=========================================================





728x90