Bài giảng Phát triển Web với Java EE - Bài 3: Cơ bản JSP

Nôi dung bài học

 JSP là gì?

 - Vòng đời của một JSP

 - Mối quan hệ giữa JSP và Servlet

 - Kỹ thuật sinh nội dung động với JSP

 - Gọi mã nguồn Java sử dụng JSP scripting elements

 - Xử lý lỗiThế nào là Static & Dynamic Contents?

Static contents

 Điển hình là các trang

HTML tĩnh

 Hiển thị như nhau cho tất

cả mọi người

Dynamic contents

Nội dung được sinh tự động

theo 1 số conditions

Các Conditions có thể là

Tài khoản người dùng

Thời gian

Giá trị User nhập vào trên

forms hoặc qua lựa chọn

pdf 32 trang kimcuc 8400
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển Web với Java EE - Bài 3: Cơ bản JSP", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phát triển Web với Java EE - Bài 3: Cơ bản JSP

Bài giảng Phát triển Web với Java EE - Bài 3: Cơ bản JSP
Bài 3: Cơ bản JSP 
Nôi dung bài học 
 JSP là gì? 
 - Vòng đời của một JSP 
 - Mối quan hệ giữa JSP và Servlet 
 - Kỹ thuật sinh nội dung động với JSP 
 - Gọi mã nguồn Java sử dụng JSP scripting elements 
 - Xử lý lỗi 
Thế nào là Static & Dynamic Contents? 
Static contents 
 Điển hình là các trang 
HTML tĩnh 
 Hiển thị như nhau cho tất 
cả mọi người 
Dynamic contents 
Nội dung được sinh tự động 
theo 1 số conditions 
Các Conditions có thể là 
Tài khoản người dùng 
Thời gian 
Giá trị User nhập vào trên 
forms hoặc qua lựa chọn 
Trang JSP là gì? 
 Thiết kế các trang web sử dụng HTML chuẩn 
 Vị trí nào cần tạo ra nội dung động chỉ cần chèn các thẻ 
Java vào bên trong HTML. 
 Toàn bộ trang JSP được thông dịch sang Servlet (một lần) 
và Servlet được thực thi khi yêu cầu của client gửi đến 
Ví dụ 
 
 
 Hello World! 
 
 Current time is 
 
JSP và Servlet 
 Servlet 
Thuận lợi 
-Đọc dữ liệu từ Form 
-Đọc các HTTP Request Header 
-Gán HTTP Status Code và Response 
Header -Sử dụng Cookie và Session 
-Chia sẽ dữ liệu giữa các Servlet 
-Xử lý cơ sở dữ liệu, ... 
Bất lợi 
-Sử dụng câu lệnh println để 
phát sinh HTML 
- Khi thay đổi, phải biên dich lại, 
(đóng gói lại), deploy lại 
 Servlet rất mạnh về xử lý và điều phối, nhưng Servlet lại rất yếu về tạo 
giao diện và bảo trì web 
JSP và Servlet 
JSP 
 Đơn giản hóa việc phát triển ứng dụng Web với JSP, 
JavaBeans và custom tags 
 Hỗ trợ tái sử dụng phần mềm qua các components 
(JavaBeans, Custom tags) 
 Tự động triển khai 
 Tự biên dịch lại các trạng JSP khi có thay đổi 
 Độc lập playform 
 JSP mạnh về xử lý hiển thị nhưng lại yếu về xử lý nghiệp 
vụ và điều phối 
JSP và Servlet 
 Trong thực tế, chúng ta kết hợp sức mạnh của Servlet và 
JSP vào mô hình MVC (Model-View-Controller) 
• Các Servlet đóng vai trò làm Controller 
• Các trang JSP đóng vai trò làm View 
• Model: sử dụng các công nghệ sẵn có khác (JDBC, 
hibernate, ...) 
Vòng đời của một trang JSP 
Vòng đời của một trang JSP 
 Các giai đoạn trong vòng đời trang JSP 
• Translation 
• Compile 
• Execution 
Vòng đời của một trang JSP 
 Giai đoạn Translation/Compilation 
• Các file JSP được dịch thành mã Servlet. Sau đó mã này mới được biên 
dịch tiếp 
• Thực hiện tự động nhờ container, ở lần đầu tiên trang JSP được truy 
cập (hoặc khi chỉnh sửa) 
• Với trang JSP tên là "pageName", mã dịch sẽ nằm ở 
/work/Standard 
Engine/localhost/context_root/pageName$jsp.java 
• Ví dụ: 
• /work/Standard 
Engine/localhost/date/mdex$jsp.java 
• Dữ liệu tính được chuyển thành mã Java, tác động tới output stream 
trả dữ liệu về cho client 
• Các phần tử JSP được xử lý khác nhau: 
• Các chỉ dẫn (Directives) được dùng để điều khiển Web container biên 
dịch và thực thi trang JSP 
• Phần tử Scripting được thêm vào lớp servlet tương ứng của trang JSP 
• Phần tử dạng được chuyển thành lời gọi phơng thức tới 
JavaBeans components 
Vòng đời của một trang JSP 
 Các phương thức trong giai đoạn thực thi 
Vòng đời của một trang JSP 
 Khởi tạo trang JSP 
• Có thể khai báo phương thức khởi tạo thực hiện nhiệm vụ 
• Đọc tham số cấu hình 
• Khởi tạo tài nguyên 
• Thực hiện bất kỳ công việc khởi tạo nào khác bằng việc 
override phương thức jspInit() của giao diện JspPage 
 
 Kết thúc trang JSP 
• Khai báo phương thức thực hiện nhiệm vụ 
• Đọc tham số cấu hình 
• Giải phóng tài nguyên 
• Thực hiện bất kỳ công việc dọn dẹp nào bằng cách override 
phương thức jspDestroy() của giao diện JspPage 
Các bước phát triển ứng dụng Web với JSP 
 Viết code (và biên dịch) cho các Web component (Servlet 
or JSP), các helper classes sử dụng trong web component 
 Tạo các tài nguyên tĩnh (Images, các trang HTML) 
 Viết file deployment descriptor (web.xml) 
 Build úng dụng Web (Tạo file *.war hoặc thư mục dạng 
chưa đóng gói nhưng triển khai được) 
 Triển khai ứng dụng Web trên 1 Web container 
• Web clients có thể truy cập ứng dụng qua URL 
JSP "là" Servlet! 
 Các trang JSP được dịch thành servlet 
 Tomcat biên dịch greeting.jsp thành greeting$jsp.java 
 Scriptlet (Java code) trong trang JSP sẽ được chèn vào 
trong phương thức jspServiceQ của servlet tương ứng 
 Các đối tượng Servlet có thể được truy cập từ trang JSP, 
mã nguồn phát triển JavaBeans, hoặc custom tag. 
Kỹ thuật sinh nội dung động trong JSP 
 Có thể áp dụng các kỹ thuật khác nhau, tùy các yếu tố 
sau 
• Kích thước, độ phức tạp của project 
• Yêu cầu về tái sử dụng code, bảo trì, ... 
 Có đầy đủ các kỹ thuật từ đơn giản tới phức tạp 
Kỹ thuật sinh nội dung động trong JSP 
 Gọi mã Java trực tiếp trong JSP 
 Gọi mã Java gián tiếp trong JSP 
 Sử dụng JavaBeans 
 Tự phát triển và sử dụng các custom tags 
 Sử dụng 3rd-party custom tags hoặc JSTL (JSP Standard 
Tag Library) 
 Sử dụng mẫu thiết kế MVC 
 Sử dụng Model2 frameworks đã được kiểm chứng 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Cho phép chèn các đoạn mã nguồn java vào bên trong 
trang JSP 
 Khi trang JSP thông dịch các đoạn mã nguồn này sẽ được 
chèn vào bên trong phương thức _jspService của Servlet. 
 Có 3 dạng: 
• Expressions: 
• Scriptlets: 
• Declarations: 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Expression 
 Định dạng: 
• JSP : 
 Lưu ý:- Không được phép sử dụng dấu ; trong các 
Expression 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Expression 
Kết quả 
 Expression sau tính toán ra kết quả sẽ được chuyển thành 
một String 
 String được chèn trực tiếp vào bên trong Ouput Stream 
của Servlet. 
 Kết quả tương tự như: 
• out.println(Expression); 
 Trong Expression có thể sử dụng các biến: 
• Các biến được định nghĩa tường minh 
• Các đối tượng được tạo sẵn ngầm định 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Sử dụng JSP Expression 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Sử dụng JSP Expression 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Scriptlet 
 Định dạng: 
• JSP : 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Scriptlet 
 Kết quả: 
• Sau khi trang JSP được thông dịch sang Servlet, mã 
nguồn java trong scriptlet được chèn tương ứng vào 
bên trong phương thức _jspServiceO 
 Trong Scriptlet có thể sử dụng các biến: 
• Các biến được định nghĩa tường minh 
• Các đối tượng được tạo sẵn ngầm định 
 Trong scriptlet được phép khai báo biến, sử dụng các câu 
lệnh điều kiện, vòng lặp, gọi phương thức,... 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Sử dụng JSP Scriptlet 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Sử dụng JSP Scriptlet 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Sử dụng Scriptlet + Expression + HTML 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Declaration 
 Định dạng: 
• JSP : <%! Khai báo các thuộc tính 
• Định nghĩa các phương thức %> 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Declaration 
 Sau khi trang JSP được thông dịch thành Servlet thì các 
khai báo thuộc tính và định nghĩa phương thức được 
chèn vào bên trong Servlet. 
 JSP Declaration được sử dụng với Scriptlet và Expression 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 JSP Declaration được sử dụng với Scriptlet và Expression 
 JSP Declaration cho phép -Định nghĩa phương thức mới 
 Cài đặt lại các phương thức jspInit(), jspDestroy 
 Không được phép cài đặt lại phương thức _jspService() 
 JSP Declaration không được phép sử dụng các đối tượng 
được định nghĩa ngầm định 
Gọi mã nguồn Java sử dụng JSP scripting elements 
 Khai báo JSP Declaration 
XIN CẢM ƠN! 

File đính kèm:

  • pdfbai_giang_phat_trien_web_voi_java_ee_bai_3_co_ban_jsp.pdf