스프링 MVC 컨트롤러 처리
1)파라미터 수집
사용자 요청에 필요한 데이터 추출->VO(Value Object), DTO(Data Trasfer Object)로 변환
2)애너테이션 사용(xml, 애너테이션 둘 다 사용 가능)
3)로직의 집중- 메서드별 컨트롤러 지정 가능
스프링 특징
1)상속, 인터페이스 구현x
2)메서드에 대한 제약x(파라미터, 리턴타입)
3)스프링 MVC가 제공하는 클래스 존재
servlet-context.xml
MVC관련 설정
1) <annotation-driven>
클래스 선언에 애너테이션을 이용해서 컨트롤러를 작성할 수 있다는 선언
2) InternalResourceViewResolver
뷰 처리 방법
경로: '/WEB-INF'
'/WEB-INF'는 브라우저에서 직접 접근할 수 없는 경로, 컨트롤러 호출이 우선되는 모델2방식에 맞는 구조임
3) <resource>
웹, CSS, JavaScript파일과 같은 고정자원들의 위치
4) <component-scan>
base-package속성값에 해당하는 패키지 내부의 클래스들을 조사한다는 뜻
<annotation-driven>과 연동하여 사용
자주 사용되는 애너테이션
애너테이션 |
설명 |
사용 |
@Controller |
스프링 MVC의 컨트롤러 객체 명시 |
클래스 |
@RequestMapping |
특정 URI에 매칭되는 클래스나 메서드 명시 |
클래스, 메서드 |
@Requestparam |
요청에 특정한 파라미터의 값을 찾아낼 때 사용 |
파라미터 |
@RequestHeader |
요청에서 특정 HTTP 헤더 정보 추출 |
파라미터 |
@PathVariable |
현재 URI에서 원하는 정보 추출 |
파라미터 |
@CookieValue |
쿠키가 존재할 경우, 쿠키의 이름을 사용해서 쿠키 값 추출 |
파라미터 |
@ModelAttribute |
자동으로 해당 객체를 뷰까지 전달 |
메서드, 파라미터 |
@SessionAttribute |
세션상에서 모델 정보 유지하고 싶은 경우 |
클래스 |
@InitBinder |
파라미터 수집하여 객체로 만들 경우 커스터마이징 |
메서드 |
@ResponseBody |
리턴타입이 hTTP응답메서지로 전송 |
메서드, 리턴타입 |
@RequestBody |
요청 문자열이 파라미터로 전달 |
파라미터 |
@Repository |
DAO 객체 |
클래스 |
@Service |
서비스 객체 |
클래스 |
'Develop > Spring' 카테고리의 다른 글
[4.스프링+MyBatis_MySQL의 설정]4.DataSource 설정 (0) | 2018.08.15 |
---|---|
[5.모델2방식과 스프링MVC]2.스프링MVC의 컨트롤러-2 (0) | 2018.08.13 |
[5.모델2방식과 스프링MVC]1.모델2패턴의 이해 (0) | 2018.08.13 |
[4.스프링+MyBatis_MySQL의 설정]5.MyBatis연결 (0) | 2018.08.13 |
[4.스프링+MyBatis_MySQL의 설정]3.MyBatis연동을 위한 준비 (0) | 2018.08.13 |
댓글