JSP PROGRAMMING
(JAVA SERVER PAGE)
NỘI DUNG
Khái niệm JSP (Java Server Page)
Cú pháp JSP
Nhúng file và chuyển hướng giữa các trang JSP
Các đối tượng mặc định
Custom tag trong JSP
JAVA SERVER PAGES
JSP (Java Server Pages) là công nghệ của J2EE
Platform để xây dựng các ứng dụng cho việc
tạo ra các web động, chẳng hạn như HTML,
DHTML, XHTML và XML.
Công nghệ JSP cho phép tác giả của các trang
web tạo ra nội dung động với sức mạnh và tính
linh hoạt tối đa
JAVA SERVER PAGES
Thuận lợi khi dùng JSP :
Tạo
trang web động
Những
Công
trang HTML dễ viết và bảo trì
việc được tách biệt và phân công rõ
ràng trong nhóm phát triển
JSP Syntax
Thẻ bọc mã lệnh java : <% %>
VD :
<html>
<b>
<% java.util.Date date = new java.util.Date();
out.println("Last update: "+date); %>
</b>
<html>
JSP Syntax
Chú thích trong JSP : <%-- --%>
VD :
<html>
<b>
<%-java.util.Date date = new java.util.Date();
out.println("Last update: "+date);
--%>
</b>
<html>
JSP Syntax
Kết xuất giá trị đối tượng : <%= %>
Khai báo biến & phương thức: <%! %>
VD :
<%! int count = 0; %>
<%! String str = “My String”; %>
<%= str %>
<%= count++ %>
Lưu ý : biểu thức trong nằm trong thẻ <%= không
được tận cùng bằng chấm phẩy “;”
JSP Syntax
Khai báo thư viện: <%@ page %>
VD : <%@ page import = “java.sql.*” %>
Nhúng file: <%@ include file=“file name” %>
=> Dùng để đem nội dung file html hay jsp khác
bên ngoài vào trang hiện hành
Chuyển hướng giữa các trang jsp:
JSP Syntax – Include file
VD : (nhúng trang jsp, html)
<html>
Include Page
<% out.println(“Today is “; %>
<%@ include file=“currentDate.jsp” %>
</html>
JSP Syntax - sendRedirect
VD : chuyển hướng đến trang thể hiện login
<% …
if (loginResult==true) {
<% <jsp:forward page=“./loginOK.jsp”> </jsp:forward> %>
} else {
<% <jsp:forward page=“./loginFail.jsp”> </jsp:forward> %> }
… %>
Lưu ý : có thể chuyển hướng từ 1 trang jsp đến 1 trang html, jsp
hay 1 servlet khác
Các Đối Tượng Mặc Định
Đối tượng out : xuất phát từ lớp PrintWriter
Đối tượng request : xuất phát từ lớp
HttpServletRequest, dùng để lấy giá trị từ client
gửi lên server
Đối tượng reponse : xuất phát từ lớp
HttpServletResponse, dùng để trả kết xuất về
client
Đối tượng session : thuộc lớp HttpSession, dùng
để theo dõi kết nối và lưu vết phiên làm việc giữa
client và server
Custom Tag in JSP
Custom tag là thẻ do người dùng tự định nghĩa
theo cú pháp của XML, được sử dụng bởi các
thẻ JSP JavaBean
Custom tag chỉ là các lớp java hiện thực các
interface đặc biệt
Khi 1 Custom Tag được phát triển và triển khai,
nó có thể được gọi từ HTML bằng cách sử
dụng cú pháp XML
Custom Tag in JSP
Có 1 thẻ mở và 1 thẻ đóng.
Có thể có hoặc không có body
1 Custom Tag có thể được thể hiện như sau :
<tagLibrary:tagName attribute="value">
body
</tagLibrary:tagName>
Custom Tag in JSP
1 số lợi ích của Custom Tag
+ Nó có thể giảm hoặc loại bỏ các script trong ứng dụng JSP.
Không cần code java để khởi tạo hoặc thiết lập các thuộc tính của
component
+ Dễ sử dụng : Custom tag có cú pháp đơn giản, nó có thể
được sử dụng như các thẻ HTML
+ Nó có thể nâng cao năng suất của các nhà phát triển nội
dung không phải là lập trình viên, bằng cách cho phép họ thực
hiện nhiệm vụ mà không thể được thực hiện với HTML.
+ Nó có thể tái sử dụng : Nó giúp tiết tiệm thời gian phát
Custom Tag in JSP
Các bước hiện thực JSP Custom Tag :
1.
Viết tag handler class
2.
Tạo file mô tả cho thư viện thẻ (TLD)
3.
Làm cho các handler class và file TLD có thể
truy cập vào ứng dụng web
4.
Tham chiếu đến thư viện
5.
Sử dụng các tag trong trang JSP
Viết Tag Handler Class
Tag Handler Class là class hiện thực 1 trong 2
interface
1.
Tag : là 1 interface đơn giản với 6 method
2.
BodyTag : có nhiều hơn Tag 3 method và
nhiều tính năng hơn nữa
Hoặc là kế thừa từ 1 trong 2 class và override
các phương thức mà chúng ta cần
1.
TagSupport
2.
BodyTagSupport
Tạo Tag Library Discriptor
Xác định các thư viện sẽ chứa các ánh xạ giữa
Custom Tag và lớp Java mà sẽ xử lý nó
Thư viện này được định nghĩa trong một tài
liệu XML được gọi là 1 tag library descriptor
(TLD)
Make the TLD and handler class
accessible
Có 2 cách để làm điều này :
1.
Đóng gói các lớp và TLD cùng nhau vào một
tập tin JAR và sau đó lưu trữ các tập tin JAR
trong thư mục lib của ứng dụng Web
2.
Đặt các file class lỏng lẻo trong các lớp thư
mục con và đặt các file TLD vào thư mục
WEB-INF của ứng dụng Web
Tham chiếu đến thư viện
Có 2 cách để khai báo 1 tham chiếu giữa một
trang JSP và thư viện của nó
1.
Khai báo 1 tham chiếu tĩnh thông qua
descriptor của ứng dụng Web (web.xml)
2.
Khai báo 1 tham chiếu động trực tiếp trong
trang
Sử dụng tag trong trang JSP
Thanks For Listening