MVC 모드는 주로 모델, 컨트롤러 및 뷰의 세 부분으로 구성됩니다. 컨트롤러의 주요 역할은 고객이 제출한 요청을 수락하고 처리를 위해 적절한 모델 객체에 요청을 전달한 다음 표시를 위해 처리 결과를 뷰로 보내는 것입니다. Http 서블릿 요청 및 http 서블릿 응답과 같은 API 를 서블릿에서 직접 사용할 수 있기 때문에 이전 J2EE 아키텍처에서는 일반적으로 서블릿을 사용하여 이 역할을 수행했습니다. 모델의 주요 기능은 고객의 요청에 따라 적절한 업무 작업을 수행하는 것입니다. 이 기능은 주로 J2EE 의 JavaBean 에 의해 수행됩니다. 이 코드 부분은 서블릿 API 에 의존해서는 안 되며 비즈니스 논리의 이식성을 보장합니다. 컨트롤러는 모델 실행 결과를 뷰로 보냅니다. 뷰는 이 데이터 부분을 고객에게 표시할 책임이 있습니다. 이 부분의 기능은 주로 J2EE 의 JSP 에 의해 수행됩니다. JSP 는 Java 코드를 HTML 에 삽입할 수 있기 때문입니다.
현재 Java 의 주요 MVC 프레임워크는 JSF, Spring MVC, Stripes, Struts 2, Tapestry, Wicket 입니다.