Bài giảng Lập trình Java 4 - Bài 4: Cơ bản JSP (Tiếp)

Page directive

 Thuộc tính import

 Định dạng

• <%@page import="package.class"%>

• <%@page import="package.*”%>

• <%@page import="package.classl,.,package.classN”%>

<%@page import="package1.*,.,package2.*”%>

• <%@page import="package1.classl,.,package2.*”%>

 Công dụng: sau khi trang JSP được thông dịch thành

Servlet, các import khai báo trong trang JSP sẽ được chèn

vào đầu trang Servlet tương ứng.

pdf 43 trang phuongnguyen 6260
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java 4 - Bài 4: Cơ bản JSP (Tiếp)", để 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 Lập trình Java 4 - Bài 4: Cơ bản JSP (Tiếp)

Bài giảng Lập trình Java 4 - Bài 4: Cơ bản JSP (Tiếp)
Bài 4: Cơ bản JSP (tiếp) 
Nôi dung bài học 
 Page Directive 
 JSP Include 
 JSP Forward 
Page directive 
 Directives là chỉ dẫn tới JSP container chứa thông tin chỉ 
dẫn JSP container phải biên dịch JSP thành servlet tương 
ứng. 
Attribute Kiểu giá trị Giá trị mặc định 
language Scripting language name "java" 
info String Depends on the JSP container 
contentType MIME type, character set "text/html;charset=ISO-8859-1" 
extends Class name None 
import Fully qualified class name or package name None 
buffer Buffer size or false 8192 
autoFlush Boolean "true" 
session Boolean "true" 
isThreadSafe Boolean "true" 
errorPage URL None 
isErrorPage Boolean "false" 
Page directive 
 Thuộc tính import 
 Định dạng 
• 
• 
• 
• 
 Công dụng: sau khi trang JSP được thông dịch thành 
Servlet, các import khai báo trong trang JSP sẽ được chèn 
vào đầu trang Servlet tương ứng. 
 
Page directive 
 ArrayList - Không sử dụng import 
 
Page directive 
 ArrayList - Sử dụng import 
 
Page directive 
 SachPOJO, SachDAO 
 
1 package pojos; 
2 import java.io.Serializable; 
3 public class SachPOJO implements Serializable { 
4 
5 ... 
6 
7 } 
1 package daos; 
2 import pojos.SachPOJO; 
3 public class SachDAO{ 
4 public static HashSet layDanhSach(){ 
5 ... 
6 } 
7 } 
Page directive 
 SachPOJO, SachDAO - Không sử dụng import 
 
1 
2 
3 JSP Page 
4 
5 <% 
6 java.util.HashSet ds; 
7 ds=daos.SachDAO.layDanhSach(); 
8 %> 
9 
10 
Page directive 
 SachPOJO, SachDAO - sử dụng import 
 
1 
2 <%@page import=njava.util.HashSet, pojos.SachPOJO, 
3 daos.SachDAO” %> 
4 
5 JSP Page 
6 
7 <% 
8 HashSet ds; 
9 ds = SachDAO.layDanhSach(); 
10 %> 
11 
12 
Page directive 
 Thuộc tính contentType và pageEncoding 
 Định dạng 
• 
• <%@page contentType=”MIME-Type; charset=Character-
SetM%> 
 Công dụng: xác định MINE-Type sẽ phát sinh bởi Servlet sau 
được thông dịch từ trang JSP. 
 
Page directive 
 Một số MINE-Type thông dụng 
 
■ text/html ■ application/msword 
■ text/xml ■ application/vnd.ms-excel 
■ text/plain ■ application/vnd.ms-powerpoint 
■ text/css ■ application/pdf 
■ image/gif ■ application/zip 
■ image/jpg ■ application/x-java-vm 
■ audio/midi ■ application/jar 
Page directive 
 Một số Character-Set thông dụng 
• Unicode (UTF-8) : charset=utf-8 
• US-ASCI : charset=us-ascii 
• Vietnamese (Windows) : charset=windows-1258 
• Western European (ISO):charset=iso-8859-1 
• Western European (Windows) : charset=Windows-1252 
 
 
Page directive 
 Phát sinh tài liệu HTML 
 
 
1 
2 
3 
4 <meta http-equiv=nContent-Type" 
5 content="text/html; charset=UTF-8”> 
6 Bài tập phân số 
7 
8 
9 Giá trị phân số: 
10 
11 
12 
Page directive 
 Phát sinh tài liệu XML 
 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
Page directive 
 Phát sinh tài liệu XML 
 
 
1 
2 <%@page import="java.util.HashSet, pojo.SinhVienPOJO, 
3 daos.SinhVienDAO" %> 
4 
5 <% 
6 HashSet ds=SinhVienDAO.layDanhSachO; 
7 for (SinhVienPOJO sv:ds){ 
8 %> 
9 ” 
10 Ten=n”/> 
11 <%} 
12 
13 
Page directive 
 Phát sinh tài liệu excel 
 
 
Page directive 
 Phát sinh tài liệu excel 
 
 
Page directive 
 Phát sinh tài liệu excel 
 
 
Page directive 
 Thuộc tính session 
 Định dạng 
• 
• 
 Công dụng: cho phép trang có được phép sử dụng Session hay 
không. 
 
 
Page directive 
 Sử dụng thuộc tính session 
 
 
Page directive 
 Thuộc tính buffer 
 Định dạng 
• 
 Công dụng: giúp out xác định kích thước của buffer 
 để gửi nội dung về cho client 
 
 
Page directive 
 Thuộc tính errorPage 
 Định dạng 
• 
 Công dụng: Khi ngoại lệ xảy ra ở trang JSP hiện tại, ngoại lệ 
sẽ được chuyển sang trang khác xử lý. 
 
Page directive 
 Thuộc tính errorPage 
 Định dạng 
• 
• 
 Công dụng: Cho phép hoặc không cho phép trang JSP hiện 
tại xử lý các ngoại lệ từ các trang khác. 
Page directive 
 Trang JSP chia hai số thực 
 
Page directive 
 Trang JSP xử lý ngoại lệ 
 
JSP INCLUDE 
 Dùng để nhúng nội dung của 1 trang khác vào trang 
hiện thời 
• 
JSP INCLUDE 
 Có hai cách Include các trang: 
• jsp:include Element : 
• Xử lý tại thời điểm Client yêu cầu 
• Include Directive : 
• Xử lý tại thời điểm thông dịch 
 
JSP INCLUDE 
 Cú pháp 
• <jsp:include page="{relativeURL | 
• }M /> 
• }"> 
• <jsp:param name=“parameterName" 
• value=”{parameterValue | }M/>+ 
 
JSP INCLUDE 
 Thời điểm xử lý: 
• Tại thời điểm Client yêu cầu 
 Công dụng 
• Cho phép chèn kết quả đầu ra của trang tĩnh hoặc 
động vào trang JSP 
 
JSP INCLUDE 
 Hợp lệ: 
• 
• 
• 
• 
• 
 
JSP INCLUDE 
 Không hợp lệ: 
• 
• <jsp:include 
page="" /> 
• 
• 
• 
 
JSP INCLUDE 
 mainpage.jsp 
• <jsp:include page=”subpage.html") 
 Cách xử lý lúc Client gửi yêu cầu đến 
• Bước 1: tất cả nội dung của subpage.html gửi về cho 
mainpage.jsp 
• Bước 2: mainpage.jsp nhận kết quả và thể hiện 
 
JSP INCLUDE 
 mainpage.jsp 
• <jsp:include page="subpage.jsp") 
 Cách xử lý lúc Client gửi yêu cầu đến 
• Bước 1: request của mainpage.jsp gửi đến 
subpage.jsp 
• Bước 2: trang subpage.jsp thực thi 
• Bước 3: kết quả subpage.jsp được trả về cho 
mainpage.jsp 
• Bước 4: mainpage.jsp nhận kết quả và thể hiện 
• 
JSP INCLUDE 
 mainpage.jsp 
 URL 
•  
 mainpage.jsp : fgColor: RED, bgColor: null 
 subpage.jsp :fgColor: RED, bgColor: YELLOW 
• 
JSP INCLUDE 
 Directive 
 Cú pháp 
• 
 Thời điểm xử lý: 
• Tại thời điểm trang JSP thông dịch thành Servlet 
 Công dụng 
• Cho phép chèn nội dung tĩnh hoặc động vào trang 
JSP 
• 
JSP INCLUDE 
 Directive 
 Hợp lệ 
• 1. 
• 2. 
 Không hợp lệ 
• 1. 
• 2.<%@includefile="
p"%> 
jsp:include vs Directive 
 
 
jsp:include 
Cú pháp 
 + 
Thời điểm Thời điểm client yêu cầu Thời điểm jsp thông dịch thành servlet 
Nội dung Kết quả đầu ra của trang Nội dung của trang 
 trong 
subpage 
mainpage không được phép sử dụng 
các khai báo trong subpage 
Mainpage được phép sử dụng các khai 
báo trong subpage 
response 
headers subpage thay đổi các response header 
không ảnh hưởng đến mainpage 
subpage thay đổi các response header 
ảnh hưởng đến mainpage 
Tốc độ Chậm hơn Nhanh hơn 
Chọn jsp:include hay 
 Tình huống :mainpage.jsp muốn include subpage.jsp 
 Sử dụng khi nội dung subpage.jsp ít thay 
đổi, mainpage muốn sử dụng nội dung subpage.jsp 
 Sử dụng jsp:include khi nội dung subpage.jsp thay đổi 
thường xuyên, mainage muốn sử dụng kết quả đầu ra của 
subpage.jsp 
 Tốc độ nhanh hơn jsp:include (nhưng 
không đáng kể) 
 
JSP FORWARD 
 
 Tình huống sử dụng 
• Sử dụng trang JSP để xử lý request sau đó gửi request 
đến trang Servlet hoặc trang JSP khác xử lý response. 
JSP FORWARD 
 Cú pháp 
• }M 
/> 
• }"> 
• <j sp:param name=“parameterName“ 
value="{parameterValue | }M/>+ 
 Công dụng 
• Chuyển request đến trang khác (html, jsp, servlet) xử lý 
JSP FORWARD 
 Hợp lệ: 
• 
• 
• 
• <jsp:param name=nid" 
value=n002" /> 
JSP FORWARD 
 Không hợp lệ: 
• 
• <jsp:forward 
page="" /> 
• 
• 
• 
XIN CẢM ƠN! 

File đính kèm:

  • pdfbai_giang_lap_trinh_java_4_bai_4_co_ban_jsp_tiep.pdf