Tải bản đầy đủ (.pdf) (50 trang)

Tiểu luận tốt nghiệp Hệ thống trao đổi thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.33 MB, 50 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN-TIN HỌC
BỘ MÔN ỨNG DỤNG TIN HỌC
CHUYÊN NGÀNH TOÁN-TIN ỨNG DỤNG
------ooo------

TIỂU LUẬN TỐT NGHIỆP

Đề tài:

Giảng viên hướng dẫn : ThS.Phạm Thế Bảo
GV. Hà Văn Thảo
Giảng viên phản biện : ThS.Nguyễn Giang Sơn
Sinh viên thực hiện
: Lê Nguyễn Thoại Như
Mã số sinh viên
: 9800132
Lớp
: 98T1

NIÊN KHÓA 1998-2002


NHẬN XÉT CỦA GIẢNG VIÊN
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................


...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................

ii


LỜI CÁM ƠN
Đầu tiên em xin chân thành cám ơn các thầy cô đã hết lòng chỉ bảo và dạy dỗ em
trong suốt bốn năm học vừa qua.
Em xin đặc biệt cám ơn thầy Phạm Thế Bảo và thầy Hà Văn Thảo đã tận tình
hướng dẫn và giúp đỡ em hoàn thành tốt đề tài này.
Em xin cám ơn khoa Toán-Tin học, bộ môn ứng dụng Tin học và các thầy cô đã tạo
mọi điều kiện thuận lợi cho em thực hiện đề tài này.
Xin cám ơn anh Võ Đức Cẩm Hải đã giúp đỡ trong quá trình thực hiện đề tài.
Cám ơn bạn Lưu Hữu Thuận đã giúp đỡ và đóng góp ý kiến giúp Như hoàn chỉnh
tốt hơn đề tài của mình.
Cuối cùng xin dành lời cám ơn đến gia đình và người thân đã động viên em trong
quá trình thực hiện đề tài.

iii


LỜI NÓI ĐẦU
Do sự phát triển không ngừng của công nghệ thông tin, việc học tập hiện nay
không chỉ giới hạn ở hình thức học trên lớp mà còn có hình thức học tập thông qua mạng.
Việc học tập trên mạng ngày càng được phát triển và phổ biến ở hầu hết các trường Đại
học và Phổ thông. Đối với những người không có thời gian học trên lớp thì họ vẫn có thể
học từ xa thông qua Internet với những thao tác đơn giản. Và song song với việc học trên
Internet, họ còn có thể trao đổi kiến thức với nhau cũng như đưa ra những thắc mắc và sẽ

được giải đáp một cách hợp lý.
Việc xây dựng trên Web như là một môi trường giúp cho việc trao đổi thông tin về
nội dung của các môn học giữa các bạn sinh viên với nhau và giữa sinh viên với các giảng
viên là cần thiết. Chính vì vậy em xin giới thiệu đề tài “Hệ thống trao đổi thông tin trên
Web” xem như là một hình thức hỗ trợ việc học tập cho các bạn sinh viên trong Khoa.
Trong giới hạn thời gian cho phép để hoàn thành đề tài cho nên ứng dụng có thể
chưa đáp ứng được đầy đủ các nhu cầu cho việc học tập của các bạn cũng như đối với các
giảng viên bộ môn. Nếu điều kiện cho phép đề tài này sẽ được hoàn chỉnh hơn và phù hợp
với nhu cầu hơn. Hy vọng rằng đề tài này sẽ được ứng dụng rộng rãi trong các Khoa như là
một hình thức hỗ trợ học tập.

Phạm
Thế Bảo

Digitally signed by Phạm Thế Bảo
DN: cn=Phạm Thế Bảo, c=VN,
o=Khoa Tóan - Tin học trường Đại
học khoa học Tp.HCM, Vietnam,
ou=NCLAB,
email=
edu.vn
Reason: I am the author of this
document
Date: 2006.08.20 09:46:48 +07'00'

iv


MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN......................................................................................... ii

LỜI CÁM ƠN.......................................................................................................................iii
LỜI NÓI ĐẦU...................................................................................................................... iv
MỤC LỤC ............................................................................................................................. v
CHƯƠNG I: MỞ ĐẦU ......................................................................................................... 1
I.GIỚI THIỆU ................................................................................................................... 1
II.MỤC ĐÍCH VÀ CHỨC NĂNG.................................................................................... 1
1.Người quản trị ............................................................................................................ 1
2.Người sử dụng ............................................................................................................ 1
III.YÊU CẦU CỦA ĐỀ TÀI ............................................................................................. 2
1.Về mặt ứng dụng ........................................................................................................ 2
2.Về mặt kỹ thuật .......................................................................................................... 2
CHƯƠNG II: KHẢO SÁT VÀ LỰA CHỌN CÔNG NGHỆ............................................... 3
I.MÔ HÌNH LẬP TRÌNH MẠNG .................................................................................... 3
1.Mô hình client/server.................................................................................................. 3
2.Mô hình hai tầng......................................................................................................... 3
3.Mô hình ba tầng.......................................................................................................... 4
II.KHẢO SÁT MỘT SỐ CÔNG NGHỆ........................................................................... 5
1.CGI (Common Gateway Interface) ............................................................................ 5
2.ASP (Active Server Page) .......................................................................................... 6
3.JSP (Java Server Page) ............................................................................................... 6
III.SO SÁNH VÀ LỰA CHỌN CÔNG NGHỆ ................................................................ 6
1.So sánh công nghệ ...................................................................................................... 6
2.Lựa chọn công nghệ ................................................................................................... 7
IV.KHẢO SÁT CHI TIẾT VỂ CÔNG NGHỆ SỬ DỤNG............................................... 8
1.HTML (HyperText Markup Language) ..................................................................... 8
2. JSP (Java Server Page) .............................................................................................. 9
3.Java Servlet............................................................................................................... 14
4.JavaBean................................................................................................................... 16
5.JDBC (Java Database Connectivity) ........................................................................ 17
CHƯƠNG III: KIẾN TRÚC HOẠT ĐỘNG VÀ THIẾT KẾ HỆ THỐNG........................ 21

I.KIẾN TRÚC HỆ THỐNG ............................................................................................ 21
II.THIẾT KẾ TỔNG QUÁT ........................................................................................... 21
1.Quản trị hệ thống ...................................................................................................... 21
2.Người sử dụng .......................................................................................................... 22
III.CƠ CHẾ HOẠT ĐỘNG............................................................................................. 22
IV.THIẾT KẾ DỮ LIỆU................................................................................................. 23
V.THIẾT KẾ XỬ LÝ ...................................................................................................... 26
1. Đối với người sử dụng............................................................................................. 26
2. Đối với quản trị........................................................................................................ 29
2. Đối với quản trị........................................................................................................ 30
CHƯƠNG IV: TRIỂN KHAI CÀI ĐẶT............................................................................. 32

v


I.CÁC THÀNH PHẦN JAVABEAN.............................................................................. 32
1.Lớp Topic ................................................................................................................. 32
2.Lớp Admin ............................................................................................................... 32
3.Lớp HelpDesk........................................................................................................... 33
II.TRIỂN KHAI CÁC TRANG JSP................................................................................ 35
III.HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN.................................................................... 43
1.Hạn chế..................................................................................................................... 43
2.Hướng phát triển....................................................................................................... 43
TÀI LIỆU THAM KHẢO ................................................................................................... 44

vi


Hệ thống trao đổi thông tin


CHƯƠNG I: MỞ ĐẦU
I.GIỚI THIỆU
Công nghệ thông tin đã và đang phát triển rất nhanh chóng, đặc biệt là sự phát triển
của Internet cả về phạm vi và ứng dụng. Các nhà khoa học có thể sử dụng Internet để tìm
kiếm tài liệu và thảo luận với nhau về việc nghiên cứu. Học sinh, sinh viên có thể tìm kiếm
các tài liệu phục vụ cho việc học tập và giải trí. Việc trao đổi kiến thức trên mạng ngày
càng phổ biến ở khắp mọi nơi, và trở thành một nhu cầu cần thiết.
Việc xây dựng nên một trang Web như là một môi trường giúp cho việc trao đổi
kiến thức giữa các bạn sinh viên với nhau và giữa sinh viên với các giảng viên là cần thiết.
Đề tài “Hệ thống trao đổi thông tin trên Web” được xem như là một hình thức phục vụ
cho việc học tập cho các bạn sinh viên trong Khoa.

II.MỤC ĐÍCH VÀ CHỨC NĂNG
Trang Web này nhằm mục tiêu phục vụ việc trao đổi thông tin về nội dung của các
môn học giữa các bạn sinh viên với nhau và với các giảng viên. Các bạn sinh viên có thể
học hỏi được nhiều kinh nghiệm và kiến thức bằng cách gởi những thắc mắc lên trang Web
để được các bạn các khác giải đáp hay được giải đáp của các giảng viên. Đối với các giảng
viên, qua đó nắm bắt được tình hình học tập của sinh viên hiện nay để có những thay đổi
về nội dung, phương pháp và bài giảng cho phù hợp.
Với mục đích ở trên, hệ thống phục vụ cho hai đối tượng chính là người sử dụng
(sinh viên) và người quản trị (giảng viên). Khi vào hệ thống họ có các chức năng chính
như sau:

1.Người quản trị
Người quản trị có chức năng thêm vào các môn học và tạo ra các chủ đề mới, xoá
hay sửa các chủ đề, xóa đi các câu hỏi trùng lắp, chuyển các câu hỏi vào trong một chủ đề
nào đó. Tuy nhiên người quản trị cũng được chia theo cấp bậc có nghĩa là mỗi người quản
trị (giảng viên) chịu trách nhiệm về một bộ môn nào đó chỉ có quyền thêm, xoá, sửa các
chủ đề thuộc về phạm vi mình quản lý.


2.Người sử dụng
Trong phần này người dùng truy cập vào trang Web, xem nội dung, thêm vào câu
hỏi hay có thể trả lời các câu hỏi mà mình giải đáp được. Ngoài ra người sử dụng có thể sử
dụng chức năng tìm kiếm được những nội dung mình cần.

Trang 1


Hệ thống trao đổi thông tin

III.YÊU CẦU CỦA ĐỀ TÀI
1.Về mặt ứng dụng
Hệ thống cho phép người dùng trao đổi kiến thức cho nhau và trao đổi với các
giảng viên. Mỗi giảng viên sẽ có một tài khoản riêng trong ứng dụng, họ có thể thay đổi
các môn học, các chủ đề, câu hỏi trong phạm vi quản lý của mình. Đối với những sinh viên
vào hệ thống thì phải hỗ trợ sao cho việc tìm kiếm, hỏi hay trả lời các câu hỏi một cách dễ
dàng.

2.Về mặt kỹ thuật
Ứng dụng đòi hỏi phải có khả năng về các kĩ thuật sau:
• Ứng dụng triển khai trên môi trường Web.
• Hỗ trợ nhiều trình duyệt.(IE, Netscape...).
• Hỗ trợ nhiều người dùng.
• Số lượng người truy xuất và người quản trị (giảng viên) không giới
hạn.
Tóm lại, với các yêu cầu như trên, ta cần phải khảo sát và lựa chọn công nghệ thích
hợp để triển khai ứng dụng theo yêu cầu.

Trang 2



Hệ thống trao đổi thông tin

CHƯƠNG II: KHẢO SÁT VÀ LỰA CHỌN CÔNG NGHỆ
I.MÔ HÌNH LẬP TRÌNH MẠNG
1.Mô hình client/server
Lập trình mạng thường liên quan đến một máy chủ (server) và nhiều máy khách
(client). Trong đó các máy khách và máy chủ giữ những chức năng và nhiệm vụ khác
nhau. Đó là mô hình mạng client/server.
Như vậy mô hình client/server đã giúp phát triển một phương thức ứng dụng mới
đó là việc phân tầng, chia ứng dụng thành nhiều lớp thực hiện những chức năng chuyên
biệt. Việc phân chia ứng dụng thành nhiều lớp giúp cho ứng dụng trở nên dễ dàng thay đổi,
nâng cấp và tin cậy hơn. Một ứng dụng thường được chia làm 3 tầng:


Giao diện (presentation logic): tầng này là cầu nối giữa người dùng với
ứng dụng, cung cấp những chức năng của ứng dụng cho người dùng và
nhận những lệnh từ người dùng cho ứng dụng .
• Chức năng (business logic): đây là phần lõi của một chương trình, cung
cấp tất cả những chức năng có thể có của chương trình cho tầng giao diện.
• Cơ sở dữ liệu (Data Access logic): tầng này là Cơ sở dữ liệu của ứng dụng,
cung cấp khả năng truy xuất đến cơ sở dữ liệu cho lớp chức năng nếu cần.
Mô hình client/server được chia ra làm các mô hình sau: mô hình hai tầng và mô
hình ba tầng (còn gọi là mô hình đa tầng).

2.Mô hình hai tầng
Mô hình hai tầng được chia làm hai loại:


Tính toán tập trung ở máy khách (thường gọi là fat client-thin

server): phía máy khách đảm nhiệm cả 2 tầng giao diện (presentation) và
chức năng (business), còn phía máy chủ chỉ đảm nhận nhiệm vụ của tầng
cơ sở dữ liệu.

Trang 3


Hệ thống trao đổi thông tin



presentation



business
Client

Database Server
DBMS


data access

Server

Mô hình này đơn giản, thích hợp cho các ứng dụng nhỏ. Tuy nhiên nó có nhược
điểm là tốc độ chương trình sẽ chậm do mọi thao tác dữ liệu đều thông qua mạng giữa
client và server. Phần tính toán, phần lõi nằm ở máy client nên đòi hỏi máy client phải có
cấu hình mạnh, khó nâng cấp vì phải cập nhật lại chương trình nằm ở toàn bộ các client.



Tính toán tập trung ở máy chủ (fat server-thin client): máy khách chỉ
đảm nhận phần giao diện, còn máy chủ thực hiện phần chức năng và cơ sở
dữ liệu.
Database Server
DBMS



presentation

Client




business
data access

Server

Mô hình này có tốc độ nhanh do lớp chức năng nằm ở server cùng với cơ sở dữ liệu
nên mọi thao tác với cơ sở dữ liệu đều được thực hiện ngay trên server. Do đó giảm được
sự lưu thông trên mạng, thông tin lưu trên mạng chỉ là những kết quả trả về cho client sau
khi đã được tính toán. Phần lõi nằm ở server nên việc nâng cấp dễ dàng hơn. Tuy nhiên mô
hình này đòi hỏi cấu hình máy chủ phải đủ mạnh, dung lượng lớn để lưu trữ dữ liệu.

3.Mô hình ba tầng
Trong mô hình này, tầng chức năng (business) được tách ra thành một lớp riêng.


Trang 4


Hệ thống trao đổi thông tin

Application


presentation



Database Server
DBMS

business


Client

Server

data access

Database

Các tầng chính:
• Client tier: bao gồm hai tầng con là client và server-side presentation.
Tầng con client sử dụng trình duyệt Web (Web brower) để truyền yêu cầu

của người dùng đến tầng con server-side prentation thông qua giao thức
HTTP. Tầng này là cầu nối giữa ứng dụng với người dùng, cung cấp
những chức năng của ứng dụng. Những yêu cầu của người dùng được đưa
đến server và gửi trả về cho client những kết quả mà trình duyệt có trách
nhiệm trình bày. Tầng này thiết kế sao cho thân thiện với người dùng.
• Middle tier (server tier): tầng này hỗ trợ cho việc trao đổi dữ liệu giữa
client và data. Nó cung cấp các chức năng cần thiết để tầng client có thể
trao đổi dữ liệu với ngân hàng dữ liệu được quản lý bởi data tier.
• Data tier: là nơi lưu trữ dữ liệu, chứa những dữ liệu về chức năng của
ứng dụng. Nó cung cấp khả năng truy xuất đến cơ sở dữ liệu cho tầng
middle nếu cần.
Mô hình này làm cho chương trình trở nên linh động hơn trong việc thay thế, nâng
cấp, tích hợp được dữ liệu từ nhiều nguồn ở xa. Do đó mô hình rất thích hợp với những
ứng dụng có yêu cầu thay đổi thường xuyên như ứng dụng Web.

II.KHẢO SÁT MỘT SỐ CÔNG NGHỆ
Quá trình mà trình chủ nhận một yêu cầu từ các trình khách, sau đó xử lý và trả về
kết xuất cho trình khách có nhiều công nghệ để hỗ trợ. Ta sẽ khảo sát một số công nghệ
sau:

1.CGI (Common Gateway Interface)
Khi nhận được lệnh Get hay Post từ trình khách, trình chủ có thể thực thi một
chương trình và chương trình này sẽ tự động sinh ra nội dung trả về cho trình khách. Như
vậy lúc này tập tin trả về cho trình khách sẽ không tồn tại trên đĩa cứng của trình chủ, nó
được tạo ra từ một chương trình. Chương trình này thường được gọi là CGI.
Một chương trình CGI của trình chủ có thể sản sinh ra hàng ngàn trang Web theo
yêu cầu của trình khách.
Ngôn ngữ kịch bản Perl là trình thông dịch của CGI.
Sau khi viết các lệnh bằng ngôn ngữ Perl thì lưu thành tập tin có phần mở là .pl.
Khi trình khách phát yêu cầu về tập tin .pl gửi đến máy chủ thì trình chủ Web Server được

Trang 5


Hệ thống trao đổi thông tin
cấu hình để gọi chương trình CGI Perl.exe. Chương trình Perl.exe sẽ đọc tập tin kịch bản
.pl đó và thực thi các lệnh chứa trong kịch bản rồi trả kết quả về cho trình khách.

2.ASP (Active Server Page)
Nhằm đem lại sự tiện lợi và dễ dàng trong việc xây dựng một ứng dụng trên Web,
hãng Microsoft cung cấp công nghệ ASP (Active Server Page) giúp tạo trang Web động
đồng thời đảm nhận chức năng gởi và nhận dữ liệu giữa máy khách và máy chủ.
Là trang Web chứa mã lệnh viết bằng ngôn ngữ Visual Basic kết hợp với các thẻ
định dạng của HTML.
ASP xây dựng sẵn 6 đối tượng rất mạnh. Các đối tượng này không quan hệ với
nhau theo mô hình phân cấp, cha con, chúng liên hệ nhau dựa trên vai trò và tính năng mà
chúng cung cấp. Các đối tượng này bao gồm Server, Application, Session, Request,
Response và ObjectContent xây dựng nên môi trường cho các ứng dụng Active Server.
Khi máy khách triệu gọi một tập tin .asp, trình chủ Web Server sẽ yêu cầu trình
dịch ASP chuyển tải mã lệnh ASP thành kết xuất HTML trả về cho trình khách.

3.JSP (Java Server Page)
Là cách kết hợp ngôn ngữ HTML truyền thống và ngôn ngữ Java về phía máy chủ
để sinh ra các trang Web động.
JSP cung cấp các thẻ lệnh tương tự như thẻ của HTML. Và có một số hành động
chuẩn dùng để truy xuất và đặt các giá trị vào các thuộc tính trong Bean.
Khi máy khách triệu gọi một tập tin .jsp, trình chủ sẽ đọc trang JSP , bộ diễn dịch
JSP sẽ diễn dịch mã lệnh Java chứa trong trang JSP thành Servlet. Sau đó trình chủ Web
Server sẽ triệu gọi Servlet trả về kết xuất thuần HTML về cho trình khách.

III.SO SÁNH VÀ LỰA CHỌN CÔNG NGHỆ

1.So sánh công nghệ

Trang 6


Hệ thống trao đổi thông tin

CGI (Common Gateway
Interface)
- Khi nhận được dữ
liệu từ trình khách
thì Web Server sẽ
triệu gọi chương
trình .exe hay CGI.
- Được sự hỗ trợ của
trình biên dịch Perl
được xây dựng
bằng ngôn ngữ C,
Pascal…
- Chạy trên máy chủ
Linux, Unix.
- Nhược điểm là tiêu
tốn tài nguyên và
hạn chế về tốc độ.

ASP (Active Server Page)

JSP (Java Server Page)

-


Khi nhận được dữ
liệu từ trình khách,
Web Server xử lý
trang ASP.

-

Khi nhận được dữ
liệu từ trình khách,
Web Server xử lý
trang JSP.

-

Dùng các lệnh
Visual Basic kết hợp
với kiến trúc triệu
gọi thành phần
COM/DOM.
Chỉ chạy trên nền
chủ IIS của
Microsoft.

-

Dùng các lệnh của
Java kết hợp với
kiến trúc triệu gọi
thành phần Bean.


-

Chạy được trên
nhiều hệ điều hành
khác nhau.

-

2.Lựa chọn công nghệ
Qua quá trình khảo sát một số công nghệ có thể dùng để thiết kế và căn cứ vào yêu
cầu của đề tài, việc lựa chọn ngôn ngữ lập trình Java và các công nghệ mà Java cung cấp
tương ứng với mô hình ba tầng là hoàn toàn phù hợp.
Tầng 1 (client tier):
Các máy khách sẽ sử dụng hai trình duyệt là IE (Internet Explorer) và Netscape. Do
đó đề tài sử dụng ngôn ngữ trình bày trang Web là HTML (HyperText Markup Language),
JavaScript, JavaApplet. Và công nghệ giúp trang Web linh động là JSP vì JSP là cách đơn
giản để người dùng tiếp cận được hướng lập trình Web về phía máy chủ hiệu quả và nhanh
hơn.
Tầng 2 (server tier):
Yêu cầu của đề tài là chạy được trên nhiều hệ điều hành nên kĩ thuật hỗ trợ cho
tầng này sẽ là JSP, JavaBean, và để hỗ trợ cho việc truy xuất dữ liệu đề tài sử dụng kĩ thuật
JDBC.
Đối với Web Server thì công nghệ JRun đem lại hiệu quả cũng như các công nghệ
khác như Web Logic, Apache, Web Sphere.
Tầng 3 (data tier):
Dữ liệu ở tầng này được xây dựng trên mô hình dữ liệu quan hệ và được lưu trữ
quản lý dưới sự trợ giúp của hệ quản trị cơ sở dữ liệu PostgeSQL.
Kiến trúc của mô hình ba tầng:


Trang 7


Hệ thống trao đổi thông tin

HTML,
JavaScript,
JSP,
JavaApplet

Internet

Client tier

JSP,
Servlet,
JavaBean

JDBC

Middle tier

Database

Data tier

IV.KHẢO SÁT CHI TIẾT VỂ CÔNG NGHỆ SỬ DỤNG
1.HTML (HyperText Markup Language)
HTML là hàng loạt các đoạn mã chuẩn với qui ước được thiết kế để tạo ra trang
Web, giúp tạo và chia sẻ các tài liệu điện tử tích hợp đa phương tiện qua Internet và được

hiển thị bởi các trình duyệt Web. HTML cho phép áp dụng siêu liên kết cho tài liệu và
trình bày tài liệu với font chữ, hình ảnh, kiểu gióng hàng phù hợp với hệ thống hiển thị văn
bản.
Có nhiều công cụ để tạo ra trang Web. Ví dụ có thể tạo tập tin .html bằng Microsoft
Word, Note Pad trên Windows, Netscape Navigator, EditPlus...Các trình soạn thảo trên có
các công cụ cho phép tạo và hiệu chỉnh tập tin .html.
HTML dùng các thẻ đã được định nghĩa sẵn để tạo trang Web. Các thẻ bắt đầu
bằng “<” và kết thúc bằng “>”. Các thẻ gồm tên thẻ (đã được định nghĩa sẵn) và các thuộc
tính (có thể có hoặc không) để bổ sung thêm vào hình thức thể hiện của thẻ. Tên thẻ chính
là dấu hiệu để nhận biết loại định dạng.
Các phần tử thẻ HTML bắt đầu bằng thẻ mở < > và kết thúc bằng thẻ đóng </ >.
Ngoài ra còn có các phần tử rỗng < Tên [thuộc tính] />. Giữa thẻ đóng và thẻ mở là dữ
liệu cần định dạng.
Thuộc tính của các thẻ được kết hợp theo cặp name = value. Thuộc tính mang giá
trị là text, giá trị của nó cũng ở dạng text được đặt trong dấu “ ”. Tên của thuộc tính là duy
nhất.
Ngoài ra HTML còn có các tham chiếu thực thể được định nghĩa trước:
& : &
< : <
> : >
' : ‘
" : “
Các thẻ được định nghĩa trước:



Thẻ cấu trúc: định rõ cấu trúc của tài liệu.
Thẻ hình thức văn bản: định rõ dạng hiển thị văn bản. Gồm 2 loại: thẻ vật lý
và thẻ nội dung.
+Thẻ đoạn văn bản: định rõ dạng tiêu đề, đoạn và dấu ngắt dòng.

+Thẻ font chữ: định rõ cỡ chữ, màu chữ.
+Thẻ danh sách: định rõ danh sách theo thứ tự hoặc không theo thứ tự,
danh sách định nghĩa.
Trang 8


Hệ thống trao đổi thông tin
+Thẻ bảng biểu: xác định bảng biểu.
+Thẻ liên kết: định rõ các liên kết, định hướng di chuyển đến tài liệu khác.
+Thẻ hình ảnh: định rõ vị trí truy cập hình ảnh và cách hiển thị hình ảnh.
Ngoài ra HTML còn có các thẻ để thể hiện các ô nhập liệu, các nút nhấn và các
chọn lựa.

2. JSP (Java Server Page)
JSP (Java Server Page) là một công nghệ để tạo trang HTML động về phía trình
chủ. JSP kết hợp ngôn ngữ HTML truyền thống và ngôn ngữ Java về phía máy chủ.
JSP đưa lệnh Java vào các thẻ HTML. Các trang JSP chứa các thẻ đặc biệt qui định
gần giống như thẻ của ngôn ngữ HTML. Một trang JSP sẽ được bộ diễn dịch JSP (JSP
Compiler) sẽ ánh xạ trực tiếp mã JSP thành servlet. Sau đó trình chủ Web Server sẽ triệu
gọi servlet trả về kết xuất thuần HTML về trình khách.
JSP cung cấp các thẻ lệnh giúp tạo trang Web. Tương tự như thẻ HTML, thẻ lệnh
của JSP cũng bao gồm các thẻ mở và thẻ đóng. Thực sự các thẻ JSP xây dựng theo đặc tả
và chuẩn XML (Extension Markup Language) nên các thẻ của JSP có phân biệt chữ
thường và chữ hoa. Mỗi thẻ có các thuộc tính quy định cách dùng thẻ.
2.1.Thẻ chỉ dẫn (directives):
2.1.1.<%@ directive {attr=”value”}%>: Thẻ này cung cấp thông tin toàn cục để
dịch trang JSP.
attr :là thuộc tính.
value: là giá trị ứng với thuộc tính đó, được đặt trong dấu “ ”.
2.1.2.<%@ page %>: thẻ này định nghĩa những thông tin có giá trị toàn cục trong

trang JSP. Thẻ được sử dụng trong hầu hết các trang JSP được viết.
Thẻ chứa các thuộc tính chỉ ra thông tin chú thích về một trang, có thể chỉ ra ngôn
ngữ kịch bản đang sử dụng trong trang, những gói của Java cần import vào để sử dụng hay
triệu gọi một trang lỗi khi có lỗi hay một sự ngoại lệ xuất hiện. Thẻ thường được đặt trước
thẻ mở <html>.
2.1.3.<%@ include %>:
Cú pháp:
<%@ include file=”URL or FilePath”%>
Thẻ này dùng để nhúng một trang html hay một tài nguyên tĩnh vào trang JSP hiện
hành.
Thuộc tính file cho biết địa chỉ URL hay đường dẫn đến tập tin cần nhúng vào.
2.1.4.<%@ tablib%>: là thẻ dùng để tuyên bố rằng trang jsp sử dụng một thẻ thư
viện.
Cú pháp:
<%@tablib uri=”tagLibraryURI” prefix=”tagPrefix”%>
Thuộc tính:
• uri: tham chiếu đến một địa chỉ URI chứa các thẻ truyền thống.
• prefix: dùng để phân biệt các hành động.

Trang 9


Hệ thống trao đổi thông tin
2.2.Thẻ kịch bản (scripting):
2.2.1.<%! declaration %>: sử dụng để khai báo biến và các phương thức trong
ngôn ngữ kịch bản sử dụng trong trang jsp.
2.2.2.<%= expression %>: dùng để hiển thị một biểu thức. Biểu thức sẽ được kết
xuất ra bởi đối tượng JspWriter dưới dạng đối tượng String. Biểu thức trong jsp được gán
giá trị khi trang jsp thực thi. Chuỗi kết quả của biểu thức sẽ được chèn vào vị trí tham
chiếu của biểu thức trong tập tin jsp.

2.2.3.<% scriptlet %>: thẻ này cho phép chứa bất kì phát biểu hợp lệ nào của ngôn
ngữ được tham chiếu trong dẫn hướng của ngôn ngữ diễn dịch. Đề tài này là đặt các mã
lệnh Java ở giữa cặp thẻ tương tự như một chương trình java thông thường. Sciptlet thực
thi tại thời điểm gọi.
2.3.Thành phần chú thích:
Trong trang jsp thì lời chú thích được đặt giữa cặp thẻ:<!--comment -->.
Trong scripting thì lời chú thích được giữa /* comment */.
2.4.Các hành động chuẩn:
2.4.1.<jsp:useBean>: dùng tạo hay định vị một Bean.
Hành động này liên kết đến các đối tượng của Java được định nghĩa trong một
phạm vi với một định danh được định nghĩa trong trang jsp.
Cú pháp:
<jsp:useBean id =”name” scope=”page|request|session|application” typeSpec/>
typeSpec::= class =”className” |
class =”className” type =”typeName”|
type =”typeName” class =”className”|
beanName =”beanName” type =”typeName”|
type =”typeName” beanName =”beanName”|
type =”typeName”.
Các thuộc tính:
+ id: tên dùng để xác định đối tượng và cũng là tên biến được khai báo và
khởi tạo với các đối tượng tham chiếu trong scripting.
+ scope: là phạm vi cho biết môi trường sống của đối tượng. Giá trị mặc
định là “page”.
+ class: tên đầy đủ của lớp đã được định nghĩa trong Bean (lớp định nghĩa
việc thực thi của đối tượng).
+ beanName: tên của Bean, như là phương thức instantiate() của lớp
java.beans.Beans.
+ type: định nghĩa kiểu của việc định nghĩa biến scripting trong trường hợp
đặc biệt. Nếu không, giá trị giống như giá trị của thuộc tính class.

2.4.2.<jsp:setProperty>: là hành động dùng để đặt vào giá trị của thuộc tính trong
Bean từ một HTML form.

Trang 10


Hệ thống trao đổi thông tin
Tên của thuộc tính phải được định nghĩa trước trong Bean và liên kết với tên của
thành phần form. Để sử dụng được hành động này thì phải có phương thức set tương ứng
trong Bean cho mỗi thuộc tính. Chú ý là hành động này chỉ đặt được một giá trị vào một
thuộc tính tại một thời điểm.
Cú pháp:
<jsp:setProperty name =“BeanName” prop_expr/>
prop_expr::= property =”*”|
property =”propertyName”|
property =”propertyName” param =”paramName”|
property =”propertyName” value =”propertyValue”.
propertyValue =String hay là một expr_scriptlet.
Thuộc tính:
+ name: là tên của thành phần Bean phải giống với tên đã được định nghĩa
trước bởi thành phần <jsp:useBean>.
+ property: tên của thuộc tính trong Bean cần đặt giá trị.
+ param: tên của tham số yêu cầu, là giá trị mà bạn muốn đặt vào thuộc
tính trong Bean. Tên của tham số yêu cầu thường là tên của HTML form.
+ value: là giá trị để gán cho thuộc tính. Một hành động không thể có đồng
thời param và value.
2.4.3.<jsp:getProperty>: là hành động dùng để lấy giá trị của thuộc tính trong
Bean. Tương ứng với hành động này là phương thức get trong Bean.
Giá trị lấy ra được chuyển thành String và có thể thể hiện giá trị như là một output.
Cú pháp:

<jsp:getProperty name =”name” property =”propertyName”/>
Thuộc tính:
+ name: tên của Bean được định nghĩa trước bởi <jsp:useBean>.
+ property: tên của thuộc tính cần lấy giá trị.
2.4.4.<jsp:include>: là hành động dùng để nhúng một tài nguyên tĩnh hay động
vào trang jsp hiện hành.
<jsp:include> có thể có thành phần con <jsp:param> để cung cấp giá trị cho các
tham số cho mục đích nhúng.
Cú pháp:
<jsp:include page =”urlSpec” flush =”true”/>
hay <jsp:include page =“urlSpec” flush =“true”>
{<jsp:param .../>}
</jsp:include>
Thuộc tính:
+ page: là đường dẫn URL đến một trang cần nhúng.
Trang 11


Hệ thống trao đổi thông tin
+ flush: có giá trị là Boolean. Nếu giá trị là true thì vùng đệm bị đẩy ra. Giá
trị mặc định là false.
2.4.5.<jsp:forward>: hành động này cho phép trình dịch gởi đi một yêu cầu tại
thời điểm thực thi đến tài nguyên tĩnh, JavaServlet hay đến trang jsp khác.
Hành động này làm chấm dứt việc thực thi của trang hiện hành. Thường dùng như
một điều kiện trong jsp để chuyển hướng xử lý.
Cú pháp:
<jsp:forward page =“urlSpec”/>
hay <jsp:forward page =“urlspec”>
{<jsp:param.../>}
</jsp:forward>

Thuộc tính: page: xác định quan hệ URL của đích mà hành động jsp:forward
chuyển đến.
2.4.6.<jsp:param>: là hành động dùng để cung cấp và tạo giá trị cho tham số.
Thường dùng trong các hành động jsp:include, jsp:forward, jsp:plugin.
Khi làm việc với hành động jsp:include, jsp:forward thì trang được nhúng hay
trang chuyển tới sẽ nhận được các tham số mới với các giá trị mới.
Cú pháp: <jsp:param name =“name” value =“value”/>
Thuộc tính:
+ name:tên của tham số tham chiếu.
+ value: giá trị của tham số được tham chiếu.
2.4.7.<jsp:plugin>: hành động này cho phép tạo ra trang HTML chứa đựng tính
hợp lệ của trình duyệt khách. Hành động tạo ra thẻ <object> hay <embed> để đưa ra dòng
xuất của đối tượng response. Thuộc tính của jsp:plugin cung cấp cấu hình dữ liệu để thể
hiện phần tử đó.
Cú pháp:
codebase =“relativeURLpath”>
{<jsp:params>
{<jsp:param .../>}
</jsp:params>}
</jsp:plugin>
Thuộc tính:
+ type: xác định loại cần đưa vào là Bean hay Applet.
+ code: tên của class được nhúng.
+ codebase: tham chiếu cơ sở hay đường dẫn liên hệ đến tập tin
plugin.class.
2.5.Các đối tượng ẩn:(implicit object)

Trang 12



Hệ thống trao đổi thông tin
Các đối tượng ẩn luôn luôn có giá trị cho việc sử dụng trong scriptlet và biểu thức
mà không cần phải khai báo trước. Hầu hết các ngôn ngữ kịch bản đòi hỏi được cung cấp
việc truy cập đến đối tượng này.
Mỗi đối tượng ẩn đều có một lớp hay giao diện được định nghĩa trong nhân java
hay gói JavaServletAPI.
2.5.1.Đối tượng Request:
Đối tượng này đại diện cho đối tượng javax.servlet.htttp. HttpServletRequest. Đối
tượng request nắm giữ các tham số hay dữ liệu do trình khách gửi lên.
Phương thức getParameter() nhận tên tham số và trả về giá trị chuỗi tương ứng với
tên tham số đó.
2.5.2.Đối tượng Response:
Là đối tượng phản hồi thông tin xử lý từ trình chủ trở về trình duyệt. Đối tượng này
dùng để xuất ra trình duyệt khách dữ liệu dưới dạng HTML.
Các phương thức thường dùng:
• getWriter(): dùng thực hiện kết xuất.
• sendRedirect(“ .jsp”): dùng liên kết trực tiếp đến một trang jsp.
• setContentType(“text/html”): định dạng xuất ra dạng văn bản hay
dạng HTML.
• getOutputStream(): lấy dữ liệu trong vùng đệm nhờ OutputStream.
2.5.3.Đối tượng session:
Là đối tượng tham chiếu đến đối tượng javax.servlet.http.HttpSession. Đối tượng
này được khởi tạo bằng phương thức pageContext.getSession() để tạo trang servlet.
Khi cần một biến nào đó có giá trị toàn cục từ khi bạn mở cho đến khi kết thúc
trình duyệt đó thì đối tượng session được tạo ra. Đối tượng session tạo ra biến cục bộ cho
phép lưu một giá trị nào đó từ trang jsp này sang trang jsp khác.
2.5.4.Đối tượng Application:
Đối tượng này tham chiếu đến đối tượng javax.servlet.ServletContext lưu giữ cấu
hình toàn cục của Servlet và JSP.

Đối tượng Application có phạm vi hoạt động ở cấp ứng dụng nghĩa là có thể giữ giá
trị của tất cả các trang jsp ở những session khác nhau cho đến khi trình dịch JSP engine bị
đóng lại.
2.5.5.Đối tượng Out:
Đối tượng xuất phát từ lớp java.io.Writer. Đối tượng này dùng ghi kết xuất gửi về
trình duyệt máy khách.
2.5.6.Đối tượng Config:
Tượng trưng cho đối tượng ServletConfig. Được định nghĩa là đối tượng tạo bởi
Servlet chứa các thông tin cấu hình của Servlet.
2.5.7.Đối tượng Exception:
Đối tượng này chỉ tồn tại trong trang xử lý lỗi. Dùng tham chiếu đến nguyên nhân
gây ra lỗi mà trang error có liên quan.
2.6.Quá trình thực thi của trang JSP:
Quá trình thực thi của trang JSP được thể hiện thông qua sơ đồ sau:

Trang 13


Hệ thống trao đổi thông tin

JSP
file

JSP
file

.java
file
Web
Browser


HTTP or
orther protocol

Client

.class
file
Server

Graphics

Component

Data
store
Data Store

Trước tiên một ứng dụng JSP là một tập hợp của các file JSP, HTML, đồ hoạ và
các tài nguyên khác. Khi người dùng tải trang lần đầu tiên, các file sẽ chuyển đổi với nhau
mà không có dữ liệu động nào trong file nguồn java (file chứa các thành phần bean) với
tên đã được định nghĩa trong file jsp thực thi. Sau đó file .java sẽ được biên dịch thành file
.class. Trong quá trình thực thi, file .java là một JavaServlet được biên dịch với
JavaServletAPI.
Khi người dùng nhập dữ liệu từ form và nhấn Submit thì các thành phần ứng dụng
nắm giữ dữ liệu hay truy cập dữ liệu động từ nơi lưu trữ và trả về dữ liệu cho file .java nơi
mà nó được biên dịch thành file .class. Tập tin .class là một Java Servlet, trả lại dữ liệu đến
trình duyệt của client bởi phương thức service() của nó. Ở đây người dùng sẽ thấy được kết
quả dưới dạng HTML.


3.Java Servlet
Servlet thực sự là một mẫu chương trình viết bằng ngôn ngữ Java, được trình chủ
Web triệu gọi, sản sinh ra kết xuất phù hợp trả về cho client.
Servlet chạy trên máy ảo Java, xử lý và sinh mã HTML trả về trình khách. Servlet
chỉ nạp một lần bởi Web Server và có thể duy trì các hành động giữa các yêu cầu.
3.1.Các phương thức xử lý cơ bản:
Thật sự lớp GenericServlet là phần cài đặt tổng quát cho đặc tả giao tiếp (interface)
mang tên Servlet. Một servlet cơ bản cần có những phương thức phục vụ cho các nhu cầu:
khởi tạo (init), hoạt động và phục vụ (service), hủy (destroy), trả về thông tin cấu hình
(getServletInfo). Khi tạo ra servlet mới, đơn giản chỉ nên kế thừa lại GenericServlet và xây
dựng chồng (overide) các phương thức mà bạn muốn sử dụng.
3.1.1.Phương thức khởi tạo init():
Phương thức này được gọi khi lần đầu tiên trình chủ Web Server nạp mã thực thi
của servlet từ tập tin .class vào bộ nhớ và bắt đầu cho phép servlet hoạt động. Có thể dựa
Trang 14


Hệ thống trao đổi thông tin
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 quá
trình thực thi servlet sẽ diễn ra tiếp theo.
3.1.2.Phương thức phục vụ service():
Sau khi phương thức init() đã hoàn tất, trình chủ Web Server sẽ triệu gọi đến
phương thức service(). Phương thức này được xem là trung tâm xử lý của servlet mà bạn
cần cài đặt. Khi trình chủ nạp servlet vào bộ nhớ, phương thức init() chỉ có thể được gọi
duy nhất một lần, trong khi phương thức service() có thể được triệu gọi nhiều lần ứng với
mỗi yêu cầu servlet phát sinh từ client.
Trong phương thức service() bạn có thể sử dụng đối tượng tham số ServletRequest,
ServletResponse để tiếp nhận dữ liệu từ trình khách chuyển lên và xuất kết quả trả lại trình
khách.
3.1.3.Phương thức hủy destroy():

Khi servlet không còn dùng đến nữa hay hết thời gian quy định lưu trữ trong bộ
nhớ của Web Server, nó sẽ bị trình chủ giải phóng. Trước khi servlet bị huỷ phương thức
destroy() sẽ được gọi. Phương thức này có thể dùng để dọn dẹp tài nguyên mà các biến
chiếm giữ, đóng các kết nối mà phương thức init() đã mở.
3.1.4.Phương thức getServletConfig() và getServletInfo():
Hai phương thức này nhằm mục đích cung cấp thông tin. Phương thức
getServletConfig() giúp người sử dụng servlet có được đối tượng servletConfig chứa các
thông tin khởi tạo từ môi trường ngoài đưa vào servlet. Phương thức getServletInfo() trả về
một chuỗi thông tin mô tả ý nghĩa và mục đích của servlet.
3.2.Cơ chế hoạt đông:
Để cho JSP, Servlet hoạt động phải cài đặt một môi trường tức là một trình chủ
Web Server “hiểu Java”, nghĩa là trình chủ phải có khả năng thông dịch và thực thi được
các đơn thể Java theo đặc tả của Sun. Cụ thể trong đề tài này là JRun.
Cơ chế hoạt động:
Trình khách gởi lệnh HTTP get hay post lên máy chủ yêu cầu dịch vụ Web (HTTP
Web Server) cung cấp tài nguyên. Tài nguyên mà trình khách yêu cầu có thể là một tập tin.
Tài nguyên cũng có thể là dạng thông tin động do Servlet sinh ra.
Nếu bạn yêu cầu tài nguyên là tập tin thì trình chủ sẽ dùng một chương trình servlet
nhỏ gọi là File Servlet đọc nội dung tập tin sau đó trả về trình khách. Nếu bạn yêu cầu một
trình servlet khác (user servlet) thực thi để sinh ra thông tin động thì JRun sẽ sử dụng
Invoker Servlet triệu gọi servlet mà bạn mong muốn. Kết quả sinh ra sau đó cũng sẽ được
gởi về trình khách tương tự như cơ chế đọc tài nguyên trên đĩa cứng mà file Servlet thực
hiện.

Trang 15


Hệ thống trao đổi thông tin
Hình vẽ minh họa cơ chế hoạt động của Servlet trên máy chủ:
GET

HTTP
Web
Service

Web
Browser

File
Invoker

POST
User
HTML
JRUN
3.3.So sánh giữa JSP và Servlet:
Đặc tả JSP cung cấp rất nhiều thẻ cho phép người dùng tùy biến khi nhúng lệnh
Java trong JSP ở trình khách. Các thẻ này kết hợp cho các lệnh hay thẻ HTML để tạo ra kết
xuất cuối cùng trả về trình khách. Mặc khác bạn không cần phải biên dịch trang JSP bằng
tay vì trình chủ Web Server sẽ thực hiện công việc này hộ bạn. Như vậy viết trang jsp đơn
giản hơn viết servlet và có thể tận dụng mọi khả năng của servlet bên trong trang jsp.
Tuy nhiên, Servlet thường được xem như là những đối tượng thành phần
(component) nhúng vào trình chủ. Chính vì vậy servlet thường được dùng cho các chức
năng xử lý phức tạp như: giao tiếp với Applet về phía trình khách, thực hiện bảo vệ tài
nguyên, chứng thực mật khẩu... Trong khi đó trang JSP được dùng cho các thao tác truy
xuất hay xử lý đơn giản như trình bày giao diện, định dạng trang HTML, triệu gọi các
thành phần JavaBean hay Servlet khác.
Tóm lại, kết hợp cả JSP và Servlet là cách tốt nhất khi bạn chọn phát triển ứng
dụng Web bằng Java về phía máy chủ.

4.JavaBean

4.1.Giới thiệu:
JavaBean là thành phần đối tượng xây dựng từ ngôn ngữ Java, có thể làm việc và
chạy trên mọi máy ảo Java. Thành phần JavaBean là một loại lớp Java đặc biệt.
JavaBean cho phép thao tác các đối tượng đã được tạo hoàn chỉnh một cách trực
quan nhờ công cụ thiết kế nào đó.
4.2.Mô hình thành phần JavaBean:
Các lớp định nghĩa bean được tham chiếu với tên là JavaBean Component hay bean
component hay chỉ là component. Các lớp này phải tuân theo yêu cầu của mô hình thành
phần JavaBean:
• Thành phần bean phải là lớp public.

Trang 16


Hệ thống trao đổi thông tin






Thành phần bean phải có phương thức thiết lập mặc định (phương thức khởi tạo
không có đối số) mặc dù có thể có phương thức thiết lập khác nếu cần.
Thành phần bean bắt buộc phải ứng dụng giao diện java.io.Serializable hay
java.io.Externalizable để duy trì trạng thái tồn tại thường trực. Có thể dùng
JavaBean trong nhiều công cụ khác như MSVisual Basic, MSWord,... Nếu sử
dụng JavaBean trong các công cụ khác thì đòi hỏi thành phần bean phải tồn tại
lâu dài nhằm đảm bảo công cụ có thể tái lập các thuộc tính và hành vi nhất quán
đối với trạng thái công cụ trước khi chúng được lưu.
Thành phần bean thường có những thuộc tính kèm theo các phương thức truy

cập có cấu trúc thích hợp cho phép công cụ thiết kế xem và cập nhật những
thuộc tính một cách trực quan.
Thành phần bean có thể có các biến cố kèm theo những phương thức đăng kí
công cộng có cấu trúc thích hợp, cho phép thành phần bean bổ sung và loại bỏ
đối tượng lắng nghe. Nếu thành phần bean đóng vai trò nguồn biến cố, nó phải
cung cấp phương thức để đăng kí đối tượng lắng nghe.

Ba yêu cầu đầu tiên là yêu cầu tối thiểu của thành phần Bean, buộc phải tuân theo.
Hai yêu cầu sau còn phụ thuộc vào cách thức thực thi. Có thể viết thành phần Bean mà
không dùng phương thức đăng kí biến cố.
4.3.Truy xuất đối tượng:
Khi nhúng JavaBean vào trong JSP có ba thẻ chuẩn được định nghĩa trong JSP để
kết hợp JavaBean:
• <jsp:useBean>: dùng định nghĩa Bean, khai báo phạm vi và định danh (id)
nhận dạng Bean.
• <jsp:setProperty>: dùng để đặt giá trị vào thuộc tính Bean.
• <jsp:getProperty>: dùng để lấy về các giá trị của thuộc tính trong Bean.

5.JDBC (Java Database Connectivity)
5.1.Giới thiệu:
Hầu như công việc lập trình ứng dụ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ệu trong JSP và Servlet dựa vào trình truy xuất JDBC theo chuẩn Java.
JDBC cung cấp tập hợp các lớp và và giao diện dùng để phát triển ứng dụng Java
và ứng dụng Web liên quan đến cơ sở dữ liệu.
JDBC giúp cho Java tiếp cận với các hệ quản trị cơ sở dữ liệu một cách dễ dàng
thông qua ngôn ngữ SQL.
5.2.Các kiểu JDBC:
Có 4 kiểu JDBC sau:
5.2.1.Kiểu 1: JDBC sử dụng cầu nối ODBC (JDBC-ODBC Bridge)

ODBC (Open Database Connectivity) là cách kết nối tổng quát 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 điều khiển (driver) có khả năng đọc hiểu được cơ sở dữ liệu của chúng. Trình
Trang 17


Hệ thống trao đổi thông tin
đ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 đều được thực thi bằng lệnh SQL. Java cung cấp cho bạn khả năng sử dụng JDBC để
gọi ODBC. Bằng cách này bạn có thể kiểm soát được nhiều hệ quản trị CSDL khác nhau.
Java Application,
Applet, Servlet
Mã Java
JDBC Driver

ODBC
Mã đặc thù
Database Driver

CSDL
5.2.2.Kiểu 2:JDBC kết nối trực tiếp với các trình điều khiển cơ sở dữ liệu:
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. Do đó kiểu kết
nối này sẽ nhanh và hiệu quả hơn kiểu 1. Tuy nhiên phải có các trình điều khiển cơ sở dữ
liệu đặc thù do những nhà phát triển cơ sở dữ liệu hay bên thứ 3 (third_party) cung cấp.

Java Application,
Applet, Servlet
Mã Java
JDBC Driver


Mã đặc thù

Database Driver

CSDL

Trang 18


Hệ thống trao đổi thông tin
5.2.3.Kiểu 3: JDBC kết nối thông qua các ứng dụng mạng trung gian:
Theo mô hình lập trình phân tán, ứng dụng trung gian (middle_ware) trên 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 JDBC gọn nhẹ, có khả
năng giao tiếp với ứng dụng trung gian qua Internet để truy vấn dữ liệu.
Java Application,
Applet, Servlet
Mã Java
JDBC Driver
internet
Java Middle_Ware
Mã Java
Java Native Driver

CSDL

5.2.4.Kiểu 4:JDBC kết nối thông qua các trình điều khiển đặc thù ở xa:
Kiểu này cho phép máy khách sử dụng các trình điều khiển gọn nhẹ kết nối vào
trình điều khiển cơ sở dữ liệu đặc thù (thuần Java) trên máy chủ từ xa thông qua mạng

Internet.
Java Application,
Applet, Servlet
Mã Java
JDBC Driver
internet
Mã Java

Java Native Driver

CSDL

Trang 19


×