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

Tuan Nguyen
Tuan NguyenIT um FPT TELECOM
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ỏ
1 von 49

Recomendados

Bai 09 Basic jsp von
Bai 09 Basic jspBai 09 Basic jsp
Bai 09 Basic jspHà Huy Hoàng
1.5K views19 Folien
JSP and Database von
JSP and DatabaseJSP and Database
JSP and DatabaseNguyễn Anh
1.9K views36 Folien
Jsp java bean von
Jsp   java beanJsp   java bean
Jsp java beanThanh Tran
4.7K views27 Folien
Bài 2: J2EE - Lập Trình Mạng Nâng Cao von
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
2.2K views39 Folien
Bài 3: Servlet - Lập Trình Mạng Nâng Cao von
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
4.5K views54 Folien
Bài 3: Servlet&Cookie&Session - Lập Trình Mạng Nâng Cao von
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
1.5K views41 Folien

Más contenido relacionado

Was ist angesagt?

Bài 10: Custom Tag - Lập Trình Mạng Nâng Cao von
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
615 views16 Folien
Bài 6: Custom Tag - Lập Trình Mạng Nâng Cao von
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
601 views22 Folien
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng Cao von
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng CaoBài 7,8: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng CaoTuan Nguyen
527 views22 Folien
Bai4 basic jsp_4474 von
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
993 views108 Folien
Bai1 gioi thieu_servlet_va_jsp_8952 von
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952Ham Chơi
2.2K views54 Folien
Bai3 basic servlets_956 von
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956Ham Chơi
1.1K views101 Folien

Was ist angesagt?(20)

Bài 10: Custom Tag - Lập Trình Mạng Nâng Cao von Tuan Nguyen
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
Tuan Nguyen615 views
Bài 6: Custom Tag - Lập Trình Mạng Nâng Cao von Tuan Nguyen
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
Tuan Nguyen601 views
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng Cao von Tuan Nguyen
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng CaoBài 7,8: Custom Tag - Lập Trình Mạng Nâng Cao
Bài 7,8: Custom Tag - Lập Trình Mạng Nâng Cao
Tuan Nguyen527 views
Bai4 basic jsp_4474 von Ham Chơi
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
Ham Chơi993 views
Bai1 gioi thieu_servlet_va_jsp_8952 von Ham Chơi
Bai1 gioi thieu_servlet_va_jsp_8952Bai1 gioi thieu_servlet_va_jsp_8952
Bai1 gioi thieu_servlet_va_jsp_8952
Ham Chơi2.2K views
Bai3 basic servlets_956 von Ham Chơi
Bai3 basic servlets_956Bai3 basic servlets_956
Bai3 basic servlets_956
Ham Chơi1.1K views
Ebook học Javascript cơ bản tới nâng cao von Trung Thanh Nguyen
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
Trung Thanh Nguyen14.4K views
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT von MasterCode.vn
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
MasterCode.vn 12.8K views
JavaEE Basic_Chapter3: Java Server Page von Phaolo Pham
JavaEE Basic_Chapter3: Java Server PageJavaEE Basic_Chapter3: Java Server Page
JavaEE Basic_Chapter3: Java Server Page
Phaolo Pham115 views
Giao trinh java_script (1) von duynamit
Giao trinh java_script (1)Giao trinh java_script (1)
Giao trinh java_script (1)
duynamit357 views
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2 von KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
KhanhPham4.6K views
Tài liệu Lập trình Zend Framework 2.x von ZendVN
Tài liệu Lập trình Zend Framework 2.xTài liệu Lập trình Zend Framework 2.x
Tài liệu Lập trình Zend Framework 2.x
ZendVN1.1K views
Wp hoi-thao-phan-quyen von KhanhPham
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyen
KhanhPham15.3K views
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ von MasterCode.vn
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất NghệMvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
Mvc4 seminar - hoclaptrinhweb.com - Tài liệu Nhất Nghệ
MasterCode.vn 5.7K views
Giao trinh java script von hieusy
Giao trinh java scriptGiao trinh java script
Giao trinh java script
hieusy461 views
Introduction to Hibernate Framework von Phuoc Nguyen
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
Phuoc Nguyen549 views

Destacado

Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java von
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ũ
1.3K views13 Folien
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax von
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
563 views18 Folien
Security Bootcamp 2013 - Lap trinh web an toan von
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp
1.3K views35 Folien
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao von
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
1.4K views57 Folien
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao von
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
983 views31 Folien
[Cntt] bài giảng java khtn hcm von
[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
846 views322 Folien

Destacado(20)

Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java von Huy Vũ
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
Huy Vũ1.3K views
Sức mạnh của jsf 2, phần 3 xử lý sự kiện, java script và ajax von Tuyet Tam
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
Tuyet Tam563 views
Security Bootcamp 2013 - Lap trinh web an toan von Security Bootcamp
Security Bootcamp 2013 - Lap trinh web an toanSecurity Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp 2013 - Lap trinh web an toan
Security Bootcamp1.3K views
Bài 1: Web Cơ Bản - Lập Trình Mạng Nâng Cao von Tuan Nguyen
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
Tuan Nguyen1.4K views
Bài 12: JSF-2 - Lập Trình Mạng Nâng Cao von Tuan Nguyen
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
Tuan Nguyen983 views
Vận dụng kiến thức lập trình web vào môi trường thực tế von VKhang Yang
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 Yang623 views
Inception Meeting Documentation Report von iBoP Asia
Inception Meeting Documentation ReportInception Meeting Documentation Report
Inception Meeting Documentation Report
iBoP Asia2.4K views
PhD Thesis of Syed Rizwan Zamir on Syedul Ulama Syed Ali Naqi Naqvi t.s. von Jamal Mirza
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 Mirza3.4K views
Kamus populer keuangan syariah pkes von Fitri Lely
Kamus populer keuangan syariah pkesKamus populer keuangan syariah pkes
Kamus populer keuangan syariah pkes
Fitri Lely1.2K views
Lựa chọn giải pháp CRM đúng von Võ Thái Lâm
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
Võ Thái Lâm840 views
Sistena Nervioso Autonomo von jbcastillos
Sistena Nervioso AutonomoSistena Nervioso Autonomo
Sistena Nervioso Autonomo
jbcastillos1.1K views
Mô hình MVC trong lập trình web với Java von Huy Vũ
Mô hình MVC trong lập trình web với JavaMô hình MVC trong lập trình web với Java
Mô hình MVC trong lập trình web với Java
Huy Vũ5.5K views

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

Giao trinh java script von
Giao trinh java scriptGiao trinh java script
Giao trinh java scriptToàn Trần Mạnh
343 views41 Folien
Tổng quan về jsp​ von
Tổng quan về jsp​Tổng quan về jsp​
Tổng quan về jsp​truong nguyen
234 views5 Folien
Java script von
Java scriptJava script
Java scriptTran Tien
610 views86 Folien
Javascript tong-hop a-z von
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-zManhh Nguyễn
477 views41 Folien
88247697-JavaScript.ppt von
88247697-JavaScript.ppt88247697-JavaScript.ppt
88247697-JavaScript.pptKienNguyen415738
34 views191 Folien
Java script dh bk share-book.com von
Java script dh bk   share-book.comJava script dh bk   share-book.com
Java script dh bk share-book.comphongbk1609
454 views86 Folien

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

Java script von Tran Tien
Java scriptJava script
Java script
Tran Tien610 views
Java script dh bk share-book.com von phongbk1609
Java script dh bk   share-book.comJava script dh bk   share-book.com
Java script dh bk share-book.com
phongbk1609454 views
JavaScript (Tieng viet) von Park Ji Hưng
JavaScript (Tieng viet)JavaScript (Tieng viet)
JavaScript (Tieng viet)
Park Ji Hưng4.2K views
Giao trinh java_script von nmphuong91
Giao trinh java_scriptGiao trinh java_script
Giao trinh java_script
nmphuong91338 views
Tu hoc javascript von zingoncmu2
Tu hoc javascriptTu hoc javascript
Tu hoc javascript
zingoncmu22.1K views
Bai2 tong quan_mvc_0567 von Ham Chơi
Bai2 tong quan_mvc_0567Bai2 tong quan_mvc_0567
Bai2 tong quan_mvc_0567
Ham Chơi659 views
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT von MasterCode.vn
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
MasterCode.vn 10.9K views
Slide3 - Co ban HTML5 von Đặng Til
Slide3 - Co ban HTML5Slide3 - Co ban HTML5
Slide3 - Co ban HTML5
Đặng Til730 views
Giao trinh asp.ne_tvoi_csharp von ngohanty13
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
ngohanty131.2K views
Kiến thức cần thiết làm việc von manhvokiem
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
manhvokiem3.6K views
Spring mvc von Ba Big
Spring mvcSpring mvc
Spring mvc
Ba Big2.4K views

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” />

Hinweis der Redaktion

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