In the MVC (Model-View-Controller) pattern for Java web applications: Model represents the business logic and data (typically Java classes); View handles presentation (JSP pages for rendering HTML); Controller manages user interaction and coordinates Model and View (Servlets receive requests and delegate to appropriate components). Option A incorrectly places HTML as a separate component rather than what JSP generates. Option C is wrong because 'Container' is not an MVC role. Option D adds unnecessary complexity with EJB.