SlideShare a Scribd company logo
1 of 49
Java Server Page - JSP
ThS Văn Thiên Hoàng
Gi i thi uớ ệ
Java Server Pages (JSP) là công ngh khác choệ
vi c phát tri n ng d ng web.ệ ể ứ ụ
JSP đ c công b và s d ng đ ng th i v i servlet.ượ ố ử ụ ồ ờ ớ
JSP là m r ng c a servlet. Trong th c t jsp vàở ộ ủ ự ế
servlet đ c s d ng đ ng th i đ phát tri n ngượ ử ụ ồ ờ ể ể ứ
d ng web.ụ
Servlet y u đi m gì?ế ể
Vi t th HTML không tách bi t v i codeế ẻ ệ ớ 
s a đ i giao di n ph c t p.ử ổ ệ ứ ạ
JSP là công ngh đ c Sun phát tri n đệ ượ ể ể
kh c ph c nh c đi m này nh :ắ ụ ượ ể ư
Tách bi t vi c trình bày v i logic cài đ t code.ệ ệ ớ ặ
H tr hai ki u thêm n i dung: script ho c tag.ỗ ợ ể ộ ặ
JSP làm vi c nh th nào?ệ ư ế
WEB
SERVER
JSP
ENGINE DatabaseClient
JSP Files
HTT
P
JSPs are
processed here
Các b c x lý trang JSPướ ử
Web
Client
Web
Server
JSP
File
Servlet
HTML
File
Sends a
request
Request is
sent to JSP
Engine
Output
is sent
backResponse is
sent to the
client
ng d ng Web đ n gi nỨ ụ ơ ả
<HTML>
<TITLE> A Simple HTML file with HTML
extension </TITLE>
<BODY>
<H1> Hello JSP Programmer! </H1>
</BODY>
</HTML>
HelloWorld.html
ng d ng Web đ n gi nỨ ụ ơ ả – (1)
<HTML>
<TITLE> A Simple HTML file with JSP
extension </TITLE>
<BODY>
<H1> Hello JSP Programmer! </H1>
</BODY>
</HTML>
HelloWorld.jsp
ng d ng Web đ n gi nỨ ụ ơ ả – (2)
<HTML>
<TITLE> A Simple JSP file </TITLE>
<BODY>
<H1>
<% out.println("Hello JSP Programmer!");%>
</H1>
</BODY>
</HTML>
HelloWorld2.jsp
Thu n l i c a JSPậ ợ ủ
Tách bi t vi c phát sinh n i dung v i vi c trình bày.ệ ệ ộ ớ ệ
HTML/XML tags
Scriptlets, JavaBeans
H tr các thành ph nỗ ợ ầ
JavaBeans, EJBs
Phát tri n trang web đ n gi n s d ng tag.ể ơ ả ử ụ
Easy-to-use, JSP technology specific tags
Tích h p v i J2EE và Enterprise JavaBeansợ ớ
Các thành ph n chính c a JSPầ ủ
Có 3 thành ph n JSP :ầ
D n h ng – Directẫ ướ
• Cho phép đi u khi n c u trúc servlet.ề ể ấ
Các ph n t k ch b n – Script Element.ầ ử ị ả
• Đ c dùng đ vi t code Java.ượ ể ế
Hành đ ng – Actionộ
• Specific tags that affect the runtime behavior of the JSPs
Ví dụ
<HTML>
<HEAD><TITLE>MyFirstProgram.jsp</TITLE></HEAD>
<BODY>
<!-- MyFirstProgram.JSP -->
<%@ page import = "java.util.Date" %>
<% out.println("Hello there!"); %> <Br>
<%= "Current date is " + new Date() %>
</BODY> </HTML>
Fixed
Template data
JSP
Directive
JSP
Expressio
n
JSP
Scriptlet
Chi ti t v x lý trang JSPế ề ử
User
Request
Web Server/
Servlet Engine
JSP Handler Servlet
(Page Compilation Servlet)
New or
modified file?
Compile into
Servlet
Execute
Servlet
Yes
No
Các ph n t Scriptingầ ử
Expressions
Scriptlets
Declarations
Scripting là cơ chế cho phép nhúng code
trực tiếp vào trong trang HTML. Có 3 cách
nhúng:
Các ph n t Scriptingầ ử – (1)
Expressions được tính và đổi sang dạng
chuỗi: java.lang.String.
Evaluated to
produce 4
<HTML>
<BODY> 2 + 2 equals <%= 2 + 2 %>
</BODY>
</HTML>
Ví dụ:
Cú pháp: <%= expression %>
Các ph n t Scriptingầ ử – (2)
Scriptlets chứa code java.
Scriptlet
<HTML> <BODY>
<% out.println("HELLO WORLD!!"); %>
</BODY> </HTML>
Ví dụ:
Cú pháp: <% scriptlet_source; %>
Giống expression, scriptlet truy cập tới các
biến không tường minh.
Các ph n t Scriptingầ ử – (3)
<%
String queryData = request.getQueryString();
out.println("Attached GET data: "+queryData);
%>
Scriptlets không cần một câu lệnh đầy đủ và khối mở
có thể chứa thẻ HTML bên ngoài scriptlets.
Các ph n t Scriptingầ ử – (4)
<% if (Math.random() > 0.5) { %>
Have a <B> happy </B> birthday!!
<% } else {%>
Have a <B> nice </B> day!!
<% } %>
Các ph n t Scriptingầ ử – (5)
Declarations là định nghĩa biến hoặc phương thức
trong JSP.
Declaration
<%! private static int count_access = 0; %>
This page has been accessed
<%= ++count_access %>
time(s) since the server was rebooted.
Ví dụ:
Cú pháp: <%! Declaration; %>
Các đ i t ng không t ng minhố ượ ườ
Các đ i t ng phía server đ c đ nh nghĩa trongố ượ ượ ị
JSP container
Các đ i t ng này đ c đ nh nghĩa s n trongố ượ ượ ị ẵ
JSP.
Các đ i t ng không t ng minh–(1)ố ượ ườ
Tên biến Type Miêu tả Phạm
application javax.servlet.
ServletContext
Servlet context
nhận được bằng lời
gọi hàm:
getServletConfig().
getContext()
 
Application
config javax.servlet.
ServletConfig
Là đối tượng thể
hi n c a l pệ ủ ớ
ServletConfig  
Page
out javax.servlet.
jsp.JspWriter
Là đối tượng thể
hiện của lớp
JspWriter cho
luồng xuất.  
Page
Các đ i t ng không t ng minh–ố ượ ườ (2)
page java.lang.Object Thể hiện đối
tượng this của
Servlet.
Page
pageContext javax.servlet.
jsp.PageContext
Đối tượng thể
hiện của Page
Context của JSP.
Page
request Protocol-dependent
subtype of either
javax.servlet.
ServletRequest or
javax.servlet.http.
HttpServletRequest
Đối tượng thể
hiện của
ServletRequest.  
Request
Các đ i t ng không t ng minh–ố ượ ườ (3)
response Protocol-dependent
subtype of either
javax.servlet.Servlet
Response or
javax.servlet.http.
HttpServletRespons
e
 
Đối tượng thể
hiện của lớp
ServletResponse
 
Page
session javax.servlet.http.
HttpSession
Đối tượng thể
hiện của lớp
HTTPSession
quản lý dữa liệu
Session. 
Session
Các đ i t ng không t ng minh–ố ượ ườ (4)
exception java.lang.Throwable Quản lý ngoại lệ
ném ra trong
trang web.  
Page
Ví d : đ i t ng không t ng minh.ụ ố ượ ườ
<HTML>
<TITLE> A JavaServer Page using JSP Tags </TITLE>
<BODY>
<H2> An example using different session objects </H2>
<UL>
<LI> <B> Expression - </B> <BR>
Your hostname is: <%= %>
<LI> <B> Scriptlet - </B> <BR>
<% out.println("attached GET data:" +
%>
request.getRemoteHost()
request.getQueryString());
<LI> <B> Declaration - </B> <BR>
<%! private int accessCount = 0; %>
This page has been accessed <%= ++accessCount %>
time(s) since the server was last restarted
<LI> <B> Directive - </B> <BR>
<%@ page import = "java.util.*" %>
Today's Date is: <%= new Date() %>
</UL>
</BODY>
</HTML>
Ví d : đ i t ng không t ng minhụ ố ượ ườ
Ví d :ụ
<HTML>
<HEAD>
<TITLE>JSP Expressions</TITLE>
<META NAME="keywords"
CONTENT="JSP,expressions,JavaServer Pages">
<META NAME="description"
CONTENT="A quick example of JSP expressions.">
<LINK REL=STYLESHEET
HREF="JSP-Styles.css"
TYPE="text/css">
</HEAD>
Ví d :ụ
<BODY>
<H2>JSP Expressions</H2>
<UL>
<LI>Current time: <%= new java.util.Date() %>
<LI>Server: <%= application.getServerInfo() %>
<LI>Session ID: <%= session.getId() %>
<LI>The <CODE>testParam</CODE> form parameter:
<%= request.getParameter("testParam") %>
</UL>
</BODY></HTML>
Thành ph n D n h ngầ ẫ ướ
page
Đ nh nghĩa thông tin toàn c c cho trang JSP.ị ụ
include
S d ng đ chèn văn b n và code vào JSP t i đi mử ụ ể ả ạ ể
biên d ch.ị
taglib
• Đ nh nghĩ c ch m r ng c a t p th JSP hi n t i.ị ơ ế ở ộ ủ ậ ẻ ệ ạ
Các thu c tính D n Pageộ ẫ
Attribute Definition
language =
”<scriptingLanguage>
”
Báo Server biết ngôn ngữ hiện dùng để biên dịch
trang JSP – chỉ có ngôn ngữ Java.
 
extends =
”<className>"
Cho biết lớp cha mà servlet sẽ kết thừa.
 
import =
”<importList>"
Định nghĩa danh sách gói thư viện cần dùng trong
trang JSP. Tên mỗi gói cách nhau bởi dấu phẩy.
 
session = "true |
false"
Xác đinh dữ liệu phiên là có sẵn cho trang. Mặc định
là true.
 
buffer = "none | <size
in kb>"
Xác định kích thước bộ đệm luồng xuất dữ liệu. Mặc
định là 8 kb.
 
Các thu c tính D n h ng khác-(1)ộ ẫ ướ
Attribute Definition
autoFlush = "true |
false"
Xác định bộ đệm có tự động đưa dữ liệu về client
hoặc sẽ phát sinh ngoại lệ khi bộ đệm đầy. Mặc định
là true.
 
isThreadSafe = "true
| false"
Chỉ ra trang có thể có nhiều yêu cầu tại một thời
điểm. Mặc định là True.  
info = ”<text>" Đặc tả thông tin về trang JSP. Và có thể truy cấp
bằng hàm Servlet.getServletInfo().
 
errorPage =
”<error_URL>"
Liên qua đến xử lý ngoại lệ URL.
 
isErrorPage = "true |
false"
Xác định trang JSP là trang errorPage. Mặc định là
false.
 
contentType =
”<ctinfo>"
Trình bày thông tin kiểu MIME và tập ký tự liên quan
của việc đáp trả.
 
Ví d - S d ng thu c tínhụ ử ụ ộ
<%@ page language = "java"
import = "java.rmi.*, java.util.*"
session = "true"
buffer = "12kb"
autoFlush = "true"
info = "page directive jsp"
errorPage = "Error.jsp"
isErrorPage = "false"
isThreadSafe = "false" %>
<HTML> <TITLE> JSP Elements </TITLE>
<HEAD> <H1> JSP Elements </H1> </HEAD>
<BODY> </BODY> </HTML>
Ví dụ
//SimpleClass.java
package myPackage;
public class SimpleClass{
int height;
public void SimpleClass() {
height = 100; }
public void setHeight(int h) {
height = h; }
public int getHeight() {
return height; }
}
Ví d – (1)ụ
<!-- UseClass.jsp -->
<%@ page language = "java" %>
<%@ page import = "myPackage.SimpleClass" %>
<%! SimpleClass myObj = new SimpleClass();
%>
<%= myObj.getHeight() %>
<% myObj.setHeight(10); %>
<% out.println(myObj.getHeight()); %>
D n h ng khácẫ ướ
include
Cú pháp
<%@ include file = “relativeURLspec” %>
taglib
Cú pháp
<%@ taglib uri = “tagLibraryURI”
prefix = “tagPrefix” %>
Ghi nhớ
Khi s d ng d n h ng c n ghi nh sau:ử ụ ẫ ướ ầ ơ
H ng là các thông đi p g i t i JSP Container.ướ ệ ở ớ
H ng không l u b t kỳ k t qu trong b đ m xu t.ướ ư ấ ế ả ộ ệ ấ
H ng đ c x lý khi JSP đ c thi t l p.ướ ượ ử ượ ế ậ
Dẫn hướng JSP action cung cấp phương pháp để
đóng gói các tác vụ hiệu quả. Dẫn hướng này tạo
hoặc thao tác trên đối tượng, thường là JavaBeans.
Các JSP Action chu nẩ
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
<jsp:param>
<jsp:include>
<jsp:forward>
<jsp:plugin>
Các JSP Action chu n – (1)ẩ
<jsp:useBean>
K t h p v i JavaBean đ nh nghĩa tr c v i ph m vi và ID.ế ợ ớ ị ướ ớ ạ
<jsp:setProperty>
Thi t l p giá tr thu c tính c a Bean.ế ậ ị ộ ủ
<jsp:getProperty>
Truy c p giá tr thu c tính đ c t c a th hi n Biean.ậ ị ộ ặ ả ủ ể ệ
Bi n đ i nó sang d ng đ i t ng chu i java.lang.String.ế ổ ạ ố ượ ỗ
Đ t nó trong đ i t ng không t ng minhặ ố ượ ườ out.
Các JSP Action chu n – (2)ẩ
<jsp:param>
Is used to provide the tag/value pairs of information
Đ c s d ng là thu c tính con c a các action:ượ ử ụ ộ ủ
jsp:include, jsp:forward, and jsp:plugin.
Cú pháp nh sau:ư
<jsp:param name = "pName" value = "pValue">
</jsp:param>
<jsp:param name = "pName" value = "pValue"/>
Các JSP Action chu n – (3)ẩ
<jsp:include>
Cung c p c ch đ thêm các ngu n tài nguyên đ ngấ ơ ế ể ồ ộ
ho c tĩnh vào trang JSP.ặ
Cú pháp nh sau:ư
<jsp:include page = "urlSpec" flush = "true"/>
<jsp:include page = "urlSpec" flush = "true">
<jsp:param .../>
</jsp:include>
Ví d : S d ng <jsp:include>ụ ử ụ
<!-- Emplheader.jsp -->
<!-- Get employee’s name from the request -->
<% out.println("Employee: " +
request.getParameter("employee")); %>
<!-- Get employee’s title from the request -->
<% out.println("Title: " +
request.getParameter("title")); %>
Trang JSP sẽ tìm nhân viên với tên và tựa đề.
Được gọi dùng trong trang Employeeinfo.jsp
Ví d : S d ng <jsp:include>-(1)ụ ử ụ
<HTML>
<TITLE> Employee Information </TITLE> <BODY>
<jsp:param name= "employee" value= "Martha" />
<jsp:param name= "title" value= "Doctor"/>
</jsp:include>
</BODY> </HTML>
<jsp:include page= "Emplheader.jsp"
flush= "true" >
Employeeinfo.jsp
<jsp:include>
Employeeinfo.jsp
Emplheader.jsp
<jsp:include page = “Empl…
Các JSP Action chu n – (4)ẩ
<jsp:forward>
Cho phép JSP engine g i request trang hi n t i t i m t ngu nở ệ ạ ớ ộ ồ
tĩnh, servlet ho c m t trang JSP khác trong th i gian ch y.ặ ộ ờ ạ
Cú pháp nh sau:ư
<jsp:forward page = "relativeURLSpec" />
<jsp:forward page = "relativeURLSpec" >
<jsp:param .../>
</jsp:forward>
Ví d : S d ng <jsp:forward>ụ ử ụ
<HTML>
<TITLE> Using the JSP Forward action </TITLE> <BODY>
<!-- Checks whether the "company id" is equal to 1 -->
<% if
((request.getParameter("companyID")).equals("1")) {%>
<jsp:param name= "employee" value= "Martha" />
<jsp:param name= "title" value= "Doctor" />
</jsp:forward>
<%} else {
out.println("Sorry, no matching values found"); }%>
</BODY> </HTML>
<jsp:forward page= "MarthaHome.jsp">
Forward.jsp
Ví d : s d ng <jsp:forward> – (1)ụ ử ụ
<HTML>
.
.
<BODY>
<% out.println("Employee:" +
request.getParameter("employee"));
out.println("Title:" +
request.getParameter("title")); %>
</BODY> </HTML>
MarthaHome.jsp
<jsp:forward>
Forward.jsp
MarthaHome.jsp
<jsp:forward
page = “Martha…
Các JSP Action chu n – (5)ẩ
<jsp:plugin>
Phát sinh HTML phù h p v i trình duy t Client nh OBJECTợ ớ ệ ở ư
hay EMBED.
Cú pháp nh sau:ư
<jsp:plugin type = "pluginType"
code = "classfilename"
codebase = "relativeURLpath" >
<jsp:params> <jsp:param …/>...
...</jsp:params> </jsp:plugin>
Ví dụ
V i Appletớ
<APPLET CODE=“MyApplet.class”
WIDTH=457 HEIGHT=350>
</APPLET>
Ta s d ng thử ụ ẻ jsp:plugin nh sau:ư
<jsp:plugin type=“applet”
code=“MyApplet.class”
width=“457” height=“350” />
Câu h iỏ

More Related Content

What's hot

[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copynenohap
 
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEMduc phong
 
Báo cáo phân tích thiết kế mạng
Báo cáo phân tích thiết kế mạngBáo cáo phân tích thiết kế mạng
Báo cáo phân tích thiết kế mạngjackjohn45
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.commai_non
 
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTú Cao
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTMasterCode.vn
 
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hoc
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hocLuan van xay_dung_he_thong_mang_lan_cho_truong_dai_hoc
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hocDuc Nguyen
 
Seminar Presentation for FrontPage
Seminar Presentation for FrontPageSeminar Presentation for FrontPage
Seminar Presentation for FrontPagewebhostingguy
 
Sql injection demo - it-slideshares.blogspot.com
Sql injection   demo - it-slideshares.blogspot.comSql injection   demo - it-slideshares.blogspot.com
Sql injection demo - it-slideshares.blogspot.comphanleson
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Mr Giap
 

What's hot (20)

[123doc.vn] thiet ke mang lan cho truong hoc copy
[123doc.vn]   thiet ke mang lan cho truong hoc copy[123doc.vn]   thiet ke mang lan cho truong hoc copy
[123doc.vn] thiet ke mang lan cho truong hoc copy
 
CONG NGHE PHAN MEM
CONG NGHE PHAN MEMCONG NGHE PHAN MEM
CONG NGHE PHAN MEM
 
SQL injection
SQL injectionSQL injection
SQL injection
 
Xây Dựng Mạng LAN
Xây Dựng Mạng LANXây Dựng Mạng LAN
Xây Dựng Mạng LAN
 
Báo cáo phân tích thiết kế mạng
Báo cáo phân tích thiết kế mạngBáo cáo phân tích thiết kế mạng
Báo cáo phân tích thiết kế mạng
 
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.comBài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
Bài giảng môn Cơ sở dữ liệu - truongkinhtethucpham.com
 
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 FithouTài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
Tài liệu hướng dẫn quản lý user, phân quyền trong Ubuntu (linux) - 10B4 Fithou
 
Matlab intro
Matlab introMatlab intro
Matlab intro
 
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPTBài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
Bài 1: Làm quen với SQL Server 2008 - Giáo trình FPT
 
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hoc
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hocLuan van xay_dung_he_thong_mang_lan_cho_truong_dai_hoc
Luan van xay_dung_he_thong_mang_lan_cho_truong_dai_hoc
 
Seminar Presentation for FrontPage
Seminar Presentation for FrontPageSeminar Presentation for FrontPage
Seminar Presentation for FrontPage
 
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAYLuận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
 
eaodv
eaodveaodv
eaodv
 
Đề tài: Chương trình quản lý thư viện trường ĐH sao đỏ, HAY
Đề tài: Chương trình quản lý thư viện trường ĐH sao đỏ, HAYĐề tài: Chương trình quản lý thư viện trường ĐH sao đỏ, HAY
Đề tài: Chương trình quản lý thư viện trường ĐH sao đỏ, HAY
 
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAYĐề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
Đề tài: Xây dựng hệ thống thi trắc nghiệm, HAY
 
Sql injection demo - it-slideshares.blogspot.com
Sql injection   demo - it-slideshares.blogspot.comSql injection   demo - it-slideshares.blogspot.com
Sql injection demo - it-slideshares.blogspot.com
 
Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051Lập trình C cho VĐK 8051
Lập trình C cho VĐK 8051
 
Đề tài: Thiết kế trạm BTS của MobiFone tại tỉnh Hải Phòng, 9đ
Đề tài: Thiết kế trạm BTS của MobiFone tại tỉnh Hải Phòng, 9đĐề tài: Thiết kế trạm BTS của MobiFone tại tỉnh Hải Phòng, 9đ
Đề tài: Thiết kế trạm BTS của MobiFone tại tỉnh Hải Phòng, 9đ
 
Xml 215-presentation
Xml 215-presentationXml 215-presentation
Xml 215-presentation
 
Đề tài: Thiết kế hệ thống mạng cho một công ty, HOT, 9đ
Đề tài: Thiết kế hệ thống mạng cho một công ty, HOT, 9đĐề tài: Thiết kế hệ thống mạng cho một công ty, HOT, 9đ
Đề tài: Thiết kế hệ thống mạng cho một công ty, HOT, 9đ
 

Viewers also liked

Bài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoBài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
 
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng CaoBài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng CaoBài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajaxSức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajaxTuyet Tam
 
Security Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp
 
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng CaoBài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11:  JSF-1 - Lập Trình Mạng Nâng CaoBài 11:  JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11: JSF-1 - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12:  JSF-2 - Lập Trình Mạng Nâng CaoBài 12:  JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12: JSF-2 - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Bài 10: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 10: Custom Tag - Lập Trình Mạng Nâng CaoBài 10: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 10: Custom Tag - Lập Trình Mạng Nâng CaoTuan Nguyen
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcmHong Phuoc Nguyen
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVKhang Yang
 
Inception Meeting Documentation Report
Inception Meeting Documentation ReportInception Meeting Documentation Report
Inception Meeting Documentation ReportiBoP Asia
 
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.Jamal Mirza
 
Kamus populer keuangan syariah pkes
Kamus populer keuangan syariah pkesKamus populer keuangan syariah pkes
Kamus populer keuangan syariah pkesFitri Lely
 
Lựa chọn giải pháp CRM đúng
Lựa chọn giải pháp CRM đúngLựa chọn giải pháp CRM đúng
Lựa chọn giải pháp CRM đúngVõ Thái Lâm
 
Sistena Nervioso Autonomo
Sistena Nervioso AutonomoSistena Nervioso Autonomo
Sistena Nervioso Autonomojbcastillos
 
Interview answers skills
Interview answers skillsInterview answers skills
Interview answers skillsHaiyen Nguyen
 

Viewers also liked (20)

Bài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng CaoBài 3: Servlet - Lập Trình Mạng Nâng Cao
Bài 3: Servlet - Lập Trình Mạng Nâng Cao
 
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
 
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng CaoBài 2: J2EE - Lập Trình Mạng Nâng Cao
Bài 2: J2EE - Lập Trình Mạng Nâng Cao
 
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng CaoBài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao
 
Bai 09 Basic jsp
Bai 09 Basic jspBai 09 Basic jsp
Bai 09 Basic jsp
 
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajaxSức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax
 
Security Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toan
 
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng CaoBài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao
 
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11:  JSF-1 - Lập Trình Mạng Nâng CaoBài 11:  JSF-1 - Lập Trình Mạng Nâng Cao
Bài 11: JSF-1 - Lập Trình Mạng Nâng Cao
 
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12:  JSF-2 - Lập Trình Mạng Nâng CaoBài 12:  JSF-2 - Lập Trình Mạng Nâng Cao
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao
 
Bài 10: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 10: Custom Tag - Lập Trình Mạng Nâng CaoBài 10: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 10: Custom Tag - Lập Trình Mạng Nâng Cao
 
[Cntt] bài giảng java khtn hcm
[Cntt] bài giảng java   khtn hcm[Cntt] bài giảng java   khtn hcm
[Cntt] bài giảng java khtn hcm
 
Vận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tếVận dụng kiến thức lập trình web vào môi trường thực tế
Vận dụng kiến thức lập trình web vào môi trường thực tế
 
Ifric14
Ifric14Ifric14
Ifric14
 
Inception Meeting Documentation Report
Inception Meeting Documentation ReportInception Meeting Documentation Report
Inception Meeting Documentation Report
 
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s.
 
Kamus populer keuangan syariah pkes
Kamus populer keuangan syariah pkesKamus populer keuangan syariah pkes
Kamus populer keuangan syariah pkes
 
Lựa chọn giải pháp CRM đúng
Lựa chọn giải pháp CRM đúngLựa chọn giải pháp CRM đúng
Lựa chọn giải pháp CRM đúng
 
Sistena Nervioso Autonomo
Sistena Nervioso AutonomoSistena Nervioso Autonomo
Sistena Nervioso Autonomo
 
Interview answers skills
Interview answers skillsInterview answers skills
Interview answers skills
 

Similar to Bài 4: JSP Cơ Bản - Lập Trình Mạng Nâng Cao

Bài 5: Java Bean - Lập Trình Mạng Nâng Cao
Bài 5: Java Bean - Lập Trình Mạng Nâng CaoBài 5: Java Bean - Lập Trình Mạng Nâng Cao
Bài 5: Java Bean - Lập Trình Mạng Nâng CaoTuan Nguyen
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
 
Tổng quan về jsp​
Tổng quan về jsp​Tổng quan về jsp​
Tổng quan về jsp​truong nguyen
 
JavaEE Basic_Chapter3: Java Server Page
JavaEE Basic_Chapter3: Java Server PageJavaEE Basic_Chapter3: Java Server Page
JavaEE Basic_Chapter3: Java Server PagePhaolo Pham
 
Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-zManhh Nguyễn
 
Java script dh bk share-book.com
Java script dh bk   share-book.comJava script dh bk   share-book.com
Java script dh bk share-book.comphongbk1609
 
Bài 6: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 6: Custom Tag - Lập Trình Mạng Nâng CaoBài 6: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 6: Custom Tag - Lập Trình Mạng Nâng CaoTuan Nguyen
 
JavaScript (Tieng viet)
JavaScript (Tieng viet)JavaScript (Tieng viet)
JavaScript (Tieng viet)Park Ji Hưng
 
Giao trinh java_script
Giao trinh java_scriptGiao trinh java_script
Giao trinh java_scriptnmphuong91
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoTrung Thanh Nguyen
 
Giao trinh java_script (1)
Giao trinh java_script (1)Giao trinh java_script (1)
Giao trinh java_script (1)duynamit
 
Tự học JavaScript
Tự học JavaScriptTự học JavaScript
Tự học JavaScriptÁnh Nguyễn
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascriptzingoncmu2
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java scripthieusy
 

Similar to Bài 4: JSP Cơ Bản - Lập Trình Mạng Nâng Cao (20)

Bài 5: Java Bean - Lập Trình Mạng Nâng Cao
Bài 5: Java Bean - Lập Trình Mạng Nâng CaoBài 5: Java Bean - Lập Trình Mạng Nâng Cao
Bài 5: Java Bean - Lập Trình Mạng Nâng Cao
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
 
JSP and Database
JSP and DatabaseJSP and Database
JSP and Database
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Tổng quan về jsp​
Tổng quan về jsp​Tổng quan về jsp​
Tổng quan về jsp​
 
Java script
Java scriptJava script
Java script
 
JavaEE Basic_Chapter3: Java Server Page
JavaEE Basic_Chapter3: Java Server PageJavaEE Basic_Chapter3: Java Server Page
JavaEE Basic_Chapter3: Java Server Page
 
Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-z
 
88247697-JavaScript.ppt
88247697-JavaScript.ppt88247697-JavaScript.ppt
88247697-JavaScript.ppt
 
Java script dh bk share-book.com
Java script dh bk   share-book.comJava script dh bk   share-book.com
Java script dh bk share-book.com
 
Bài 6: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 6: Custom Tag - Lập Trình Mạng Nâng CaoBài 6: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 6: Custom Tag - Lập Trình Mạng Nâng Cao
 
Jsp java bean
Jsp   java beanJsp   java bean
Jsp java bean
 
JavaScript (Tieng viet)
JavaScript (Tieng viet)JavaScript (Tieng viet)
JavaScript (Tieng viet)
 
Giao trinh java_script
Giao trinh java_scriptGiao trinh java_script
Giao trinh java_script
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng cao
 
Giao trinh java_script (1)
Giao trinh java_script (1)Giao trinh java_script (1)
Giao trinh java_script (1)
 
Tự học jsp !​
Tự học jsp !​Tự học jsp !​
Tự học jsp !​
 
Tự học JavaScript
Tự học JavaScriptTự học JavaScript
Tự học JavaScript
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascript
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 

Bài 4: JSP Cơ Bản - Lập Trình Mạng Nâng Cao

  • 1. Java Server Page - JSP ThS Văn Thiên Hoàng
  • 2. Gi i thi uớ ệ Java Server Pages (JSP) là công ngh khác choệ vi c phát tri n ng d ng web.ệ ể ứ ụ JSP đ c công b và s d ng đ ng th i v i servlet.ượ ố ử ụ ồ ờ ớ JSP là m r ng c a servlet. Trong th c t jsp vàở ộ ủ ự ế servlet đ c s d ng đ ng th i đ phát tri n ngượ ử ụ ồ ờ ể ể ứ d ng web.ụ
  • 3. Servlet y u đi m gì?ế ể Vi t th HTML không tách bi t v i codeế ẻ ệ ớ  s a đ i giao di n ph c t p.ử ổ ệ ứ ạ JSP là công ngh đ c Sun phát tri n đệ ượ ể ể kh c ph c nh c đi m này nh :ắ ụ ượ ể ư Tách bi t vi c trình bày v i logic cài đ t code.ệ ệ ớ ặ H tr hai ki u thêm n i dung: script ho c tag.ỗ ợ ể ộ ặ
  • 4. JSP làm vi c nh th nào?ệ ư ế WEB SERVER JSP ENGINE DatabaseClient JSP Files HTT P JSPs are processed here
  • 5. Các b c x lý trang JSPướ ử Web Client Web Server JSP File Servlet HTML File Sends a request Request is sent to JSP Engine Output is sent backResponse is sent to the client
  • 6. ng d ng Web đ n gi nỨ ụ ơ ả <HTML> <TITLE> A Simple HTML file with HTML extension </TITLE> <BODY> <H1> Hello JSP Programmer! </H1> </BODY> </HTML> HelloWorld.html
  • 7. ng d ng Web đ n gi nỨ ụ ơ ả – (1) <HTML> <TITLE> A Simple HTML file with JSP extension </TITLE> <BODY> <H1> Hello JSP Programmer! </H1> </BODY> </HTML> HelloWorld.jsp
  • 8. ng d ng Web đ n gi nỨ ụ ơ ả – (2) <HTML> <TITLE> A Simple JSP file </TITLE> <BODY> <H1> <% out.println("Hello JSP Programmer!");%> </H1> </BODY> </HTML> HelloWorld2.jsp
  • 9. Thu n l i c a JSPậ ợ ủ Tách bi t vi c phát sinh n i dung v i vi c trình bày.ệ ệ ộ ớ ệ HTML/XML tags Scriptlets, JavaBeans H tr các thành ph nỗ ợ ầ JavaBeans, EJBs Phát tri n trang web đ n gi n s d ng tag.ể ơ ả ử ụ Easy-to-use, JSP technology specific tags Tích h p v i J2EE và Enterprise JavaBeansợ ớ
  • 10. Các thành ph n chính c a JSPầ ủ Có 3 thành ph n JSP :ầ D n h ng – Directẫ ướ • Cho phép đi u khi n c u trúc servlet.ề ể ấ Các ph n t k ch b n – Script Element.ầ ử ị ả • Đ c dùng đ vi t code Java.ượ ể ế Hành đ ng – Actionộ • Specific tags that affect the runtime behavior of the JSPs
  • 11. Ví dụ <HTML> <HEAD><TITLE>MyFirstProgram.jsp</TITLE></HEAD> <BODY> <!-- MyFirstProgram.JSP --> <%@ page import = "java.util.Date" %> <% out.println("Hello there!"); %> <Br> <%= "Current date is " + new Date() %> </BODY> </HTML> Fixed Template data JSP Directive JSP Expressio n JSP Scriptlet
  • 12. Chi ti t v x lý trang JSPế ề ử User Request Web Server/ Servlet Engine JSP Handler Servlet (Page Compilation Servlet) New or modified file? Compile into Servlet Execute Servlet Yes No
  • 13. Các ph n t Scriptingầ ử Expressions Scriptlets Declarations Scripting là cơ chế cho phép nhúng code trực tiếp vào trong trang HTML. Có 3 cách nhúng:
  • 14. Các ph n t Scriptingầ ử – (1) Expressions được tính và đổi sang dạng chuỗi: java.lang.String. Evaluated to produce 4 <HTML> <BODY> 2 + 2 equals <%= 2 + 2 %> </BODY> </HTML> Ví dụ: Cú pháp: <%= expression %>
  • 15. Các ph n t Scriptingầ ử – (2) Scriptlets chứa code java. Scriptlet <HTML> <BODY> <% out.println("HELLO WORLD!!"); %> </BODY> </HTML> Ví dụ: Cú pháp: <% scriptlet_source; %>
  • 16. Giống expression, scriptlet truy cập tới các biến không tường minh. Các ph n t Scriptingầ ử – (3) <% String queryData = request.getQueryString(); out.println("Attached GET data: "+queryData); %>
  • 17. Scriptlets không cần một câu lệnh đầy đủ và khối mở có thể chứa thẻ HTML bên ngoài scriptlets. Các ph n t Scriptingầ ử – (4) <% if (Math.random() > 0.5) { %> Have a <B> happy </B> birthday!! <% } else {%> Have a <B> nice </B> day!! <% } %>
  • 18. Các ph n t Scriptingầ ử – (5) Declarations là định nghĩa biến hoặc phương thức trong JSP. Declaration <%! private static int count_access = 0; %> This page has been accessed <%= ++count_access %> time(s) since the server was rebooted. Ví dụ: Cú pháp: <%! Declaration; %>
  • 19. Các đ i t ng không t ng minhố ượ ườ Các đ i t ng phía server đ c đ nh nghĩa trongố ượ ượ ị JSP container Các đ i t ng này đ c đ nh nghĩa s n trongố ượ ượ ị ẵ JSP.
  • 20. Các đ i t ng không t ng minh–(1)ố ượ ườ Tên biến Type Miêu tả Phạm application javax.servlet. ServletContext Servlet context nhận được bằng lời gọi hàm: getServletConfig(). getContext()   Application config javax.servlet. ServletConfig Là đối tượng thể hi n c a l pệ ủ ớ ServletConfig   Page out javax.servlet. jsp.JspWriter Là đối tượng thể hiện của lớp JspWriter cho luồng xuất.   Page
  • 21. Các đ i t ng không t ng minh–ố ượ ườ (2) page java.lang.Object Thể hiện đối tượng this của Servlet. Page pageContext javax.servlet. jsp.PageContext Đối tượng thể hiện của Page Context của JSP. Page request Protocol-dependent subtype of either javax.servlet. ServletRequest or javax.servlet.http. HttpServletRequest Đối tượng thể hiện của ServletRequest.   Request
  • 22. Các đ i t ng không t ng minh–ố ượ ườ (3) response Protocol-dependent subtype of either javax.servlet.Servlet Response or javax.servlet.http. HttpServletRespons e   Đối tượng thể hiện của lớp ServletResponse   Page session javax.servlet.http. HttpSession Đối tượng thể hiện của lớp HTTPSession quản lý dữa liệu Session.  Session
  • 23. Các đ i t ng không t ng minh–ố ượ ườ (4) exception java.lang.Throwable Quản lý ngoại lệ ném ra trong trang web.   Page
  • 24. Ví d : đ i t ng không t ng minh.ụ ố ượ ườ <HTML> <TITLE> A JavaServer Page using JSP Tags </TITLE> <BODY> <H2> An example using different session objects </H2> <UL> <LI> <B> Expression - </B> <BR> Your hostname is: <%= %> <LI> <B> Scriptlet - </B> <BR> <% out.println("attached GET data:" + %> request.getRemoteHost() request.getQueryString());
  • 25. <LI> <B> Declaration - </B> <BR> <%! private int accessCount = 0; %> This page has been accessed <%= ++accessCount %> time(s) since the server was last restarted <LI> <B> Directive - </B> <BR> <%@ page import = "java.util.*" %> Today's Date is: <%= new Date() %> </UL> </BODY> </HTML> Ví d : đ i t ng không t ng minhụ ố ượ ườ
  • 26. Ví d :ụ <HTML> <HEAD> <TITLE>JSP Expressions</TITLE> <META NAME="keywords" CONTENT="JSP,expressions,JavaServer Pages"> <META NAME="description" CONTENT="A quick example of JSP expressions."> <LINK REL=STYLESHEET HREF="JSP-Styles.css" TYPE="text/css"> </HEAD>
  • 27. Ví d :ụ <BODY> <H2>JSP Expressions</H2> <UL> <LI>Current time: <%= new java.util.Date() %> <LI>Server: <%= application.getServerInfo() %> <LI>Session ID: <%= session.getId() %> <LI>The <CODE>testParam</CODE> form parameter: <%= request.getParameter("testParam") %> </UL> </BODY></HTML>
  • 28. Thành ph n D n h ngầ ẫ ướ page Đ nh nghĩa thông tin toàn c c cho trang JSP.ị ụ include S d ng đ chèn văn b n và code vào JSP t i đi mử ụ ể ả ạ ể biên d ch.ị taglib • Đ nh nghĩ c ch m r ng c a t p th JSP hi n t i.ị ơ ế ở ộ ủ ậ ẻ ệ ạ
  • 29. Các thu c tính D n Pageộ ẫ Attribute Definition language = ”<scriptingLanguage> ” Báo Server biết ngôn ngữ hiện dùng để biên dịch trang JSP – chỉ có ngôn ngữ Java.   extends = ”<className>" Cho biết lớp cha mà servlet sẽ kết thừa.   import = ”<importList>" Định nghĩa danh sách gói thư viện cần dùng trong trang JSP. Tên mỗi gói cách nhau bởi dấu phẩy.   session = "true | false" Xác đinh dữ liệu phiên là có sẵn cho trang. Mặc định là true.   buffer = "none | <size in kb>" Xác định kích thước bộ đệm luồng xuất dữ liệu. Mặc định là 8 kb.  
  • 30. Các thu c tính D n h ng khác-(1)ộ ẫ ướ Attribute Definition autoFlush = "true | false" Xác định bộ đệm có tự động đưa dữ liệu về client hoặc sẽ phát sinh ngoại lệ khi bộ đệm đầy. Mặc định là true.   isThreadSafe = "true | false" Chỉ ra trang có thể có nhiều yêu cầu tại một thời điểm. Mặc định là True.   info = ”<text>" Đặc tả thông tin về trang JSP. Và có thể truy cấp bằng hàm Servlet.getServletInfo().   errorPage = ”<error_URL>" Liên qua đến xử lý ngoại lệ URL.   isErrorPage = "true | false" Xác định trang JSP là trang errorPage. Mặc định là false.   contentType = ”<ctinfo>" Trình bày thông tin kiểu MIME và tập ký tự liên quan của việc đáp trả.  
  • 31. Ví d - S d ng thu c tínhụ ử ụ ộ <%@ page language = "java" import = "java.rmi.*, java.util.*" session = "true" buffer = "12kb" autoFlush = "true" info = "page directive jsp" errorPage = "Error.jsp" isErrorPage = "false" isThreadSafe = "false" %> <HTML> <TITLE> JSP Elements </TITLE> <HEAD> <H1> JSP Elements </H1> </HEAD> <BODY> </BODY> </HTML>
  • 32. Ví dụ //SimpleClass.java package myPackage; public class SimpleClass{ int height; public void SimpleClass() { height = 100; } public void setHeight(int h) { height = h; } public int getHeight() { return height; } }
  • 33. Ví d – (1)ụ <!-- UseClass.jsp --> <%@ page language = "java" %> <%@ page import = "myPackage.SimpleClass" %> <%! SimpleClass myObj = new SimpleClass(); %> <%= myObj.getHeight() %> <% myObj.setHeight(10); %> <% out.println(myObj.getHeight()); %>
  • 34. D n h ng khácẫ ướ include Cú pháp <%@ include file = “relativeURLspec” %> taglib Cú pháp <%@ taglib uri = “tagLibraryURI” prefix = “tagPrefix” %>
  • 35. Ghi nhớ Khi s d ng d n h ng c n ghi nh sau:ử ụ ẫ ướ ầ ơ H ng là các thông đi p g i t i JSP Container.ướ ệ ở ớ H ng không l u b t kỳ k t qu trong b đ m xu t.ướ ư ấ ế ả ộ ệ ấ H ng đ c x lý khi JSP đ c thi t l p.ướ ượ ử ượ ế ậ
  • 36. Dẫn hướng JSP action cung cấp phương pháp để đóng gói các tác vụ hiệu quả. Dẫn hướng này tạo hoặc thao tác trên đối tượng, thường là JavaBeans. Các JSP Action chu nẩ <jsp:useBean> <jsp:setProperty> <jsp:getProperty> <jsp:param> <jsp:include> <jsp:forward> <jsp:plugin>
  • 37. Các JSP Action chu n – (1)ẩ <jsp:useBean> K t h p v i JavaBean đ nh nghĩa tr c v i ph m vi và ID.ế ợ ớ ị ướ ớ ạ <jsp:setProperty> Thi t l p giá tr thu c tính c a Bean.ế ậ ị ộ ủ <jsp:getProperty> Truy c p giá tr thu c tính đ c t c a th hi n Biean.ậ ị ộ ặ ả ủ ể ệ Bi n đ i nó sang d ng đ i t ng chu i java.lang.String.ế ổ ạ ố ượ ỗ Đ t nó trong đ i t ng không t ng minhặ ố ượ ườ out.
  • 38. Các JSP Action chu n – (2)ẩ <jsp:param> Is used to provide the tag/value pairs of information Đ c s d ng là thu c tính con c a các action:ượ ử ụ ộ ủ jsp:include, jsp:forward, and jsp:plugin. Cú pháp nh sau:ư <jsp:param name = "pName" value = "pValue"> </jsp:param> <jsp:param name = "pName" value = "pValue"/>
  • 39. Các JSP Action chu n – (3)ẩ <jsp:include> Cung c p c ch đ thêm các ngu n tài nguyên đ ngấ ơ ế ể ồ ộ ho c tĩnh vào trang JSP.ặ Cú pháp nh sau:ư <jsp:include page = "urlSpec" flush = "true"/> <jsp:include page = "urlSpec" flush = "true"> <jsp:param .../> </jsp:include>
  • 40. Ví d : S d ng <jsp:include>ụ ử ụ <!-- Emplheader.jsp --> <!-- Get employee’s name from the request --> <% out.println("Employee: " + request.getParameter("employee")); %> <!-- Get employee’s title from the request --> <% out.println("Title: " + request.getParameter("title")); %> Trang JSP sẽ tìm nhân viên với tên và tựa đề. Được gọi dùng trong trang Employeeinfo.jsp
  • 41. Ví d : S d ng <jsp:include>-(1)ụ ử ụ <HTML> <TITLE> Employee Information </TITLE> <BODY> <jsp:param name= "employee" value= "Martha" /> <jsp:param name= "title" value= "Doctor"/> </jsp:include> </BODY> </HTML> <jsp:include page= "Emplheader.jsp" flush= "true" > Employeeinfo.jsp
  • 43. Các JSP Action chu n – (4)ẩ <jsp:forward> Cho phép JSP engine g i request trang hi n t i t i m t ngu nở ệ ạ ớ ộ ồ tĩnh, servlet ho c m t trang JSP khác trong th i gian ch y.ặ ộ ờ ạ Cú pháp nh sau:ư <jsp:forward page = "relativeURLSpec" /> <jsp:forward page = "relativeURLSpec" > <jsp:param .../> </jsp:forward>
  • 44. Ví d : S d ng <jsp:forward>ụ ử ụ <HTML> <TITLE> Using the JSP Forward action </TITLE> <BODY> <!-- Checks whether the "company id" is equal to 1 --> <% if ((request.getParameter("companyID")).equals("1")) {%> <jsp:param name= "employee" value= "Martha" /> <jsp:param name= "title" value= "Doctor" /> </jsp:forward> <%} else { out.println("Sorry, no matching values found"); }%> </BODY> </HTML> <jsp:forward page= "MarthaHome.jsp"> Forward.jsp
  • 45. Ví d : s d ng <jsp:forward> – (1)ụ ử ụ <HTML> . . <BODY> <% out.println("Employee:" + request.getParameter("employee")); out.println("Title:" + request.getParameter("title")); %> </BODY> </HTML> MarthaHome.jsp
  • 47. Các JSP Action chu n – (5)ẩ <jsp:plugin> Phát sinh HTML phù h p v i trình duy t Client nh OBJECTợ ớ ệ ở ư hay EMBED. Cú pháp nh sau:ư <jsp:plugin type = "pluginType" code = "classfilename" codebase = "relativeURLpath" > <jsp:params> <jsp:param …/>... ...</jsp:params> </jsp:plugin>
  • 48. Ví dụ V i Appletớ <APPLET CODE=“MyApplet.class” WIDTH=457 HEIGHT=350> </APPLET> Ta s d ng thử ụ ẻ jsp:plugin nh sau:ư <jsp:plugin type=“applet” code=“MyApplet.class” width=“457” height=“350” />

Editor's Notes

  1. Ví dụ: thư mục JSP\session13\DisplayDate.jsp