1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI GIẢNG CÁC MÔ HÌNH ỨNG DỤNG JSP

32 186 0

Đ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

Định dạng
Số trang 32
Dung lượng 3,66 MB

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

Nội dung

• Nam đang cần thiết kế Website cho doanh nghiệp lớn, trong ứng dụng có rất nhiềumodule chương trình, làm thế nào để tách biệt giữa việc phát triển code java và việctrình bày trang bằng

Trang 1

CÁC MÔ HÌNH ỨNG DỤNG JSP

ThS Phan Thanh Toàn

1

Trang 2

• Nam đang cần thiết kế Website cho doanh nghiệp lớn, trong ứng dụng có rất nhiềumodule chương trình, làm thế nào để tách biệt giữa việc phát triển code java và việctrình bày trang bằng HTML và làm thế nào để xử lý các lỗi trong lập trình > Các

mô hình phát triển JSP và phương pháp xử lý lỗi trong trang JSP

Trang 3

Trình bày các mô hình ứng dụng JSP

Trình bày được cấu trúc và các thành phần của J2EE

Trình bày các phương pháp quản lý ngoại lệ trong trang JSP

Sử dụng các thẻ include và forward để thực thi ứng dụng JavaBean

Trang 4

1 Các mô hình ứng dụng JSP

3 Quản lý Exception trong JSP

2 J2EE FRAMEWORK

Trang 5

• Trong những dựa án nhỏ (small-scale project), hai vai trò:

 Người thiết kế các trang HTML;

 Người phát triển phần mềm Java

Hai vai trò này có thể không tách rời nhau

• Tuy nhiên, trong các dự án lớn, độ phức tạp có thể rất cao, một số yêu cầu sau đâycần phải được xác định:

 Làm thế nào tách biệt khối tài nguyên của cơ chế trình bày (presentation logic)

ra khỏi code thực (actual code, các file.class);

 Đặt khối presentation ở đâu Trong các dựa án lớn, khối presentation có thểchứa một khối lượng lớn các dữ liệu mẫu (template data) và các nội dung động(dynamic content, data từ database) Do vậy, cần phải tách biệt khối nội dungđộng ra khởi khối dữ liệu mẫu;

 Code thực sẽ được để ở đâu?

Trang 6

Large-scale Project

Presentation Logic (JSPs)

Application logic (class

file, bean)Static template

data Dynamic Content

Mô hình cấu trúc thường dùng cho các dự án lớn:

Trang 7

 Có code java trong trang JSP  Chưa tách biệt được dữ liệu trình bày(presentation) và code xử lý…

 Chưa tách biệt được vai trò của Web Developer với Application Developer Nhập nhằng về trách nhiệm của các nhân viên khi phát triển dự án

Trang 8

Ví dụ:

Xây dựng lớp javaBean: TimeBean để lấy thông tin về thời gian như sau:

Trang 9

• Xây dựng trang ExampleModel1_1.JSP sử dụng lớp JavaBean như sau:

Chú ý: Hãy import thư viện: java.util.*

Mô hình trên đã xử dụng code java ngay trong trang JSP

Trang 10

Mô hình 2:

• Để tách biệt code Java ra khỏi trang JSP, mô hình 2 dùng mô hình MVC View-Controler) Trang JSP 1 đóng vai trò controller khi tiếp nhận yêu cầu từ client.Trang này sẽ khởi tạo JavaBean/EJB với tầm vực session hoặc request để chứa dữliệu trong bộ nhớ server Sau đó chuyển hướng sang trang JSP 2 thông qua thẻ

(Model-<jsp:forward> hoặc RequestDispatcher.include() của interface RequestDispatcher(chuyển trang) Trang JSP 2 lấy dữ liệu của bean trong bộ nhớ Như vậy trang JSP 2trở thành một view của dữ liệu động

Application server

client

JSP 1(controller)

Bean/EJB (model)

Data source

JSP 2(view)

Trang 11

 <Khai báo Javabean, scope= “session | request | application”>

 <jsp: getProperty …> // truy xuất thuộc tính của bean để xuất>

• Ưu điểm của mô hình 2:

 Tách biệt hẳn được Presentation và code;

 JavaBean (code) đóng vai trò đóng gói business logic, là mô hình (model) truyxuất data  Dễ bảo trì, dễ bảo mật;

 JSP2 là những data view, mang tính trình bày (presentation logic);

 Controler thường là trang JSP hoặc servlet;

 Phân biệt rõ được trách nhiệm của từng người trong nhóm phát triển

Trang 12

• Yếu điểm của mô hình 2:

 Sử dụng Bean với tầm vực session có thể không thành công vì có thể clientkhông hợp tác vì cookie được dùng để theo dõi session mà client khóa đặc tínhnày

 Biến session tồn tại (thường là 30 phút sau khi client ra khỏi Website (expired),session tự động bị loại bỏ) làm tốn bộ nhớ của server trừ khi tường minh loại bỏthông tin này Nếu tầm vực được ấn định là application, hao phí còn lớn hơnnữa

Trang 13

• Trang ExampleModel2_1.JSP

Trang 14

• Trang ExampleModel2_2.JSP:

Trang 15

Trình bày hạn chế của mô hình JSP thứ nhất?

Trang 16

• Interface này được Servlet 2.1 định nghĩa như là một đối tượng đóng vai trò mộtresource-wrapper trên server (đối tượng đóng gói tài nguyên) với hai methods:

• Hành vi forward tương ứng với thẻ <jsp:forward page=”pageName”> còn hành vi include tương ứng với thẻ <jsp:include page=”pageName” flush=”true”>

void Forward(ServletRequest request, ServletRespone respone)

Forward một request từ một servlet sang một tài nguyên khác (servlet, JSP file, HTML file) trên server

void Include(ServletRequest request, ServletRespone respone)

Chèn nội dung một tài nguyên trên server (servlet, JSP page, HTML file) vào respone

Trang 18

• Trang ExampleInclude1_2.JSP:

Trang 19

• Giới thiệu;

• Các thành phần của J2EE;

• Mô hình đối tượng của J2EE

19

Trang 20

• J2EE được thiết kế nhằm đơn giản hóa các bài toán phức tạp kết hợp với sự pháttriển, triển khai, quản trị giải pháp nhiều lớp cho doanh nghiệp (Multi-tier EnterpriseSolution).

• Đây là chuẩn công nghệ mở kết quả từ sự hợp tác giữa Sun với các nhóm nghiêncứu

• Nền tảng của J2EE là EJB- Enterprise JavaBeans

• J2EE hỗ trợ khả năng tương tác liên-platform (cross-platform) như: Solaris, Linux,OS/390, MS Windows

Trang 21

2 JDBC - Java

DatabaseConnectivity

Các Java interface cho việc kết nối với database quan hệnhư: Oracle, MS SQL Server, Informic

3 JNDI - Java Naming

and Directory Interface

Bảng ánh xạ tên tài nguyên hình thành ra cơ chế định vịtài nguyên trên mạng Tài nguyên có thể là: EJB,Database driver, các tài nguyên có bảo mật,…

4 RMI-IIOP - Remote

Method Invocation over Internet Inte-ORB Protocol

Các giao tiếp cho phép gọi method tại JVM từ xa NếuIIOP được dùng, J2EE có thể tích hợp với code khôngphải của Java được viết theo chuẩn CORBA như: C++,Cobol

Ngôn ngữ khai báo giao tiếp của Java Đây là phần hiệnthực công nghệ CORBA của Java, cung cấp các chuẩncho việc giao tiếp giữa phần tử ứng dụng của Java vớicác phần tử ứng dụng của ngôn ngữ khác

Trang 22

STT Thành phần Giải thích

7 Connector Các Resource adapter cung cấp khả năng kết nối ứng dụng

với các nguồn tài nguyên khác, chẳng hạn như: CICS,Tuxedo, SAP R/3, PeopleSoft

Các Java API giúp giao tiếp với trình phân tích XML.Thường được dùng để mô tả các EJB và định dạng file choJSP script

12 JavaMail J2EE không có MailServer nhưng có hỗ trợ các API giúp gửi

E-mail

13 JAF – JavaBeans

Activation Famework

Cho phép kích hoạt tự động các lớp phù hợp cho việc quản

lý các loại media file có thể được đính kèm vào E-mail

14 J2SE – Java 2 Thường được gọi là Java 2, bộ JDK và JRE được tích hợp

Trang 23

23

Trang 24

• Lớp 1: Lớp trình bầy dữ liệu – Presentation tier.

Lớp này cung cấp những giao tiếp để client có thể truy xuất data client có thể là:

 CORBA client: Các client được viết bằng các ngôn ngữ khác Java Các client nàyphải sử dụng dịch vụ CORBA Naming Service (COSNaming) để định vị phần tử(component) ở mức giữa (Business tier) và sử dụng JNDI và CORBA-IIOP để gọicác method của component này Có thể gửi thông báo cho component thôngqua dịch vụ JMS

 Các Java client: Java applet, Java application, Java servlet, JSP

 Các trang web tĩnh

• Lớp 2: Lớp quy tắc doanh nghiệp - Business Logic tier

Lớp này chứa các class mô tả các quy tắc doanh nghiệp (business rules – dataprocessing logic) EJB chính là mô hình cho việc đóng gói các lớp làm nhiệm xử lý dữliệu cho từng vai trò user trong hệ thống Đây đích thực là một middle tier chứa cácclass truy xuất data, tính toán, quản lý giao tác, bảo mật, lưu trữ các dữ liệu mangtính bền vững vào database

• Lớp 3: Lớp Data – Data tier

Lớp này chứa data lâu dài của doanh nghiệp, đó có thể là các database, các hệ

Trang 25

Mô hình đối tượng của J2EE gồm những lớp nào?

Trang 26

• Các lỗi lúc dịch JSP;

• Các lỗi lúc request;

• Các lớp mô tả lỗi trong JSP

Trang 27

• Một trang JSP được truy xuất lần đầu tiên kể từ lúc server khởi động Trang JSP này

sẽ được dịch thành file.java rồi được biên dịch thành file.class của một servlet.Những lỗi xảy ra trong giai đoạn này được gọi là Compile Time Errors

• Ví dụ:

 Đáp ứng cho client: Mã lỗi 500 hoặc server error

 Nguyên nhân: Cú pháp JSP sai

 Cách sửa: Kiểm tra lại code JSP, deploy lại

Trang 28

• Các lỗi này xẩy ra do giải thuật sai trong code JSP (chia cho 0 chẳng hạn) Đây chính

là các run-time errors Các lỗi này có thể bẫy trong thân của trang JSP hoặc sẽforward sang một trang đặc biệt đảm nhiệm vai trò tạo response trong tình huống

Trang 30

• Ví dụ sau sẽ minh họa việc xử lý lỗi chia cho 0 bằng khối try…catch

Trang 31

JspException: Lỗi mô tả chung cho Exception của JSP Engine.

JspTagException: Exception được dùng bởi Tag handler, mô tả cho các lỗi không

thể phục hồi (recoverable error)

SkipPageException: Lỗi chỉ thị cho việc trang gọi (calling page) phải ngừng

(cease) việc kiểm tra tình huống Lỗi này được trình quản lý thẻ xuất ra để chỉ thịrằng phần còn lại của trang (sau dòng code gây lỗi) sẽ không được xử lý tiếp tục

ELException: Exception xảy ra khi một phát biểu JSP gây lỗi.

ELParseException: Xảy ra khi có lỗi lúc phân tích một phát biểu JSP.

Trang 32

Sau khi học xong bài học học viên cần:

• Hiểu được các mô hình ứng dụng JSP

• Biết cách sử dụng các thẻ include và forward để thực thiứng dụng JavaBean

• Hiểu được các phương pháp quản lý ngoại lệ trong cáctrang JSP

Ngày đăng: 19/03/2019, 13:48

TỪ KHÓA LIÊN QUAN

w