Mô hình 3 lớp MVC được sử dụng như tiêu chuẩn trong việc thiết kế và lập trình web. Vậy mô hình 3 lớp là gì ? Mô hình này có đặc điểm gì so với các mô hình khác?
Mô hình 1 lớp:

Cấu trúc: bao gồm các file được viết bằng HTML,CSS, Javascript,JSP.
Chức năng: Các file vừa dùng để hiện giao diện người dùng, nhận yêu cầu, xử lí yêu cầu và hiển thị kết quả.
Ưu điểm:
- Lập trình đơn giản, thực thi nhanh.
- Phù hợp với ứng dụng nhỏ, đơn giản.
Hạn chế:
- Khó nâng cấp và sửa lỗi, tính chuyên môn hóa không cao: Một người phải biết tất cả:
- – html, html5, css, javascript, frontpage, dreamweaver, …: để thiết kế giao diện
- – java, jsp,servlet, jme, hibernate, spring, strut,…: để lập trình web động.
- – mysql, sql server, oracle … và ngôn ngữ SQL: để sử dụng csdl và lập trình database.
- Biết nghiệp vụ của công ty để viết phần xử lý nghiệp vụ,…
- Bảo mật không tốt do có thể đọc được mã nguồn.
Mô hình 2 lớp:

Lớp thứ 1 :
Bao gồm các file viết bằng HTML, CSS, Javascript, JSP.
Chức năng hiện thị giao diện người dùng, nhận yêu cầu và hiển thị kết quả.
Lớp thứ 2:
Bao gồm các file được viết bằng Java thông thường, sẽ được biên dịch ra file .class.
Chức năng là xử lí yêu cầu : tính toán, truy xuất cơ sở dữ liệu.
Ưu điểm:
- Che giấu được mã nguồn.
- Dễ nâng cấp hơn mô hình 1 lớp.
Hạn chế:
- Phức tạp hơn so với mô hình 1 lớp.
Mô hình 3 lớp (MVC):

Lớp View:
Bao gồm các file viết bằng HTML, CSS, Javascript, JSP.
Chức năng là hiện thị giao diện người dùng và hiện thị kết quả.
Lớp Model:
Gồm các file viết bằng java.
Chức năng là xử lí yêu cầu : tính toán, truy xuất cơ sở dữ liệu.
Lớp Controller:
Gồm file được viết bằng java “đặc biệt” có tên là Servlet. File java “đặc biệt” này có thể tiếp nhận các request trực tiếp từ brower.
Chức năng: Tiếp nhận yêu cầu và điều phối yêu cầu.
Ưu điểm:
- Bảo mật tốt hơn: che dấu được mã nguồn, request từ browser từ giao tiếp với lớp control.
- Phân công tốt hơn, tính chuyên môn hóa cao: web designer sẽ thiết kế lớp Views (font-end) và web developer sẽ thiết kế lớp models, control (back-end).
- Dễ nâng cấp và chỉnh sửa: Muốn sửa chữa giao diện thì sửa ở lớp view, muốn sửa chữa các chức năng thì sửa lớp model.
Hạn chế:
- Khó cài đặt hơn mô hình 1 lớp do mô hình 3 lớp phức tạp hơn mô hình 1 lớp rất nhiều.
- Không phù hợp với trang web có quy mô nhỏ.
- Chạy chậm hơn mô hình 1 lớp.