MVC Framework bài giảng
Trang 1MVC Framework
thangld@uit.edu.vn Khoa Mạng máy tính và Truyền thông
Đại học Công nghệ Thông tin
Trang 2JavaServer Pages Standard Tag Library 2
Trang 3Phân lớp ứng dụng
Trang 4JavaServer Pages Standard Tag Library 4
Trang 5JavaServer Pages Standard Tag Library 5
Mục đích phân lớp ứng dụng
Dễ dàng tách components và chuẩn hóa ứng
dụng
Phân chia vai trò rõ ràng cho từng components
này không làm ảnh hưởng đến lớp kia
Dễ lập trình
Trang 6Tổng quan về MVC
Trang 7JavaServer Pages Standard Tag Library 7
MVC Pattern
Trang 8JavaServer Pages Standard Tag Library 8
Model: Business Logic Layer
Đại diện cho dữ liệu và các thao tác truy cập
Trang 9JavaServer Pages Standard Tag Library 9
View: Presentation Layer
Trình bày dữ liệu của một model
Trang 10JavaServer Pages Standard Tag Library 10
Controller: Control Layer
Tiếp nhận yêu cầu từ người dùng và quyết định
cơ chế xử lý yêu cầu đó
Kết nối yêu cầu của người dùng với thao tác
nghiệp vụ tương ứng
Lựa chọn cơ chế trình bày kết quả (view)
Trang 11Kiến trúc Web Applications
Trang 12JavaServer Pages Standard Tag Library 12
Trang 13JavaServer Pages Standard Tag Library 13
Trang 14JavaServer Pages Standard Tag Library 14
Trang 15JavaServer Pages Standard Tag Library 15
MVC Model 1
1. Client gửi yêu cầu đến một trang JSP
2. Trang JSP giao tiếp với JavaBean
3. JavaBean làm việc với CSDL
4. Trang JSP gửi thông tin phản hồi về client
Trang 16JavaServer Pages Standard Tag Library 16
MVC Model 2
JSP (View)
Java Bean (Model) Business Logic
5
Trang 17JavaServer Pages Standard Tag Library 17
MVC Model 2
1. Client gửi yêu cầu đến một servlet
2. Servlet khởi tạo một JavaBean; JavaBean làm
việc với CSDL
3. Servlet giao tiếp với trang JSP
4. Trang JSP giao tiếp với JavaBean
5. Trang JSP gửi thông tin phản hồi về client
Trang 18JavaServer Pages Standard Tag Library 18
MVC Model 2 Advantages
Hỗ trợ thay đổi các trang JSP khác nhau để
trình bày dữ liệu tùy thuộc vào kết quả nhận
được từ model
Java Bean để thực hiện tác thao tác xử lý, và cuối
cùng gửi chuyển tiếp kết quả nhận được đến một
trong số các trang JSP để trình bày dữ liệu.
Trang 19JavaServer Pages Standard Tag Library 19
MVC Model 2
Các trang JSP chỉ được sử dụng để trình bày
dữ liệu
Servlet đóng vai trò gatekeeper
soát quyền truy cập, kiểm tra dữ liệu, xử lý lỗi dữ liệu,
…
Servlet đóng vai trò là central controller
tác nghiệp vụ để xử lý yêu cầu
hợp
Trang 20Phân phối yêu cầu
và chuyển giao dữ liệu
Trang 21JavaServer Pages Standard Tag Library 21
Phân phối yêu cầu
Đối tượng RequestDispatcher
Trang 22JavaServer Pages Standard Tag Library 22
Lưu dữ liệu trong Request-Bean
Sevlet: lưu dữ liệu
BeanClass value = new BeanClass( );
request.setAtrribute("bean", value);
JSP: đọc dữ liệu
<jsp: useBean id=”bean” class=”BeanClass”
scope=”request”/>
Trang 23JavaServer Pages Standard Tag Library 23
Lưu dữ liệu trong Session-Bean
Sevlet: lưu dữ liệu
BeanClass value = new BeanClass( );
Trang 24JavaServer Pages Standard Tag Library 24
Lưu dữ liệu trong Application-Bean
Sevlet: lưu dữ liệu
BeanClass value = new BeanClass( );
getServletContext().setAttribute("bean, value);
JSP: đọc dữ liệu
<jsp: useBean id=”bean” class=”BeanClass”
scope=”application”/>
Trang 25Web Application
Frameworks
Trang 26JavaServer Pages Standard Tag Library 26
Web Application Framework
Dựa trên kiến trúc MVC Model 2
Các ứng dụng trên web server cùng chia sẻ
chung các tính năng
Cung cấp các class và interface cho phép lập
trình viên sử dụng / kế thừa để phát triển ứng dụng
Trang 27JavaServer Pages Standard Tag Library 27
Ưu điểm của WebApp Frameworks
việc của người lập trình
Trang 28JavaServer Pages Standard Tag Library 28
Web Application Frameworks
Trang 29Q&A