SlideShare a Scribd company logo
Sự phát triển của các Ứng dụng Thương mại
Web Application Là ứng dụng được triển khai (“deploy”) lên trên web và được sử dụng bởi một nhóm người hay rộng khắp thế giới. Sử dụng giao thức HTTP ( HyperText Transfer Protocol   ) làm giao thức để truyền tải chính. Webserver và WebBrowse giao tiếp với nhau theo HTTP (hay HTTPs, FTP)
Các mô hình phát triển ứng dụng Web Single tier Two tier Three tier Dựa trên RPC  Dựa trên Remote Object Three tier (trình duyệt HTML và Web server)
Sự phát triển của các framework ứng dụng thương mại bắt đầu từ mô hình single-tier (một tầng) sau đó chuyển sang mô hình two tier (hai tầng), mô hình đầu tiên của khái niệm distributed framework, và sau đó là mô hình three tier (ba tầng). Trong mô hình three tier, có 2 mô hình giao tiếp:  RPC (Remote Procedure Call) không dựa trên đối tượng, các thủ tục được triệu gọi bởi client. Remote Object: dựa trên nền tảng đối tượng, đối tượng từ xa được truy xuất bởi client. Khi Internet phát triển, mô hình 3 tầng có một sự chuyển đổi hoàn toàn, trình duyệt HTML nói chuyện với Web server và sau đó Web server sẽ nói chuyện với database hay các hệ thống thông tin thương mại.
Các thành phần tạo nên ứng dụng thương mại Một ứng dụng thương mại gồm: Presentation logic Business logic Data access logic (and Data model) System services Tác dụng của sự phát triển các ứng dụng thương mại mang lại: Linh hoạt khi muốn thay đổi. Nguồn gốc của các system service
Single – Tier (mainframe-based) Dumb terminal kết nối trực tiếp vào mainframe. Mô hình tập trung Presentation, business logic, data access cùng tồn tại chung với nhau tạo nên một  khối ứng dụng mainframe.
Single-Tier Pro&Cons Pro: Không đòi hỏi quản lý phía client. Tính nhất quán của dữ liệu. Cons: Do Presentation, business logic và data access tồn tại chung với nhau nên khó khăn trong việc cập nhật, duy trì và sử dụng lại code.
Trong mô hình single-tier client là những thiết bị đầu cuối và thậm chí không có bất kỳ xử lý logic nào do đó không cần quản lý client. Data access hoàn toàn được điều khiển bởi ứng dụng mainframe nên bảo đảm tính nhất quán của dữ liệu. Mặt hạn chế của single-tier là không có sự tách biệt giữa presentation, business logic và data access. Điều này không thuận tiện cho việc tái sử dụng code vì các hàm viết chung với nhau. Thay đổi business logic hay data access có thể ảnh hưởng đến các phần khác của ứng dụng, khó khăn cho việc thay đổi (ie: thêm chức năng …).
Two-Tier Các “Fat Client” giao tiếp với database “ SQL queries sent, row data returned”. Presentation, business logic và mô hình xử lý dữ liệu xảy ra ở ứng dụng phía client.
Mô hình two-tier xuất hiện cùng với sự ra đời của máy tính cá nhân, được sử dụng như nền client thay thế cho các dumb terminal ngày càng nhiều. Trong two-tier  fats client  giao tiếp với CSDL và sử dụng giao thức truy xuất SQL. Các client được gọi là “fat” bởi vì nó phải duy trì presentation, business logic và phải hiểu chi tiết trên data model của backend database và cách truy xuất chúng.
Two-Tier Pros & Cons Pros: Kết nối CSDL độc lập (so với Single-tier) Cons: Presentation, data model và business logic tồn tại chung với nhau ở phía client    khó khăn cho việc cập nhật và duy trì. Data model kết hợp chặt chẽ với mỗi client    thay đổi Schema của CSDL    tất cả client gián đoạn. Việc cập nhật phải được triển khai đến tất cả các client    khó khăn cho việc bảo trì hệ thống. DB Connection cho mỗi client    Khó co dãn. Dữ liệu thô chuyển đến client để xử lý    lưu lượng mạng cao.
Three-Tier (RPC-based) Thinner client: business và data model tách rời presentation. Business logic và data model logic cư trú ở middle tier server còn client điều khiển presentation. Middle Tier server đòi hỏi điều khiển System services. Kiểm soát trùng hợp, thread (tiểu tiến trình), transaction (giao tác), bảo mật, lưu trữ, đa thành phần, performance(sự thi hành)…
Three-Tier (RPC-based) Pros & Cons Pros: Business logic có thể thay đổi linh hoạt hơn two-tier.  Hầu hết các business logic tập trung ở middle-tier server. Cons: Phức tạp trong middle-tier server. Client và middle-tier server kết hợp chặt chẽ hơn three-tier object based. Code không có tính tái dụng (so với object based model).
Three-Tier (Remote Object based) Business logic and data model captured in objects Business logic and data model are now described in  “abstraction” (interface language) Object models used: CORBA, RMI, DCOM Interface language in CORBA is IDL Interface language in RMI is Java interface
Three-Tier (Remote Object based) Pros & Cons Pros:  Kết hợp lỏng lẻo hơn mô hình RPC. Tính tái sử dụng của code. Cons: Sự phức tạp trong middle-tier.
Three-Tier (Web server) Trình duyệt quản lý presentation logic. Trình duyệt giao tiếp với Web server thông qua giao thức HTTP. Business logic và data model được xử lý bằng các công nghệ phát sinh nội dung động như: CGI, Servlet/JSP, ASP.
Three-Tier (Web server based) Pros & Cons Pros: Tồn tại nhiều loại client. Không quản lý client. Hỗ trợ các thiết bị client khác nhau J2ME cho phép cell-phone Cons: Middle-tier vẫn còn nhiều phức tạp.
Single-tier vs. Multi-tier
Monolithic vs. Object-based
Trends (“Khuynh Hướng”) Chuyển từ cấu trúc single-tier sang multi-tier. Chuyển từ mô hình monolithic sang mo hình ứng dụng object-based. Chuyển từ application-based client to HTML-based client.
Một số công nghệ Web Web tĩnh, CGI, ISAPI, ASP, ASP.NET, Servlet, JSP… Web tĩnh:  chỉ có khả năng hiển thị những thông tin nhập sẵn.  CGI:  cung cấp khả năng hiển thị nội dung động bằng cách cho thục thi chương trình để sinh ra nội dung trả về cho client.    Hạn chế của CGI là vấn đề tốc độ. ISAPI:  Cung cấp cách thức xây dựng các trình CGI ở dạng liên kết động DLL, khắc phục vấn đề tốc độ do chỉ nạp 1 lần lúc Web server khởi động. ASP : (sản phẩm của Microsoft) là các trang web chứa mã lệnh VB, sau đó là ASP.NET. Servlet : sản phẩm của Sun, tương tự như ISAPI, Servlet chỉ cần nạp 1 lần khi web server khởi động, sau đó là  JSP ,
J2EE Components và Container
Sơ đồ trên mô tả J2EE Component và Container.  Các component chạy bên trong container. Và container cung cấp môi trường thực thi máy chủ cho component. Các component trong môi trường J2EE: Client component chạy trên client như: stand-alone hay applet. JSP/Servlet là web component chạy trong môi trường web container. Các EJB bean – các thành phần thương mại chạy trong EJB container. J2EE Components và Container
Cấu trúc ứng dụng Web Cấu trúc ứng dụng Web trong eclipse: WEB-INF/scr: chứa các lớp Java (Servlet, model, …) WEB-INF/lib: thư viện cần thiết cho ứng dụng. WEB-INF/web.xml: chứa các mô tả deploy (“triển khai”) ứng dụng web.
Cấu trúc file web.xml Prolog Alias Paths Context and Initialization Paramaters Event Listeners Filter Mappings Error Mappings Reference to Environment Entries, Resource environment entries, or Resources
Thứ tự các thành phần trong web.xml Case sensitive Order sensitive (in the following order) icon, display-name, description, distributable context-param, filter, filter-mapping listener, servet, servlet-mapping, session-config mime-mapping, welcome-file-list error-page, taglib , resource-env-ref, resource-ref security-constraint, login-config, security-role env-entry, ejb-ref, ejb-local-ref
Prolog <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <web-app xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot; version=&quot;2.4&quot;>
Alias Paths Khi Servlet Context nhận một request nó phải xác định web component nào sẽ sử lý request. Nó thực hiện điều này bằng cách ánh xạ url path trong request tới web component. URL chứa:  context root  và  alias path http://<host>:8080/context_root/alias_path Alias_path có thể là: /alias-string  (đối với Servlet) và /*.jsp  (đối với JSP)
Alias paths Example
Context and Initialization Parameters (of the web.xml) Trình bày ngữ cảnh của ứng dụng Có thể chia sẻ giữa các thành phần trong một file war.
Event Listener (web.xml) Nhận sự kiện về chu trình sống của Servlet.
Filter Mapping (web.xml) Chỉ định các filter áp dụng cho 1 request và thứ tự của các filter.
Error Mapping (web.xml) Ánh xạ mã trạng thái trong HTTP response sang ngoại lệ của java.
Preferences (web.xml) Cần thiết khi web component tham khảo đến các entry môi trường, entry tài nguyên môi trường, hay các tài nguyên như: CSDL. Ví dụ: khai báo tham khảo đến đối tượng Data source
An example of web.xml <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <web-app xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot; version=&quot;2.4&quot;> <display-name>Web Application Example</display-name> <servlet> <servlet-name>helloWorld</servlet-name> <servlet-class>ex.HelloWorld</servlet-class> </servlet> <servlet-mapping><servlet-name>helloWorld</servlet-name> <url-pattern>/helloWorld</url-pattern></servlet-mapping> <welcome-file-list><welcome-file>formData.jsp</welcome-file> </welcome-file-list> </web-app>

More Related Content

PDF
Silverlight chapter 1
PDF
Spring mvc
PPT
DOC
Chapter9
PPT
11 building joomla! extensions with flex integration
PPTX
Mô hình MVC trong lập trình web với Java
PDF
Bai2 tong quan_mvc_0567
PDF
Sof301 slide1
Silverlight chapter 1
Spring mvc
Chapter9
11 building joomla! extensions with flex integration
Mô hình MVC trong lập trình web với Java
Bai2 tong quan_mvc_0567
Sof301 slide1

What's hot (8)

PPTX
Spring framework
PPTX
Mvc 3
PPTX
Mô hình mvc trong ASP
PPTX
Mô Hình MVC 3.0
PPT
MVC
DOC
Bao cao web cake php
PPTX
Thuyet trinh java fx
DOCX
Spring framework
Mvc 3
Mô hình mvc trong ASP
Mô Hình MVC 3.0
MVC
Bao cao web cake php
Thuyet trinh java fx
Ad

Viewers also liked (17)

PDF
Talk think08-startup-nation-diengia-bui van[1]
PDF
Eblook quan ly_va_lanh_dao
PPT
Slide ke toan tai chinh 1
PPT
[Rita Phuong Thao] Kỹ năng bán hàng hiệu quả (Tâm Việt Group)
PDF
Web201 slide 7
PPT
Kỹ năng ra quyết định
PDF
Chien luoc kinh_doanh
PPTX
Phân Tích Tài Chính
PPT
Quy trình marketing
PDF
Xay dung he thong an ninh thong tin cho doanh nghiep nghiem sy thang
PPT
Retail Data Warehouse
PDF
Giải pháp quản trị doanh nghiệp Business Intelligence
PPTX
Data warehouse implementation design for a Retail business
PDF
Big data vccorp
PDF
Introduction to Business Analysis
PDF
Chuong 7 chuc nang kiem tra
PDF
Nguyên lý 80 - 20
Talk think08-startup-nation-diengia-bui van[1]
Eblook quan ly_va_lanh_dao
Slide ke toan tai chinh 1
[Rita Phuong Thao] Kỹ năng bán hàng hiệu quả (Tâm Việt Group)
Web201 slide 7
Kỹ năng ra quyết định
Chien luoc kinh_doanh
Phân Tích Tài Chính
Quy trình marketing
Xay dung he thong an ninh thong tin cho doanh nghiep nghiem sy thang
Retail Data Warehouse
Giải pháp quản trị doanh nghiệp Business Intelligence
Data warehouse implementation design for a Retail business
Big data vccorp
Introduction to Business Analysis
Chuong 7 chuc nang kiem tra
Nguyên lý 80 - 20
Ad

Similar to Web Architecture (20)

PPT
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
DOCX
Web service
DOCX
Thương mại điện tử
PPTX
Tìm hiểu web service
PDF
Chương 1 - Tổng quan về JSP - Servlet.pdf
PPT
Slide Web Service
PDF
Chapter 2 tong quan ve he thong web
PDF
Mo hinh-3-lop
PDF
Ltw0 baimodau
PDF
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
PDF
(HoaND) giao trinh webservice
PPTX
Chuong 1 qttk_website.html
PDF
Bai1 gioi thieu_servlet_va_jsp_8952
PPT
chuong 1 - Tong quan ve Lap trinh mang.ppt
PPTX
ITLC HN 14 - Bizweb Microservices Architecture
PDF
Bizweb Microservices Architecture
PPT
Bai ii khai quat ha tang co so
PPTX
Mobile app development (Hoàng Nam Hải, Giám đốc ManaTech)
PDF
Net06 asp.net applications & state management
PPT
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Web service
Thương mại điện tử
Tìm hiểu web service
Chương 1 - Tổng quan về JSP - Servlet.pdf
Slide Web Service
Chapter 2 tong quan ve he thong web
Mo hinh-3-lop
Ltw0 baimodau
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
(HoaND) giao trinh webservice
Chuong 1 qttk_website.html
Bai1 gioi thieu_servlet_va_jsp_8952
chuong 1 - Tong quan ve Lap trinh mang.ppt
ITLC HN 14 - Bizweb Microservices Architecture
Bizweb Microservices Architecture
Bai ii khai quat ha tang co so
Mobile app development (Hoàng Nam Hải, Giám đốc ManaTech)
Net06 asp.net applications & state management

More from Hiep Luong (20)

PPTX
Youth in Community at Youth for Cause Dialogue Session 10 June 2011
PPT
Lin at youth for cause dialogue session 10 june 2011
PPT
Gop Sang at Youth for Cause Dialogue Session 10 June 2011
PPT
Gop sang at youth for cause dialogue session 10 june 2011
PPTX
Eco profile at youth for cause dialogue session 10 june 2011
PPT
Be a guardian evg at youth for cause dialogue session 10 june 2011
PPTX
Touch group at youth for cause dialogue session 10 june 2011
PPT
Structured teaching
PPT
PPT
S211 conference pr presentation jg master
PPT
Presentation Layer
PPT
E-Commerce
PPT
Cryptography and E-Commerce
PDF
Ptit tmdt
PPTX
Defining business process and workflows
PPT
ECM Introduction
PPT
Collaboration
PPT
Business Intelligence
PPT
Search overview
PPTX
Communication Training
Youth in Community at Youth for Cause Dialogue Session 10 June 2011
Lin at youth for cause dialogue session 10 june 2011
Gop Sang at Youth for Cause Dialogue Session 10 June 2011
Gop sang at youth for cause dialogue session 10 june 2011
Eco profile at youth for cause dialogue session 10 june 2011
Be a guardian evg at youth for cause dialogue session 10 june 2011
Touch group at youth for cause dialogue session 10 june 2011
Structured teaching
S211 conference pr presentation jg master
Presentation Layer
E-Commerce
Cryptography and E-Commerce
Ptit tmdt
Defining business process and workflows
ECM Introduction
Collaboration
Business Intelligence
Search overview
Communication Training

Web Architecture

  • 1. Sự phát triển của các Ứng dụng Thương mại
  • 2. Web Application Là ứng dụng được triển khai (“deploy”) lên trên web và được sử dụng bởi một nhóm người hay rộng khắp thế giới. Sử dụng giao thức HTTP ( HyperText Transfer Protocol ) làm giao thức để truyền tải chính. Webserver và WebBrowse giao tiếp với nhau theo HTTP (hay HTTPs, FTP)
  • 3. Các mô hình phát triển ứng dụng Web Single tier Two tier Three tier Dựa trên RPC Dựa trên Remote Object Three tier (trình duyệt HTML và Web server)
  • 4. Sự phát triển của các framework ứng dụng thương mại bắt đầu từ mô hình single-tier (một tầng) sau đó chuyển sang mô hình two tier (hai tầng), mô hình đầu tiên của khái niệm distributed framework, và sau đó là mô hình three tier (ba tầng). Trong mô hình three tier, có 2 mô hình giao tiếp: RPC (Remote Procedure Call) không dựa trên đối tượng, các thủ tục được triệu gọi bởi client. Remote Object: dựa trên nền tảng đối tượng, đối tượng từ xa được truy xuất bởi client. Khi Internet phát triển, mô hình 3 tầng có một sự chuyển đổi hoàn toàn, trình duyệt HTML nói chuyện với Web server và sau đó Web server sẽ nói chuyện với database hay các hệ thống thông tin thương mại.
  • 5. Các thành phần tạo nên ứng dụng thương mại Một ứng dụng thương mại gồm: Presentation logic Business logic Data access logic (and Data model) System services Tác dụng của sự phát triển các ứng dụng thương mại mang lại: Linh hoạt khi muốn thay đổi. Nguồn gốc của các system service
  • 6. Single – Tier (mainframe-based) Dumb terminal kết nối trực tiếp vào mainframe. Mô hình tập trung Presentation, business logic, data access cùng tồn tại chung với nhau tạo nên một khối ứng dụng mainframe.
  • 7. Single-Tier Pro&Cons Pro: Không đòi hỏi quản lý phía client. Tính nhất quán của dữ liệu. Cons: Do Presentation, business logic và data access tồn tại chung với nhau nên khó khăn trong việc cập nhật, duy trì và sử dụng lại code.
  • 8. Trong mô hình single-tier client là những thiết bị đầu cuối và thậm chí không có bất kỳ xử lý logic nào do đó không cần quản lý client. Data access hoàn toàn được điều khiển bởi ứng dụng mainframe nên bảo đảm tính nhất quán của dữ liệu. Mặt hạn chế của single-tier là không có sự tách biệt giữa presentation, business logic và data access. Điều này không thuận tiện cho việc tái sử dụng code vì các hàm viết chung với nhau. Thay đổi business logic hay data access có thể ảnh hưởng đến các phần khác của ứng dụng, khó khăn cho việc thay đổi (ie: thêm chức năng …).
  • 9. Two-Tier Các “Fat Client” giao tiếp với database “ SQL queries sent, row data returned”. Presentation, business logic và mô hình xử lý dữ liệu xảy ra ở ứng dụng phía client.
  • 10. Mô hình two-tier xuất hiện cùng với sự ra đời của máy tính cá nhân, được sử dụng như nền client thay thế cho các dumb terminal ngày càng nhiều. Trong two-tier fats client giao tiếp với CSDL và sử dụng giao thức truy xuất SQL. Các client được gọi là “fat” bởi vì nó phải duy trì presentation, business logic và phải hiểu chi tiết trên data model của backend database và cách truy xuất chúng.
  • 11. Two-Tier Pros & Cons Pros: Kết nối CSDL độc lập (so với Single-tier) Cons: Presentation, data model và business logic tồn tại chung với nhau ở phía client  khó khăn cho việc cập nhật và duy trì. Data model kết hợp chặt chẽ với mỗi client  thay đổi Schema của CSDL  tất cả client gián đoạn. Việc cập nhật phải được triển khai đến tất cả các client  khó khăn cho việc bảo trì hệ thống. DB Connection cho mỗi client  Khó co dãn. Dữ liệu thô chuyển đến client để xử lý  lưu lượng mạng cao.
  • 12. Three-Tier (RPC-based) Thinner client: business và data model tách rời presentation. Business logic và data model logic cư trú ở middle tier server còn client điều khiển presentation. Middle Tier server đòi hỏi điều khiển System services. Kiểm soát trùng hợp, thread (tiểu tiến trình), transaction (giao tác), bảo mật, lưu trữ, đa thành phần, performance(sự thi hành)…
  • 13. Three-Tier (RPC-based) Pros & Cons Pros: Business logic có thể thay đổi linh hoạt hơn two-tier. Hầu hết các business logic tập trung ở middle-tier server. Cons: Phức tạp trong middle-tier server. Client và middle-tier server kết hợp chặt chẽ hơn three-tier object based. Code không có tính tái dụng (so với object based model).
  • 14. Three-Tier (Remote Object based) Business logic and data model captured in objects Business logic and data model are now described in “abstraction” (interface language) Object models used: CORBA, RMI, DCOM Interface language in CORBA is IDL Interface language in RMI is Java interface
  • 15. Three-Tier (Remote Object based) Pros & Cons Pros: Kết hợp lỏng lẻo hơn mô hình RPC. Tính tái sử dụng của code. Cons: Sự phức tạp trong middle-tier.
  • 16. Three-Tier (Web server) Trình duyệt quản lý presentation logic. Trình duyệt giao tiếp với Web server thông qua giao thức HTTP. Business logic và data model được xử lý bằng các công nghệ phát sinh nội dung động như: CGI, Servlet/JSP, ASP.
  • 17. Three-Tier (Web server based) Pros & Cons Pros: Tồn tại nhiều loại client. Không quản lý client. Hỗ trợ các thiết bị client khác nhau J2ME cho phép cell-phone Cons: Middle-tier vẫn còn nhiều phức tạp.
  • 20. Trends (“Khuynh Hướng”) Chuyển từ cấu trúc single-tier sang multi-tier. Chuyển từ mô hình monolithic sang mo hình ứng dụng object-based. Chuyển từ application-based client to HTML-based client.
  • 21. Một số công nghệ Web Web tĩnh, CGI, ISAPI, ASP, ASP.NET, Servlet, JSP… Web tĩnh: chỉ có khả năng hiển thị những thông tin nhập sẵn. CGI: cung cấp khả năng hiển thị nội dung động bằng cách cho thục thi chương trình để sinh ra nội dung trả về cho client.  Hạn chế của CGI là vấn đề tốc độ. ISAPI: Cung cấp cách thức xây dựng các trình CGI ở dạng liên kết động DLL, khắc phục vấn đề tốc độ do chỉ nạp 1 lần lúc Web server khởi động. ASP : (sản phẩm của Microsoft) là các trang web chứa mã lệnh VB, sau đó là ASP.NET. Servlet : sản phẩm của Sun, tương tự như ISAPI, Servlet chỉ cần nạp 1 lần khi web server khởi động, sau đó là JSP ,
  • 22. J2EE Components và Container
  • 23. Sơ đồ trên mô tả J2EE Component và Container. Các component chạy bên trong container. Và container cung cấp môi trường thực thi máy chủ cho component. Các component trong môi trường J2EE: Client component chạy trên client như: stand-alone hay applet. JSP/Servlet là web component chạy trong môi trường web container. Các EJB bean – các thành phần thương mại chạy trong EJB container. J2EE Components và Container
  • 24. Cấu trúc ứng dụng Web Cấu trúc ứng dụng Web trong eclipse: WEB-INF/scr: chứa các lớp Java (Servlet, model, …) WEB-INF/lib: thư viện cần thiết cho ứng dụng. WEB-INF/web.xml: chứa các mô tả deploy (“triển khai”) ứng dụng web.
  • 25. Cấu trúc file web.xml Prolog Alias Paths Context and Initialization Paramaters Event Listeners Filter Mappings Error Mappings Reference to Environment Entries, Resource environment entries, or Resources
  • 26. Thứ tự các thành phần trong web.xml Case sensitive Order sensitive (in the following order) icon, display-name, description, distributable context-param, filter, filter-mapping listener, servet, servlet-mapping, session-config mime-mapping, welcome-file-list error-page, taglib , resource-env-ref, resource-ref security-constraint, login-config, security-role env-entry, ejb-ref, ejb-local-ref
  • 27. Prolog <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <web-app xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot; version=&quot;2.4&quot;>
  • 28. Alias Paths Khi Servlet Context nhận một request nó phải xác định web component nào sẽ sử lý request. Nó thực hiện điều này bằng cách ánh xạ url path trong request tới web component. URL chứa: context root và alias path http://<host>:8080/context_root/alias_path Alias_path có thể là: /alias-string (đối với Servlet) và /*.jsp (đối với JSP)
  • 30. Context and Initialization Parameters (of the web.xml) Trình bày ngữ cảnh của ứng dụng Có thể chia sẻ giữa các thành phần trong một file war.
  • 31. Event Listener (web.xml) Nhận sự kiện về chu trình sống của Servlet.
  • 32. Filter Mapping (web.xml) Chỉ định các filter áp dụng cho 1 request và thứ tự của các filter.
  • 33. Error Mapping (web.xml) Ánh xạ mã trạng thái trong HTTP response sang ngoại lệ của java.
  • 34. Preferences (web.xml) Cần thiết khi web component tham khảo đến các entry môi trường, entry tài nguyên môi trường, hay các tài nguyên như: CSDL. Ví dụ: khai báo tham khảo đến đối tượng Data source
  • 35. An example of web.xml <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <web-app xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot; version=&quot;2.4&quot;> <display-name>Web Application Example</display-name> <servlet> <servlet-name>helloWorld</servlet-name> <servlet-class>ex.HelloWorld</servlet-class> </servlet> <servlet-mapping><servlet-name>helloWorld</servlet-name> <url-pattern>/helloWorld</url-pattern></servlet-mapping> <welcome-file-list><welcome-file>formData.jsp</welcome-file> </welcome-file-list> </web-app>

Editor's Notes

  • #24: Component colored green, container colored purple.