Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
865,77 KB
Nội dung
LUẬNVĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 1
LUẬN VĂN TỐT NGHIỆP
KHOA
CƠNG NGHỆ THƠNG TIN
Đề tài
Xây dựngvàứngdụngJavaServerPages(JSP)trong
phân tíchthiếtkếhệthốngcơsởdữliệu
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 2
Phần I
GIỚI THIỆU VỀ NGƠN NGỮ CÀI ĐẶT
Chương I
CĂN BẢN VỀ JSP
JavaServer Pages(JSP) là một kỹ thuật server-side do đó chúng ta khơng
thể thực hiện bất kỳ hành động nào ở client. JSP cho phép chúng ta tách thành
phần động của trang ra khỏi thành phần tĩnh HTML. Rất đơn giản, chúng ta
chỉ cần viết một tài liệu HTML bình thường rồi sau đó bao quanh mã của
thành phần động trong các tag đặc biệt, hầu hết các tag bắt đầu với <% và kết
thúc với %>. Ví dụ, đây là một phần của trang JSP, có kết quả trả về là
“Thanks for reading Van Dau book.” với URL là
http://localhost:8100/thanhk.jsp?title=Van+Dau
Thanks for reading <i><%=request.getParameter(“title”)%><i>book.
Kỹ thuật JSP là một thành phầntrong đại gia đình Java; nó sử dùng ngơn
ngữ kịch bản dựa vào ngơn ngữ lập trình Java, và các trang JSP được biên dịch
thành servlets. Từ đó chúng ta cũng nhận biết được, JSP thì khơng phụ thuộc
bất kỳ nền (platform) nào. Nó đáp ứng được khuynh hướng của Sun
MicroSystem là “write one, run anywhere”.
Các trang JSP có thể gọi các thành phần JavaBeans, Enterprise
JavaBeans (EJB) hoặc custom tags để thực hiện các xử lý trên server. Và như
thế, kỹ thuật JSP là thành phần chủ chốt trong kiến trúc khả chuyển của Java
cho những ứngdụng dựa vào Web.
Như đã biết, JSPs sẽ biên dịch thành servlets nhưng JSP khơng thể thay
thế servlet vì các lý do sau:
Một số tác vụ được giải quyết rất tốt bằng servlet. Ví dụ, các ứngdụng
xuất ra dữliệu nhị phân hoặc chỉ xác định nơi gởi trở lại cho người dùng
(bằng cách dùng response.sendRedirect) được dùng servlet thì tốt nhất.
Một số tác vụ khác lại được giải quyết rất tốt bằng JSP như các tình huống
mà cấu trúc nền tảng của trang HTML là cố định nhưng các giá trị trong nó
lại thay đổi.
Còn các tác vụ còn lại cần sự kết hợp cả servlet và JSP. Ví dụ, trong u
cầu gốc được trả lời bằng một servlet mà thực hiện mọi cơng việc, lưu trữ
các kết quả trong các Beans và điều phối u cầu này đến một trong những
trang JSP có thể hiển thị nó.
Cả ba định hướng này đều có chổ đứng của nó. Chẳng có định hướng
nào hổ trợ đầy đủ cho mọi ứngdụng .
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 3
Trước khi đi vào chi tiết cơng nghệ JSP, chúng tơi có một vài so sánh các
cơng nghệ được sử dụngtrongứngdụng với các cơng nghệ khác.
I. So sánh JSP với các cơng nghệ khác.
I.1. JSP với ASP
ASP là cơng nghệ tương đương từ Microsoft. JSP có ba lợi thế so với
ASP.
- Phần động được viết bằng Java, chứ khơng phải bằng các ngơn ngữ
script như VBScript, JavaScript. Vì thế nó mạnh mẽ hơn tốt hơn đối với các
ứng dụng phức tạp cần các thành phần sử dụng lại.
- JSP chạy được trên nhiều hệ điều hành và web servers khác nhau ngay
cả với IIS của Microsoft (cần có plugins từ Webphere, JRun, )
- Hỗ trợ sự mở rộng tag với custom tag.
I.2. JSP với PHP
Lợi điểm của JSP với PHP cũng như với ASP. JSP được viết bằng Java
mà chúng ta đã biết với các API mở rộng cho mạng, truy cập cơsởdữ liệu,
các đối tượng phân tán, … trong khi với PHP đòi hỏi chúng ta phải học cả một
ngơn ngữ mới.
II. Các thành phần script của JSP.
Các thẻ bọc mã trong JSP cho phép chúng ta chèn mã vào servlet mã sẽ
được phát sinh từ trang JSP. Có ba dạng sau:
Biểu thức có dạng <%= expressions %>, được định giá trị và chèn vào
luồng xuất của servlet.
Scriptlet có dạng <% code %>, được chèn vào phương thức _jspService
của servlet (được gọi là service).
Khai báo có dạng <%! code %>, được chèn vào thân của lớp servlet, như
là các field của lớp thơng thường.
T
T
e
e
m
m
p
p
l
l
a
a
t
t
e
e
t
t
e
e
x
x
t
t
Trong nhiều trường hợp, phần lớn các trang JSP chỉ bao gồm HTML
tĩnh, được biết như là template text. Có hai ngoại lệ phụ cho quy tắc “template
text được chuyển thẳng sang HTML tĩnh”. Đầu tiên, nếu chúng ta muốn có
<% trong luồng xuất thì chúng ta cần phải đặt <\% trong template text. Thứ
hai, nếu chúng ta muốn có chú thích trong JSP mà khơng cótrong tài liệu kết
quả, dùng:
<% JSP comments %>
Chú thích HTML có dạng:
<! HTML comments >
thì được chuyển qua tài liệu HTML thơng thường.
C
C
ú
ú
p
p
h
h
á
á
p
p
X
X
M
M
L
L
Trong JSP có rất nhiều element có cú pháp XML như jsp:useBean,
jsp:include, jsp:setProperty, Tuy nhiên scripting elements lại có hai dạng cú
pháp sau:
JSP Syntax XML Syntax
<% = Expressions %>
<jsp:expression>
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 4
Java code
</jsp:expression>
<% Scriptlets %> <jsp:scriptlet>
Java code
</jsp:scriptlet>
<%! Declarations %> <jsp:declaration>
Java code
</jsp:declaration>
II.1. Các biến được định nghĩa sẵn trong JSP
Để đơn giản hố mã trong các biểu thức hay scriptlets trong JSP, người
ta cung cấp cho chúng ta chín đối tượng đã được định nghĩa trước, có người
còn gọi là các đối tượng ngầm định. Do các khai báo trong JSP nằm ngồi
phương thức _jspService (được gọi bởi service) nên các đối tượng này khơng
cho phép các khai báo truy cập vào.
request
Biến này có kiểu là javax.servlet.http.HttpServletRequest, có phạm vi
trong một u cầu (request). Nó cho phép chúng ta truy cập vào các tham số
của request như loại request (GET, POST, …) và các incoming HTTP header
(cookies).
response
Có kiểu là javax.servlet.http.HttpServletResponse, có phạm vi tồn trang
(page). Chú ý rằng vì luồng xuất thì thường làm vật đệm cho nên việc gán mã
tình trạng của HTTP và response header thì hợp lý trong JSP, mặc dù điều này
thì khơng được phép trong servlet một khi đã có luồng xuất nào được gởi đến
client.
out
Có kiểu javax.servlet.jsp.JspWriter và phạm vi trong một trang (page).
Dùng để gởi các thơng xuất đến client. Đối tượng out được dùng thường
xun trong scriptlets, các biểu thức tự động được đưa vào luồng xuất nên
hiếm khi cần tham chiếu đến đối tượng này.
session
Có phạm vi trong một phiên truyền (session) và kiểu tương ứng là
javax.servlet.http.HttpSession. Gọi về các phiên truyền được tạo tự động vì thế
biến này vẫn còn kết nối ngay cả chẳng có một tham chiếu incoming session
nào. Một ngoại lệ là nếu chúng ta sử dụng thuộc tính session của page
directive để tắc các phiên truyền, mà lại cố tham chiếu đến biến session thì sẽ
gây ra các lỗi vào lúc trang JSP được dịch thành servlet.
application
Biến này có kiểu là javax.servlet.ServletContext, có phạm vi trong tồn
ứng dụng (application). ServletContext lấy từ một đối tượng cấu hình servlet là
getServletConfig().getContext(). Các trang JSP có thể lưu trữ dữliệu persistent
trong đối tượng ServletContext tốt hơn là trong các biến thể hiện.
ServletContext có các phương thức setAttribute và setAttribute mà cho phép
chúng ta lưu trữ dữliệu
config
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 5
Biến này có phạm vi trang (page) vàcó kiểu tương ứng là
javax.servlet.ServletConfig.
pageContext
Biến này có kiểu là javax.servlet.jsp.PageContext vàcó phạm vi là trang
(page). pageContext cho phép một điểm truy cập duy nhất tới nhiều thuộc tính
của trang và cung cấp một nơi thuận tiện để lưu trữ dữliệudùng chung. Biến
pageContext lưu trữ giá trị của javax.servlet.jsp.PageContext cùng với trang
hiện hành. Có thể xem chi tiết trong chương II về JavaBeans.
page
Biến này đồng nghĩa với this và điều này thì khơng hữu ích trong ngơn
ngữ lập trình Java, có kiểu là java.lang.Object vàcó phạm vi trang (page).
exception
Trong một trang lỗi, chúng ta có thể truy cập vào đối tượng exception.
Biến này có kiểu là java.lang.Throwable và phạm vị là trang (page).
II.2. Biểu thức trong JSP
Biểu thức trong JSP được dùng để chèn các giá trị trực tiếp vào luồng
xuất. Nó có dạng sau:
<%= Java expressions %>
Biểu thức này được định trị, được chuyển thành chuỗi, và được chèn
vào trong trang. Sự định trị diễn ra ở thời gian runtime (khi trang được u
cầu) và do đó có đầy đủ quyền truy cập các thơng tin của u cầu này. Ví dụ
sau đây mơ tả ngày/giờ mà trang được u cầu:
Current time: <%= new java.util.Date() %>
Trong Java mỗi câu lệnh đều có dấu ‘;’ kết thúc dòng. Tại sao biểu thức
trong JSP lại khơng có dấu ‘;’? Vì biểu thức này được đưa vào luồng xuất
chẳng hạn như PrintWriter. Với ví dụ trên có thể chuyển vào servlet như sau:
PrintWriter out = response.getWriter();
out.println(“Current time:” + new java.util.Date());
Biểu thức như là giá trị trong elements khác.
Biểu thức có thể được sử dụngtrong các thuộc tính của các elements
khác. Giá trị từ các biểu thức này sẽ được tính vào thời gian u cầu (request
time). Các elements cho phép sử dụng biểu thức trong các thuộc tính của
chúng là:
Tên Element Tên thuộc tính
jsp:setProperty name và value
jsp:include Page
jsp:forward Page
jsp:param Value
II.3. JSP scriptlets
Scriptlets là những đoạn mã có chứa bất kỳ mã Java nào nằm giữa “<%”
và “%>”. Nếu chúng ta muốn thực hiện thứ gì đó phức tạp hơn là chỉ chèn vào
một biểu thức đơn giản thì JSP scriptlets cho phép chúng ta thêm bất kỳ đoạn
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 6
mã Java nào vào trang JSP. Các scriptlets này được đưa vào phương thức
_jspService (mà được gọi bởi service) của servlet. Có cú pháp:
<% Java Code %>
II.4. Khai báo trong JSP
Một khai báo trong JSP cho phép chúng ta định nghĩa các phương thức
hoặc các trường (biến) có phạm vi tồn trang. Khai báo sẽ được chèn vào
trong lớp của servlet (bên ngồi phương thức _jspService được gọi bởi service
để xử lý một u cầu). Một khai báo có dạng sau:
<%! Java Code %>
Các khai báo trong JSP thì khơng phát sinh ra bất kỳ thơng xuất nào,
chúng thường được dùng để liên kết với các biểu thức hoặc scriptlets. Chẳng
hạn, đây là một trang JSP mà in ra số lần truy cập vào trang.
III. Xử lý nhúng và chuyển hướng giữa các trang
Trong q trình xử lý và chuyển dữliệu cho form chúng ta có thể nhúng
và triệu gọi những trang JSP khác với trang hiện hành.Ví dụ chúng ta có thể
đưa một trang HTML hoặc JSP vào trong trang JSP hiện tại để hổ trợ thêm thư
viện hay tính năng bổ sung nào đó. Hay khi nhận được dữliệu submit từ trình
khách, trang JSP nhận được dữliệucó thể chuyển hướng hoặc triệu gọi đến
trang JSP khác.
III.1. Nhúng file vào trang với chỉ thi include
Chỉ thị <%include %> thường dùng để dem một nội dung file .html hay
jsp bên ngồi vào trang hiện hành. Cú pháp sử dụng như sau:
<%@include file = “filename”%>
Ví dụ: Trong chương trình chúng ta có sử dụng các hàm thư viện chứa
trong file Common.jsp. Thư viện này được đưa vào trang JSP hiện hành như
sau:
<%@include file = “Common.jsp”%>
III.2. Sử dụng thẻ <jsp:include>
Chỉ thị %@include % chỉ dùng để nhúng các mã nguồn tĩnh. Nếu muốn
nhúng kết quả kết xuất từ các trang jsp, servlet hay .html khác vào trang hiện
hành chúng ta sử dụng thẻ <jsp:include> với cú pháp như sau:
<jsp:page include page = “filename” flush = “true”/>
Ví dụ: trong chương trình sử dụng thẻ <jsp:include> để nhúng kết quả
của trang Header.jsp, Footer.jsp vào các trang JSP như sau:
<jsp:include page = “Header.jsp” flush = “true”/>
…
<jsp:include page = “Footer.jsp” flush = “true”/>
III.3. Chuyển tham số bằng thẻ <jsp:param>
Khi nhúng trang bằng thẻ <jsp:include> bạn có thể chuyển tham số cho
trang được nhúng để nhận được kết xuất linh động hơn bằng cách sử dụng thẻ
con <jsp:param>.
Ví dụ
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 7
testParam.jsp
<jsp: include page = “testParam2.jsp” flush = “true”>
<jsp:param name = “greeting” value = “Welcome”/>
<jsp:include>
<%
out.println (“Goi tham so từ test1.jsp”);
%>
testParam2.jsp
<%
String param = request.getParameter (“greeting”);
out.println (“Goi tham so tu test2.jsp”);
out.println (“param: “ + param);
%>
III.4. Chuyển tiếp đến trang khác với thẻ <jsp:include>
Chúng ta sử dụng thẻ <jsp:forward> để triệu gọi và chuyển dữliệu cho
trang jsp khác xử lý. Trong ví dụ sau chúng ta có 3 trang JSP. Trang thứ nhất
hiển thị form đăng nhập u cầu nhập vào tên username và password. Trang
thứ hai kiểm tra: nếu username, password trùng với username, password cho
trước thì thơng báo đăng nhập thành cơng, còn nếu khơng đúng hoặc rỗng sẽ
chuyển đến trang thứ 3 thơng báo u cầu đăng nhập những trường còn thiếu.
Ví dụ:
Login.jsp
<html>
<%
String param = request.getParameter (“sError”);
if (param.length() !=0)
{
out.println (“<b>”+ param + “</b>”);
}
%>
<form method = post action = “security.jsp”>
Username: <input type = text name = “username”>
Password: <input type = password name = “password”>
<input type = submit value = Login>
</form>
</html>
security.jsp
<html>
<%
String user = (String) request.getParametrer(“username”);
if (user.equals (“admin”))
{
%>
<jsp:forward page = “thongbao.jsp”/>
<%
} else {
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 8
%>
<jsp:include page = “login.jsp” flush = “true”>
<jsp:param name = “sError” value = “Ban nhap lai username &
password”/>
<jsp:include>
<%}%>
</html>
thongbao.jsp
<html>
Ban dang nhap voi usernam: <%=request.getParameter
(“username”)%>
Password: <%=request.getParameter (“password”)%>
</html>
III.5. Thẻ jsp:plugin
Phương cách đơn giản nhất để sử dụng jsp:plugin là cung cấp cho nó bốn
thuộc tính: type, code, width, height. Chúng ta định giá trị “applet” cho thuộc
tính type và ba thuộc tính còn lại sử dụng giống như APPLET tag bình
thường. Với ngoại lệ là các action thì có cú pháp XML nên các thuộc tính
trong nó cũng phải theo qui ước XML. Ví dụ với APPLET tag trong HTML
<APPLET CODE=“MyApplet.class”
WIDTH=457 HEIGHT=350>
</APPLET>
sử dụng jsp:plugin action như sau:
<jsp:plugin type=“applet”
code=“MyApplet.class”
width=“457” height=“350” />
Ngồi bốn thuộc tính này jsp:plugin còn có các thuộc tính sau và hầu hết
giống (nhưng khơng phải là tất cả) như các thuộc tính của APPLET tag.
codebase, align, archive, hspace, name, vspace, title
Giống như APPLET tag.
jreversion
Xác định số phiên bản của Java Runtime Environment, các giá trị có thể
nhận là “1.1”, “1.2”.
nspluginurl
URL cho Netscape mà có thể download Plug-In. Giá trị mật định sẽ
hướng người dùng đến web site của Sun, nhưng với intranet chúng ta có thể
muốn chỉ dẫn người dùng đến một bản sao cục bộ.
iepluginurl
URL cho Internet Explorer mà có thể download Plug-In.
I
I
I
I
I
I
.
.
6
6
.
.
T
T
h
h
ẻ
ẻ
j
j
s
s
p
p
:
:
f
f
a
a
l
l
l
l
b
b
a
a
c
c
k
k
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 9
jsp:fallback cung cấp văn bản thay thế đối với các trình duyệt khơng hổ trợ
OBJECT hay EMDEB. Chúng ta sử dụng action này giống như là dùngvăn bản thay
thế được đặt trong APPLET tag
<APPLET CODE=“MyApplet.class”
WIDTH=457 HEIGHT=350>
<B> Error: this example requires Java. </B>
</APPLET>
với
<jsp:plugin type=“applet”
code=“MyApplet.class”
width=“457” height=“350” >
<jsp:fallback>
<b> Error: this example requires Java. </b>
</jsp:fallback>
</jsp:plugin>
I
I
I
I
I
I
.
.
7
7
.
.
C
C
h
h
u
u
y
y
ể
ể
n
n
t
t
r
r
a
a
n
n
g
g
page directive cho phép chúng ta điều khiển cấu trúc của servlet bằng
cách đưa vào các lớp, đặt MIME type, …. Một page directive có thể được đặt
bất cứ nơi nào trong trang JSP.
<%@ page import=“java.util.*, com.vandau.*” %>
page directive định nghĩa một số thuộc tính phụ thuộc vào trang và giao tiếp
giữa các thuộc tính này với JSP container.
language
Định nghĩa ngơn ngữ kịch bản được sử dụngtrong scriptlets, biểu thức
và khai báo. Trong JSP 1.2 là phiên bản mới nhất chỉ có hổ trợ “java” cho
thuộc tính này do đó “java” này cũng là giá trị mật định.
<%@ page language=“java” %>
extends
Thuộc tính này chỉ định lớp cha (superclass) của servlet sẽ được phát
sinh cho trang JSP, có dạng sau:
<%@ page extends=“package.class” %>
Chú ý rằng khi sử dụng thuộc tính này phải hết sức cẩn thận vì tại server
có thể đã dùng lớp cha mật định.
import
Thuộc tính này mơ tả các kiểu sẵn dùngtrong mơi trường kịch bản (theo
java). Chúng ta có thể import vào từng lớp hoặc cả một gói (package).
<%@ page import=“package.class | package.*” %>
Nếu import vào nhiều lớp hay packages thì cách nhau dấu “,”.
session
Thuộc tính session kiểm sốt liệucó hay khơng một trang tham gia vào
HTTP session. Có hai giá trị “true” và “false”. Mật định là “true”, chỉ ra rằng
LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003
SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 10
biến ngầm định session nên được nối kết với session hiện hành. Giá trị “false”
có nghĩa rằng chẳng có session nào được sử dụng tự động và nếu cố truy cập
vào biến session sẽ trả lỗi vào lúc trang được dịch thành servlet.
buffer
Thuộc tính này xác định kích thước của vùng đệm được sử dụng bởi biến
out. Có dạng sau:
<%@ page buffer=“none | sizekb” %>
Thuộc tính này có giá trị mật định là “8kb”, giá trị “none” chẳng có vùng
đệm nào được cấp và tất cả dữliệu xuất sẽ được ghi trực tiếp qua
ServletResponse, PrintWriter.
autoFlush
Xác định liệu luồng xuất có vùng đệm được tự động flush (giá trị “true”
mật định) khi vùng đệm đầy hay sẽ tung ra một ngoại lệ khi vùng đệm tràn
(“false”).
Chú ý rằng sẽ khơng hợp lý nếu đặt autoFlush=“false” khi
buffer=“none”.
isThreadSafe
Xác định mức độ an tồn của tiểu trình (thread) được cài đặt trong trang
(với giao tiếp SingleThreadModel), “true” là giá trị mật định.
info
Định nghĩa một chuỗi có thể truy xuất từ servlet bằng phương thức
getServletInfo().
<%@ page info=“Some Message” %>
errorPage
Thuộc tính này xác định một trang JSP nên bất kỳ các ngoại lệ nào được
tung ra nhưng khơng bắt ngoại lệ này trong trang hiện hành.
<%@ page errorPage=“Ralative URL” %>
Ngoại lệ tung ra sẽ có sẵn trong biến ngầm định exception.
isErrorPage
Xác định trang JSP hiện thời có thể hoạt động như một trang lỗi cho một
trang JSP khác. Giá trị “false” là mật định cho thuộc tính này.
contentType
Thuộc tính này gán Content-Type cho response header, mơ tả kiểu
MIME của tài liệu được gởi đến client. Thuộc tính contentType có một trong
hai dạng sau:
<%@ page contentType=“MIME-Type” %>
<%@ page contentType=“MIME-Type; charset=Character-Set” %>
Một số kiểu MIME-Type thường dùng: “text/html”, “text/xml”,
“text/plain”, “image/gif”, “image/jpeg”.
[...]... đặc thù Database driver Cơsởdữliệu (Access, SQL Server, Oracle) Truy xuất cơsởdữliệu JDBC-ODBC Kiểu 1: JDBC sử dụng cầu nối ODBC Nếu bạn đã từng làm việc với các hệcơsởdữliệu trên Windows, bạn sẽ biết đến cách kết nối ODBC (Open Database Connectivity) ODBC là cách kết nối tổng qt nhất đến mội hệ cơsởdữliệu thơng qua trình quản lý ODBc của Windows Mỗi hệ cơsởdữliệu sẽ cung cấp một trình... Mã đặc thù Database driver Cơsởdữliệu (Access, SQL Server, Oracle) JDBC truy xuất cơsởdữliệu kiểu 2 Kiểu 3: JDBC kết nối thơng qua các ứngdụng mạng trung gian Ngày nay, các ứngdụng đều gắn liền với Internet Theo mơ hình lập trình phân tán, ứngdụng trung gian (middle-ware) trên một máy chủ sẽ chịu trách nhiệm kết nối với cơsởdữliệu Nhiệm vụ của trình khách là sử dụng những trình điều khiển... với ứngdụng trung gian qua Internet để truy vấndữliệu Kiểu 4: JDBC kết nối thơng qua các trình điều khiển đặc thù ở xa Mơ hình kết nối theo kiểu 3 do phải qua ứngdụng trung gian (middle-ware) nên có thể ảnh hưởng đến tốc độ truy xuất cơsởdữliệu phía máy khách Java đưa ra kết nối JDBC kiểu 4 cho phép trình khách sử dụng các trình điều khiển gọn nhẹ kết nối trực tiếp vào trình điều khiển cơsở dữ. .. việc bảo trì và nâng cấp ứngdụng Web với hàng trăm trang JSP sẽ rất khó khăn Trong q trình phát triển ứngdụng Web theo nhóm, việc trộn lẫn mã JSp sẽ rất khó khăn Trong qua trình phát triển ứngdụng Web theo nhóm, việc trộn lẫn mã Java và HTML trong trang JSP cho thấy khơng hiệu quả Khó có thể tách rời giữa cơng việc viết mã cho ứngdụngvà nhóm xâydựng giao diện Mã trang JSP ở dạng thuần văn bản nên... hiểu được cơsởdữliệu của chúng Trình điều khiển này sẽ được đăng ký với bộ quản lý ODBC Tất cả các lệnh truy xuất cơsởdữliệu sau đó được thực thi bằng lệnh SQL Java cung cấp cho chúng ta khả năng sử dụng JDBC để gọi ODBC và bằng cách này chúng ta có thể kiểm sốt rất nhiều hệ quản trị cơsởdữliệu khác nhau Quan hệ cầu nối JDBC-ODBC được thể hiện trong hình sau Sun cung cấp sẵn thư viện kết nối... lập trình ứngdụng mà JSP và servlet thường thực hiện nhất đó là lưu trữ và truy xuất cơsởdữliệu (database), cung cấp thơng tin cho trình khách Việc truy xuất cơsởdữliệutrong JSP và servlet dựa vào trình truy xuất JDBC theo chuẩn Java JDBC là các trình đạo diễn cho phép bạn truy cập vào cơsởdữliệu của các hệ như Access, MS SQL Server, Oracle… bằng ngơn ngữ truy vấn SQL Theo đặc tả của Sun... SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 35 LUẬNVĂN TỐT NGHIỆP Khóa 1998-2003 Kiểu 2: JDBC kế nối trực tiếp với các trình điều khiển cơsởdữliệu Ki Java phát triển, các nhà cung cấp hỗ trợ các trình điều khiển JDBC kết nối trực tiếp với trình điều khiển đặc thù của mỗi hệ cơsởdữliệu (native database driver), mà khơng cần phải qua trung gian ODBC của Windows nữa Các kết nối này nhanh và hiệu... tính sử dụng lại cho các trang JSP Các custom action gói gọn lại các tác vụ để chúng có thể được dùng lại trong hơn một ứngdụngvà tăng hiệu xuất bằng cách khuyến khích phân chia cơng việc giữa các nhà phát triển thư viện và người sử dụng thư viện Các tag library của JSP được tạo bởi các nhà phát triển, là người thành thạo ngơn ngữ lập trình Java và là chun gia trong giao tiếp với cơsởdữliệuvà các... class vào bộ nhớ và bắt đầu cho phép servlet hoạt động Chúng ta có thể dựa vào phương thức này để khởi tạo các biến mơi trường và giá trị ban đầu cần thiết cho q trình thực thi servlet sẽ diễn ra tiếp theo Thường trong phương thức init () ta khởi tạo giá trị mảng, tạo sẵn kết nối với cơsởdữ liệu, nạp các lớp thư viện cần thiết Ví dụ chúng ta có thể nạp trình điều khiển JDBC truy xuất cơsởdữ liệu, ... báo và định nghĩa bởi thẻ Property Thuộc tính của Bean mà bạn cần lấy giá trị Ví dụ: SVTH: PhanVăn Đấu GVHD: Nguyễn Hồng Quang Trang 34 LUẬNVĂN TỐT NGHIỆP Khóa 1998-2003 Chương IV GIỚI THIỆU JDBC I JDBC và trình điều khiển truy xuất cơ sởdữliệu Cơng việc lập trình ứngdụng mà JSP và servlet thường thực hiện nhất đó là lưu trữ và . Xây dựng và ứng dụng JavaServer Pages (JSP) trong phân tích thiết kế hệ thống cơ sở dữ liệu LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003 SVTH: Phan Văn Đấu GVHD: Nguyễn. SVTH: Phan Văn Đấu GVHD: Nguyễn Hồng Quang Trang 3 Trước khi đi vào chi tiết cơng nghệ JSP, chúng tơi có một vài so sánh các cơng nghệ được sử dụng trong ứng dụng với các cơng nghệ khác. . LUẬN VĂN TỐT NGHIỆP Khóa 1998-2003 SVTH: Phan Văn Đấu GVHD: Nguyễn Hồng Quang Trang 1 LUẬN VĂN TỐT NGHIỆP KHOA CƠNG NGHỆ THƠNG TIN Đề tài Xây dựng và ứng