1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 2. Tổng quan MVC pdf

47 283 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tổng quan MVC
Trường học Đại học CNTT TP.HCM
Chuyên ngành Khoa học Máy Tính
Thể loại Bài 2
Năm xuất bản 2023
Thành phố TP.HCM
Định dạng
Số trang 47
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải pháp ++: sử dụng MVCtrong Model – các lớp Java có thể sử dụng lại phương thức theo tác trên dữ liệu...  Hiển thị thông tin tùy thuộc vào loại client  Biểu diễn kết quả của tầng bu

Trang 1

Bài 2 Tổng quan MVC

Trang 2

Nội dung

dụng Web

 3.1 Model 1

 3.2 Model 2

 3.3 Application frameworks

Trang 3

Bài toán

3

Trang 4

Giải pháp ban đầu

Trong servlet: xử lý nghiệp vụ (business

Trang 5

Giải pháp +: sử dụng JSP

5

Trang 6

Giải pháp ++: sử dụng MVC

trong Model – các lớp Java có thể sử dụng lại

phương thức theo tác trên dữ liệu

Trang 7

Giải pháp ++: sử dụng MVC

7

Trang 8

Ví dụ 1 Tư vấn bia

Trang JSP Trang html

Trang 9

9

Trang 10

web src

WEB-INF

web.xml

result.htmlform.html

Trang 11

WEB-INF beer_v1

classes

webapps

web.xml

result.htmlform.html

com

BeerExpert.class

example web model

BeerSelect

.class

Cấu trúc thư mục triển khai

tomcat

Trang 13

<servlet-name> ServletBeer </servlet-name>

<url-pattern> /SelectBeer.do </url-pattern>

</servlet-mapping>

</web-app>

13

Trang 14

Servlet BeerSelect – version 1

public class BeerSelect extends HttpServlet {

@Override

protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("Beer Selection Advice<br>");

String c = request.getParameter("color");

out.println("<br>Got beer color "+c);

}

}

Trang 15

Test ứng dụng

15

Trang 16

Model BeerExpert

public class BeerExpert {

public List getBrands(String color){

List brands = new ArrayList();

Trang 17

Servlet BeerSelect – version 2

import package com.example.web;

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String c = request.getParameter("color");

BeerExpert be = new BeerExpert();

List result = be.getBrands(c);

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("Beer Selection Advice<br>");

Trang 18

Test ứng dụng

Trang 19

Kiến trúc hiện tại

19

Trang 20

Kiến trúc mong muốn

Trang 22

Servlet BeerSelect – version 3

import package com.example.web;

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String c = request.getParameter("color");

BeerExpert be = new BeerExpert();

List result = be.getBrands(c);

request.setAttribute("styles", result);

RequestDispatcher view = request.getRequestDispatcher("result.jsp"); view.forward(request, response);

}

Trang 23

Test lại ứng dụng

23

Trang 24

Nội dung

dụng Web

 2.1 Model 1

 2.2 Model 2

 2.3 Application frameworks

Trang 25

2 Giới thiệu MVC

25

Trang 26

MVC Pattern

Trang 27

Model

 Mô hình hóa dữ liệu và hành vi ( data & behavior ) trong xử lý nghiệp vụ ( business process )

Trang 28

 Hiển thị thông tin tùy thuộc vào loại client

 Biểu diễn kết quả của tầng business logic

 Không cần quan tâm làm thế nào có được thông tin, hoặc thông tin ở đâu (Model chịu trách

nhiệm)

Trang 29

 Kết nối tương tác của người dùng với các nghiệp

vụ cung cấp phía sau

 Tầng này quyết định request được xử lý như thế nào,

và thông tin sẽ được trả lại như thế nào

29

Trang 30

3 Quá trình phát triển của

kiến trúc ứng dụng Web

Trang 31

3 Quá trình phát triển của kiến trúc MVC

Trang 32

3 Quá trình phát triển của kiến trúc ứng dụng Web cho đến khi Model 1 ra đời

Model 1 architecture

No MVC

Trang 33

3.1 Model 1

(Page-Centric Architecture)

33

Trang 34

3.1 Model 1 Architecture (Page-centric)

Request

1

JSP pages

Trang 35

 Dưới dạng JavaBeans, scriptlets, expression

 Chuyển trang được thực hiện

 Khi user click vào 1 liên kết Ví dụ: <A HERF="find.jsp>

 Qua hành động submit form Ví dụ: <FORM

ACTION="search.jsp">

35

Trang 36

Kiến trúc Page-centric

dataBase

Trang 37

Kịch bản sử dụng trong kiến trúc

find.jsp

delete.jsp

redirect

forward Request 1

Trang 38

3.2 Model 2

(Servlet-Centric Architecture)

Trang 39

Model 2 Architecture (Servlet-centric)

Request

1

( Controller ) Servlet

( View ) JSP

MVC Design Pattern

39

Trang 40

Tại sao sử dụng kiến trúc Model 2?

nhau, tùy theo dữ liệu nhận được?

 Riêng JSP với JavaBeans và custom tags

(Model 1) chưa xử lý tốt được

 Sử dụng đồng thời Servlet và JSP (Model 2)

 Servlet xử lý request gửi tới, xử lý 1 phần dữ

liệu, thiết lập các beans, forward kết quả cho 1 trong nhiều trang JSP nào đó

Trang 41

Servlet-centric Architecture

 JSP chỉ được sử dụng để biểu diễn kết quả

 Xử lý điều khiển (Control) thực hiện bởi servlets

 Servlet hoạt động như một gatekeeper

 Cung cấp các services thông dụng, như authentication ,

authorization , login , error handling , …

 Servlet hoạt động như một central controller

 Quyết định logic phù hợp để xử lý các request, sẽ gửi

request đến những nơi nào, …

 Thực hiện việc điều hướng (redirecting)

41

Trang 43

3.3 Web Application

Frameworks

43

Trang 44

Web Application Frameworks

các chức năng

 Nhận ( receive ) và gửi tiếp ( Dispatching ) HTTP requests

 Gọi các phương thức từ tầng model

 Tổng hợp và chọn ra các views trả về cho client

trình viên sử dụng/mở rộng

Trang 45

Tại sao sử dụng các Web Application Framework?

45

Trang 46

Tại sao sử dụng các Web Application Framework?

chuẩn, cho phép tái sử dụng.

các components trong 1 ứng dụng

Trang 47

Một số Web Application Frameworks

Ngày đăng: 25/03/2014, 00:21

TỪ KHÓA LIÊN QUAN

w