ÑAÏI HOÏC QUOÁC GIA THAØNH PHOÁ HOÀ CHÍ MINH
TRÖÔØNG ÑAÏI HOÏC KHOA HOÏC TÖÏ NHIEÂN
KHOA TOAÙN-TIN HOÏC
BOÄ MOÂN ÖÙNG DUÏNG TIN HOÏC
CHUYEÂN NGAØNH TOAÙN-TIN ÖÙNG DUÏNG
------ooo------
TIEÅU LUAÄN TOÁT NGHIEÄP
Ñeà taøi:
Giaûng vieân höôùng daãn : ThS.Phaïm Theá Baûo
GV. Haø Vaên Thaûo
Giaûng vieân phaûn bieän : ThS.Nguyeãn Giang Sôn
Sinh vieân thöïc hieän
: Leâ Nguyeãn Thoaïi Nhö
Maõ soá sinh vieân
: 9800132
Lôùp
: 98T1
NIEÂN KHOÙ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 protected].
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ở .
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ẻ:.
Trong scripting thì lời chú thích được giữa /* comment */.
2.4.Các hành động chuẩn:
2.4.1.: 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:
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.: 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:
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 .
+ 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.: 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:
Thuộc tính:
+ name: tên của Bean được định nghĩa trước bởi .
+ property: tên của thuộc tính cần lấy giá trị.
2.4.4.: 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.
có thể có thành phần con để cung cấp giá trị cho các
tham số cho mục đích nhúng.
Cú pháp:
hay
{}
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.: 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:
hay
{}
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.: 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:
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.: 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ẻ