I will assume you are asking that question with respect to Java EE 6. In that case, JSF implements the presentation. It uses Facelets as its View Definition Language.
The business layer is implemented in EJB's, which may be stateless or stateful session beans. The Java Persistence Api handles the data layer by allowing interaction with Entities (Data Classes) analogous to database tables. Let me know if you find this answer helpful or need further clarification.