[Model2] Model2의 주요 API

류넹·2024년 2월 15일
1

Spring

목록 보기
2/50

# 목적

  • Model2의 주요 API 간단 정리




주요 API

1. 요청핸들러 메소드

  • 클라이언트의 HTTP 요청을 처리하는 메소드

  • 1) 추가/수정/삭제 작업

    • 요청파라미터 값을 조회한다.
    • 조회된 요청파라미터값을 객체를 생성해서 담는다.
    • 값이 담긴 객체를 서비스 혹은 DAO에 전달해서 데이터베이스에 반영시킨다.
    • 재요청 URL을 반환한다.

    @RequestMapping(path = "/요청URL")
    public String 메소드이름(HttpServletRequest req, HttpServletResponse resp) throws Exception {
    // 클라이언트의 HTTP 요청을 처리하는 자바 코드를 포함한다.
    return "redirect 재요청URL"
    }
  • 2) 조회 작업
    • 조회된 요청파라미터값을 서비스 혹은 DAO에 전달해서 데이터베이스에서 데이터를 조회한다.
    • 조회된 정보를 뷰 페이지에 전달하기 위해서 요청객체에 속성으로 저장한다.
    • 내부이동할 URL을 반환한다.
    @RequestMapping(path = "/요청URL")
    public String 메소드이름(HttpServletRequest req, HttpServletResponse resp)
    // 클라이언트의 HTTP 요청을 처리하는 자바 코드를 포함한다.
    return "내부이동할 JSP 페이지 경로"
    }
  • 구조 (반환타입은 무조건 String)
@RequestMapping(path = "/요청URL")
public String 메소드이름(HttpServletRequest req, HttpServletResponse resp) throws Exception {
	// 클라이언트의 HTTP 요청을 처리하는 자바 코드를 포함한다.
}


2. FrontControllerServlet

  • model2.jar 라이브러리의 핵심 클래스
  • HttpServlet 클래스를 상속받는 서블릿 클래스
  • 역할
    1. 클라이언트의 모든 요청을 접수받는다.
    2. 클라이언트의 요청을 분석한다.
    - 요청 URL이 무엇인지, 요청 방식이 무엇인지 분석한다.
    3. 컨트롤러 클래스에서 적절한 요청핸들러 메소드를 실행한다.
    4. 요청핸들러 메소드 실행이 완료되면 뷰 페이지로 내부이동 혹은 재요청 URL을 응답으로 보낸다.

3. @Controller

  • 해당 클래스가 컨트롤러 클래스임을 나타내는 어노테이션
  • model2.jar 라이브러리는 @Controller 어노테이션이 부착된 클래스를 감지하고, 매핑정보를 분석한다.
  • 사용예시)
@Controller
public class MainController {

}

4. @RequestMapping

  • 매핑정보를 정의하는 어노테이션
  • 클래스 혹은 요청핸들러 메소드에 부착하는 어노테이션
  • 주요 프로퍼티
    1) path
    - 요청 URL을 지정한다.
    - 요청 URL은 반드시 "/"로 시작한다.(절대경로와 상관없음)
    2) method
    - 요청 방식을 지정한다.
    - 기본값은 HttpMethod.GET이다.
    - HttpMethod.GET 혹은 HttpMethod.Post를 지정할 수 있다.
  • 사용예시)
@Controller
@RequestMapping(path = "/board") // 필수 아님
public class BoardController {
	// board의 list (GET방식)
	@RequestMapping(path = "/list.do")
	public String boards(HttpServletRequest request, HttpServletResponse response) {
    
    }
    // board의 create (GET방식)
    @RequestMapping(path = "/create.do")
	public String form(HttpServletRequest request, HttpServletResponse response) {
    
    }
    // board의 create (POST방식)
    @RequestMapping(path = "/create.do", method = HttpMethod.POST)
	public String save(HttpServletRequest request, HttpServletResponse response) {
    
    }
}
profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글