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

Thiết kế và xây dựng hệ thống cho phép tra cứu thông tin của một sinh viên trong một trường đại học thông qua trang web

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 (20.24 MB, 145 trang )

.•


BOG~ODUCvADAoT~O
TRUONG D~I HOC DAN D~P NGO~I NGU - TIN HOC
THANH PHO HO CHI MINH
KHOA CONG NGHt THONG TIN
- ---- --- - - - -0 00 ---- ---- ---

"

A

K

KHOA LUAN
TOT

NGHIEP

A

~.

THIET KE vA XAY DUNG
HE. THONG TRA
.
CUU THONG TIN SINH VIEN TRONG
TRUONG D~I HOC THONG QUA WEB TREN
JA VA WEB SERVER.
"



GIANG vrEN HUaNG DAN:
TRlNH QUOC LUONG.
SINH vrEN THVC HltN :
BUI MINH KHAI.
,

?

THANH PHO HO CHI MINH - 2001

.

"


..

Tntoc he't toi xin chan thanh cam on thay Trinh Quoe Lztdng la nguiJi
da huong dan eli toi dU(jc hoan thanh dg tai dung hgn. Thay Triln Van
ling, co Thd da giup toi tim hiiu vg ngon ngl1 l(ip trlnh Java.
Xin cam on tett ca thay co khoa CNTT TruiJng Dgi hQc Dan Lq.p
Ngogi Ngl1 - Tin HQc Thanh Pho' H6 Chi Minh, anh chj sinh vien eli truoc,
cdc bgn sinh vien ci:tngkhoa eta t(in tlnh giup do.
Do trlnh elQva thiJi gian co phan hgn che' cang nhu sZ:ftie'p thu, hiiu
bie't gido trlnh chua cao nen chdc chdn vifc hifn thZ:fCdg tai se co nhdu
thie'u sot, chua elu(jc nhu y muon. Ra't mong nh(in dU(jc sZ:fdong gop y kien
ala tett ca thay co.
Xin chan thanh can1 Un !
".


Thdng 7 nam 2001
Sinh vien th~tc hifn dg tai
Bi:tiMinh Khai


LOI NOI DAD



Ngay nay Internet

dUQc xern Ia rn(H thanh ttfu khoa hQc ky thu?t n6i

b?t va vI dqi nha't trong Iich sa Ioai nguoi va Ia ngu1ln thong tin IOn nha't.
Do do ngay nay khi noi de'n vi<%cxay dtfng nhG'ng chuang
nguoi ta thuong
chuang

rlnh

d€ C?P de'n nhung (tng d~mg Web.

dqng

client/server

tren

cac


rnqng

trlnh may tinh,

Th~IC cha't Ia nhG'ng

intranet/

internet.

Cac

chuang trlnh UUl'\vi<%c
khong chI gidi h~n tren rnQt may don Ie rna con phan
tan tren nhi€u may dUQc d~t d nhG'ng vi tri khac nhau. Cac h<%th6ng dUQc
xay dtfng tren n€n tang kie'n truc nhu V?y thuong

dUQc gQi Ia nhG'ng h<%

th6ng thong tin nhi€u tgng. Khi do tu client vdi trlnh duy<%tWeb Browser
co th~ truy C?P de'n cac server chlia co sd dG' Ii<%u.

ta

Cac ngu6n dft Ii<%udtIQC quan Iy bdi cac h<%quan tri khac nhau nen
vi<%cthie't ke' cac (tng dl;lng cho phep chqy tren nhi€u h<%di€u hanh khac
nhau la ra't kho khan. Do ngon ngG' Java la ngon nglt dqng rna byte nen co
thti ling vie't rnQt 19n nhttng c6 th~ ch~y rnQi nai, nen ngon nglt Java cling
dUQc ling dl;lng Web sa dl;lng ph6 bi€n. Java cling cho phep tqO cac k€t n6i

d€n cac ngu6n

co sd

dG' dUQc quan Iy bdi cac h<%quan tri

co sd

dG' Ii<%ukhac

nhau. Sa dl;lng serviet vdi vi<%ctruy C?P dG' Ii<%uta co th~ xay dtfng nhG'ng
trang Web "dQng" han.
Do d6 ngon ngG' HTML ke't hQp vdi ngon ngG' Java d~ thi€t k€ trong
d€ tai nay va ngu6n dlt li<%udUQC sa dtfng tu Microsoft Access. Cac thao
tac tren dG' Ii<%udUQc th~tc hi<%ntren Server thong qua cac servIet, sau do
tra ke't qua cho may client.


Trang 3

Chlidng 1.

GIOI THltUVE NGON NGU HTML

1.1. Gidi thi~u chung ngon ngli html.
1.1.1. HyperText Markup Language
1.1.2. HyperText va HyperLink
1.1.3.URL (Uniform Resource Locator)

:


1.2. Thie't Ke' Trang Web
1.2.1. Te;tomQt Trang HTML
1.2.2. MQt s6 HTML tag

5
5
5
6
7
7
8

1.2.3. £>inh de;tngbang

12

Chlidng 2.
GIOI THIEU
. VE JDBC - KET NOI CO

Sa DU LIEU.

2.1. Ca c trlnh di~u khi6n JDBC

15

2.2. Kie'n truc cua JDBC

17


2.2.1. T6ng Quan V~ JDBC

17

2.2.2. Kie'n Tru c JD BC ...........................................................

17

2.3. K€t N6i Co sa Dli Li~u

19

3.3.1. ODBC (32 bits)

19

3.3.2. Ke't n6i co sa dli li~u
2.4. Applet vdi g6i swing
3.4.1. MQt s610p thong dl;lllg
3.4.2. Dung Swing trong Applet..

Chlidng 3.

a

22
32
32
38


L~P TRINH TREN WEB VOl SERVLET

3 .1. M dfi u
3.2 Servlet la gl ?
3.3 Cach vie't rnQt servlet..
3.3.1 Chltong trlnh don gian

49
49
50
50


Trang

3.3.2 Sa dl;lllg go chua servlet..
3.4 Servlet voi HTML
3.4.1 U ng dl;lllg d(;lnghtml..
3.4.2 Servlet di€u khi€n html..
3.4.3 Html di€u khi€n chuang trlnh servlet (form)
3.4.4 Shtml di€u khi€n chuang trlnh servlet

52
54
54
55
56
58


Chuang 4.

GIAO THUC HTTP
4.1 HO(;ltdQng cua giao thuc HTTP
4.2 Yeu c~u phuang thuc POST va GET
Chu'dng

,

I



67

s.
CAC

5.1
5.2
5.3
5.4

63

ca CHE TRAO DOl THONG TIN TREN
,,'

,,?,...


"

Truy€n thong gil1a ung dl;lllgdQc l~p va servlet..
E>i€ukhi€n servlet til Web browser.
Truy€n thong gil1a cac applet
Truy€n thong gil1a applet va servlet..

WEB
69
74
79
87

Chuang 6.
,,?

~

,,~

"

TONG QUAN VE CHUaNG TRINH DE TAl.
6.1 Ca"u truc d111it$u
6.2 Ca"u truc chuang trinh
6.2.1 Qmln 19 user va password
6.2.2 Cae ehue nang them, x6a, sU'ava eae tra
MQt s6 ke't qua d(;ltdUQc
Tai lit$u tham khao


107
108
109
CUll

121

;

130
140

4


Chudng 1. Ngon ngil HTML

Trang 5

ChIidng 1.

NGON NGU HTML
1.1

Gi6'i thi~u chung ngon ngii' html.

1.1.1 HyperText Markup Language.
HyperText Markup Language (HTML - Ngon ngu danh d3'u sieu van
ban) la hang lo~ t cae do~n rna ehu~n voi eac quy uoc dU9c thiet ke d~ t~o
cac trang Web va dlrqc hi~n thi bdi nhung trlnh duy~t Web ( Web Browser

nhu : Internet Explorer, Netseape Navigator, ...). HTML la n~n tang clla
World Wide Web, rnQt dieh v~l'toan egu clla Internet. Web la dich V~lmang
tinh d6 h9a cao trong cac dich Vl;lInternet, cho phep nguoi dung c6 th~ tV
t~o eho rieng mlnh nhfrng trang Web.
M~e dll ph~m vi va drn quan tr9ng ella HTML c6 thay d6i trong rnQt
vai nam qua, nhung rnve dieh co ban v~n khong d6i . HTML duqc thiet ke
d~ t~o ra cac ~ ph~m di~n tlr h3'p d~n, voi thinh nang multimedia (da
phuong ti~n), dung cho World Wide Web.
Tuy nhien HTML khong phai la ngon ngu l~p trlnh. Thay vao d6
HTML t~lOcac trang Web thlrong dlrqe n6i den nhlr la "sang tac", va don
gian han nhi~u so voi vi~e t~o ra cac lrng dVng tren may tlnh.

1.1.2 HyperText

va HyperLink.

MQt trong nhung di~rn ehinh clla HTML xac dinh cach thlrc ho~t dQng
clla Web, la h6 cac lien ket sieu van ban (hypertext links). Bang cach
dvng cac l~nh d~c bi~t trong HTML, tac gia trang Web c6 th~ thay d6i mQt
do~n ehu nao d6 thanh c1~ng"clickable" (e6 kha nang click, nhu b3'rn nut).
Khi nglroi clung nh3'p vao hypertext, trlnh duy~t Web thuong dap lrng bang
each tret v~ rnQt trang Web moi.

sa

Nhung khong phai tat ea eac lien ket d~u la do~n chu - hlnh anh cling
c6 th~ trd thanh "cliekable". Trong tnrong hqp nay, g9i la mQt sieu lien ket
(hyperlink) thl thieh hqp han, nhung di~u d6 khong quan tr9ng. Nhung
thu~t ngfr nay v~ co ban e6 th~ dung thay nhau duqc.



Cllltdllg 1. Ngon ngz? HTML

Trallg 6

Di€u quan tr9ng han la cac sieu lien ktt dong vai tro quan tr9ng trong
qua trlnh t~o HTML, va World Wide Web. Hgu htt cac-trang Web d€u co
lien ktt dtn cac trang khac. Trong ph~m vi nho han, sieu lien ktt rfft quan
tr9ng khi t6 chlic cac site.
Nhung d~ ktt noi c1en cac trang Web nay? M6i trang trenWeb d€u co
mQt dia chI d~c bio~t va dllY nhfft. C,l c dia chI do g9i la Uniform Resource
Locators (URLs)

1.1.3 URL (Uniform Resource Locator)
Hgu htt cac dich V~I Internet d€u co mQt phuong phap dinh dia chi, VI
the b~n co th~ tIm thffy tai nguyen C~lth~ mQt cach d~ dang. Doi vdi m6i
dich v~, dia chI co th~ khac nhau.
Vi d~ b~n co th~ goi mQt e-mail tren American Online vdi dia chi
ngl(<;1cl~i, d~ co th~ truy c~p dtn FPT site cong cQng
cua AOL (American Online) (la noi co th~ t,li cac phgn m€m ling d~ng
AOL), se nh~p dia chi sau trong ((ng d~lllg FPT dang
d~ng: fpt.aol.com.

sa

World Wide Web cling co phl(Ong phap dinh dia chi cua chinh no nhltng
cao cffp han so vdi cac phl(Ong phap dl(<;1C
dung trong cac dich v~ tn(dc kia.
Web con cho phep truy c~p dtn t5t ca nh[(ng dich v~ Internet khac, nen dia
chi ella no phai tinh vi han.

URLs chinh la cac dia chI rna dang noi tdi. Chung co d~ng nhu sau:
protocol://inte rnecaddress/pathijilename.

ext

Hay:
protocol: internecaddress
Sau day la mQt vi d~1v€ URL dung d~ truy c~p dtn mQt tai li~u Web:
indows/index. html
Xem xet ky dia chI tren mQt cach din th~n. Tuy theo d~ng cGa URL,
http:// la protocol (giao thCtc)va www.microsoft.comla
dia chi Web Server
cua Microsoft. Theo sau la mQt dffu s6 ngu<;1c(/) d~ xac dinh mQt dlliJng
dan (path statement) theo sau. Duong d~n tren vi d~ tren cho biet r~ng
dang xem mQt tai li~ll index.html, trong thl( ml}c windows.
Cae giao thue khac "hall dilllg trong URL


Chl/dllg 1. Ng{Jllllgil' H1ML

Trallg 7

HTTP la mQt giao therc thl(Ong duc;c dung nhi~u nha't trong vi~c truy C?P
cac trang HTML.
URL.

Dl(di day la rnQt vai giao th((c khac co th~ dung trong

Cac giao th((c chornQt URL
Giao thuc


Tai li~u tru

http://

Tai li~u HTML

https://

Tai li~u HTML dUQc bao m?t

files://

Tai li~u HTML tren ma C~lCbQ

ftp://

Site FPT va cac t?P tin

gopher://

NIemi Gopher va cac tai li~u

news://
mailto:

Nhorn
Server

telnet:


Thong di~p E-mail
Trll

1.2
-.

tin

rna

UseNet

tren

mQt

News

til xa.

Thie't ke'trang Web

1.2.1 T~o mQt trang HTML
Hfru he't cac l~nh trong HTML d~ll la cac tag (ky hi~u hay the di danh
di{u) ghi chli len cac van ban d~ sau nay chuang trinh bi€t phai lam gi vdi
van ban.MQt tai li~u HTML g6rn hai phfrn rieng bi~t phfrn dfru (HEAD) va
phfrn than (BODY). Ph5n d~ll clla tai li~u HTML la tVa d~ cua trang,Ph~n
than la phfrn trinh bay cac dO~lll van bcln ho~c cac hinh anh.f)uc;c


htu dudi

d?ng tai li~u text, vi v~y d~ gilip cho trlnh duy~t Web bi€t day la mQt tai
li~u HTML cfrn phai them tag rna va dong cua HTML, Lu'u van ban vdi
duoi html,htm

Vi d~:
t
<HTML>
<HEAD> <!--Tag me)' HEAD, day lelphdn etdu -->
<TITLE><!--Tag Title eita HTML, etc'iy la tieu d~ eho HTML-->


Clutdng 1. Ngon ngfl HTML

Trang 8

Tai li~u HTML<!--Ten dta tai li~u-->
</TITLE> <!--Tag c1c5ngTitle-- >
</HEAD> <!--Tag dong HEAD -->
<BODY>
Day fa trang HTML
</BODY>

m6 -->


1.2.2 MQt s6 HTML tag
Comment tag (tag

clut thfch)

.

Cac phfrn nam trong <!-- va --> la cac phfrn chu thfch

Tag <HTML><JHTML> dung d~ bao cho trinh duyt%t Web bie't day la
tai lit%uHTML

Tag
Tag
Tag
Tag
Tag

<HEAD><JHEAD> dfru HTML
<TITLE> <JT1TLE>tieu d~ trang HTML
<BODY><JBO])Y> than trang HTML
<BASE> dLWg d~ t~o c,lc URL tlTong d6i.
<META> nhlT la mot the phan lo~i Web site - thong qua tag nay co

th~ d(p cho cac search engine nhling til khoa va noi dung. Th?m
cling co th~ du'<;1cdung d~ n~p tlj dong nhling trang Web moi.
--

chi no


Ch(Jn FONT cho dO(l1lwlll ball
Tag <JFONT>

FACE

="Name"

SIZE="value"

COLOR="value">

Tag <FONT FAc.E = "Name"> ... <JFONT> dl}t Font cho van ban.
Kich th1iac FOllt va mall.
Tag <FONT SIZE=vallle> <JFONT>dl} t kfch thu'oc Font.
Tag <FONT COLOR=vallle><JFONT> dl}t mau cho Font.
EJjllh d(lllg van ball
Tag
Tag
Tag
Tag
Tag

<EM> lam n6i b~t van ban
<STRONG> lam n6i b?t van b,ln voi ki~u in d?m
<1> <JI> dlnh d~ng van ban nghieng
<B> <JB>dlnh dC;lngvan ban d~m.
<U> <JU> dlnh d~ng van ban gC;lchchan.



Chlidllg 1. Ngoll Ilgil HTML

Trang 9

Tag <PRE> <lPRE> dinh d~ng van ban tho (trlnh duy~t hi€n thi ke't
qua gi6ng nhu van ban g6c).

Tag <.BR> cho vi~c ngat dong.
Tag <HR> cho vi~c t~lOduang ke ngang
Tag <.BLOCKQUOTE> <lBLOCKQUOTE>

dinh d~ng do~n van thl;lt

vao dfiu dong.

Tag <P> <lP> day la mQt do~n.
Tag <IMG SRC="image_URL">

chen rnQt t~p tin hinh anh len trang

Web
Can chinh phfin chIT va hinh anh ALIGN.
va van ban tfch hQp l~li voi nhau.

ALIGN

quye't dinh hinh anh

<1MG ALIGN=value SRC=image_URL>

Cac gia tri cua ALIGN
Gia tr,i
TOP
MIDDLE
BOTTOM

If nh floatillg
HTML 4.0 dlta ra nhi~ll tri. ALIGN hon , vi the- co them mot. kieu rnoi
gQi la floating. Khong con anh tren rnQt dong nITa rna hinh anh nay dVa
vao rnQt trong cac c~nh, va phfin chIT thi phll dQC theo chi~u cao cua anh.

<P><IMG SRC= "myimage.gij" ALIGN=RIGHT>Anhjloating
se lam
ddy cac dong van ban theo chdo cao nta anh, rna no dlJa VaG mtlt trong
cac qmh va phdn chao'<IP>
?

Dung cac thuQc tinh VSPACE, HSPACE de dinh nghIa vung tren va
dl(oi rnQt anh floating.

Vall blul thay the:
HTML cung ca'p c&u truc ALT de dinh nghIa rnQt do~n chii' thay the-cho
anh khi khong load dl(Qc anh.

<IMG SRC= "myimage.g~f" ALT= "Anh cua toi">
Chieu rQng va cao ella anh cling dang dl(QC de c~p, do la WIDTH and
HEIGHT no giup cho Web site hien thi nhanh hon


Chlidng 1. Ngon ngii' HTML


Trang 10

Lien kef va URL
HO{lt dl)ng ella cae lien kef
Tren Web cac sieu lien ke"tla n€n tang clla ta't ca cac ho~t dQng va thao
taco Khi nh~p len mQt lien ke"ttren m~ng Web, thu'ong no chuy€n de"n mQt
tai nguyen co lien quan. 86i khi no rna ra mQt trang moi, d6i khi no cling
la mQt djch Vl;lclla internet.
URL tztdng dOl va tlly~t dOl
Ne'u URL tro de"n trang thuQc cung site voi trang hi~nhanh, chi khac
nhau ten t~p tin, thl co th€ dung mQt URL tltdng d6i d€ tham khao de'n
trang do. Xet hai trang sau.
/> iew/resume.h tml
Ca hai URL nay la URL tuy~t d6i. Bay gio ne"u t~o mQt sieu lien ke"t
tren trang d~u tien (index.html) de"n trang thu hai (resume.html) thl co th€
dung URL tu'dng d6i. C6 th€ dung URL tlly~t d6i d€ tham khao de'n trang
ba't ky nao. Khi trlnh duy~t Web g?P mQt URL tltdng d6i (kh6ng xac djnh
r5 rang) thl trlnh trlnh duy~t nay se xem nhlt m?c dinh la thu' ffil;lChi~n
hanh va URL nhltng voi mQt t~p tin moi.
Cae lien kef.
•...

Lien ke"t Wi mQt trang khac.
8€lien ke"t Wi mQt tai li~u HTML dung m~ll:
. <A HREF = "URL">Put your link text here<fA>
ho?c co th€ dung hlnh anh lamJink
<A HREF = "URL"> </MG SRC= "image_URL"> <fA>
Lien kef tren eiuzg 11l9ttrang.
8€ lien ke"t tren cllllg mQt trang dllllg mQt ky tV #:

<A HREF = "#name> Text your link <fA>
Nhu'ng d€ de'n dlt<;jCdrch thl phai them drch de"n vao trong tai li~ll. T~o
drch de'n trong tai li~u dllllg tag
<:ANAME= "#name> ...<fA>
Cae sieu lien ktt Internet


Chzidllg 1. Ngollngil HTML

Trang 11

Lien ke't de'n dja chi' E-mail: Bua lien ktt e-mail vao trang web mQt
ca lch d~ dang, chi' cdn c1ia chi' e-mail hQpl~.c1ia chi' nay c1LtQC
t~o bdi bon
phfin: username, dall @, ten may chlJ, va ten domain.
Vi dl;! :

<A HREF = "mail to: "> Send me mail ! </A>
T~o lien ke't de'm mQt FTP (File Transfer Protocol) site
<A HREF= " />My
programe </A>
Gopher Server: tL(ong t~t nhLt Web nhLtng kh6ng h6 trQ v~ multimedia
<A NAME= "gopher://l71arvel.loc.gov"> The library of Congress </A>
Truy d)p tii xa v6'i Telnet
<A HREF = "telnet://mycomputer.cOln/">Logon to my computer</A>
N{lp trang t~tdl)llg
Dung tag <META>

va cac thuQc tinh clla no c1e cho phap n~p trang


HTML khac sau mQt khoa ng thai gian c1inh truoc. sa dl;lllg tag (reload)
n~lp l~i ho~c (refresh) c1e lam tLtoi l~i t~li li~u ...
Tag <META> co hai thllQC tlnh HTTP-EQUIV
dl;lllg trong phfin c1fiuella tai li~u.

va CONTENT

<HTML>

</HEAD>
T~o danh sach
<LIST TYPE>
<LI> First list
<LI> Second list
<LI> Third list
</LIST STYLE>
Danh sach co th{i hi va khong th{i tt.i
Co tlg( tif.

<OL>
<LI> First list
<LI> Second list

c1e

c1uQCsa


Chztdng 1. Ngon ngii: HTML


Trang 12

<LI> Third list
<IOL>
Khong thu tl!.
<UL>
<LI> First list
<LI> Second list
<LI> Third list
<IUL>
T{lo bang
<Table> ...</Table>

1.2.3 Djnh d~ng bang
MQt bang trong HTML bao g6m cac cQt va cac hang. Cac hang va cQt
giao nhau g9i la cell, cac cell co th~ chua van ban ho~c cac thanh phftn
HTML khac. Tag chfnh la <TABLE>,

tag nay dung d~ bao cac hang <TR>

va cQt <TD>. Cclc bang dang rieng cho m6i cQt mQt tieu d~ clla bang, tieu
d~ nay thuong dung d~ Ia m ten g9i cho cac dong va cQt.
Cac bang co de;tng:

'.

<TABLE>
<CAPTION> Cation textfor table <ICAPTION>
<TR><TH>Column J</TH><TH>Column 2 </TH> < TH> Column 3

</TH>
<TR><TD>row 1 data 1</TD> <TD> row 1data 2data 3</TD>
</TABLE>
Cac thuQc tlnh clla b~lng:

WIDTH

va ALIGN

c1~t~lOmQt bang co oQ rQng du<;1cxac dinh tntoc va
cho phep mQt b,lng c1LrQc canh chinh hang ben trai, ben phai hay CJ giua. Vi
d~t : <TABLE WIDTH = 50 ALIGN = CENTER>

COL

va BORDER

d~ bao cho Web Browser bie't co bao nhieu cQt, giup

cho Web Browser ve nhanh. ThuQc tlnh BORDER
dlrong vi~n clla bang.

d~ thay d6i dQ day clla


C/utdng 1. Ngon ngii' HTML

Trang 13


BORDER=S ALIGN=CENTER


<TR><TH>Sinh
Vien</TH><TH>Di€m
<!TH><TH> Trung blnh</TH></TR>
<TR><TH> Khai</TH><TD>

WIDTH=SO>
l<!TH><TH>Di€m

7 </TD><TD>8

2

</TD><TD>6.S </TD>
>
<TR><TH> Trang</TH><TD>8</TD><TD>9</TD><TD>8
•....
R>

.5</TD>
<TR><TH> Khanh</TH><TD>6</TD><TD>8</TD><TD>

7 </TD>
>

</TABLE>

CELLPADDING vel CELLSPACING d€ chi d!nh r5 khoang trang cac cell
trong bangva
trong.

chI r6 kho:lng each giua cae vaeh cua cell va nQi dung ben

Nh6m eac celll~i
COLSPAN

voi nhau.

va ROWSPAN

d€ rna rQng mQt cell ra hdn mQt cQt.

D~t mau n€n cho bang
ThuQc tfnh BGCOLOR eho phep d~t mall n€n cho cac tag <TABLE>,
<TD> va <TR>
Load cac Applet:

<Apllet Code = "URL" WIDTH=#Value HEIGHT=#Value>

</Applet>
Trong Internet

Explorer d€ load cac apllet chlta swing


cOdebase= .2.2/iinstall-l 2 2win.cab#Version= J,2,2,0
width = #value
height = #Value>


</object>


Chzldng 1. Ngon ngil'HTML

Trang 14

E>6i voi Netscape Nevigator :
pluginpage= ''http://iOl'a.sun.col1l/products/plugin/l.2.2/;install-1-2
. . b#V erSlOl1=
.
1 ._._,
0) ? 0"
wzrz.ca
code = "URL class"
width =#Value
height = #Value>

-2-

</embed>

Tom tiit : Ch-lidng JULY gio'i thi?u vi ngon ngft HTML dung di thie! kt
trang Web. HyperText WI HyperLink cac sieu lien ke! va cac dja chi URL

di xac djnh cac tai nguyen tren m{tng, va cac giao thllc tren m{tng co thi
t{to sien lien ket. Cach thie! kt mf)t trang Web va cac tag cd ban cua
HTML dilng trong thief ke:

-.


Clutdng 2. GifJiThi~ll IDBC - Ket

Noz Cd Si'JDrt Li~ll

Trang 15

ChIidng 2.

GIOI THIEU
.

VE JDBC

,,:'

?"..".

"""",'"

KET NOI
2.1

A


CO SO CD LIEU
. .

Cae trinh di~u khi~n JDBC
Tren mo hlnh client/server

chung ta cgn mot database

c~ p de'n cd sCidIT lit%udu<;1cqucln lu bCii mot database

server.

client d~ truy
Cac database

client chfnh la nhhITng chudng trlnh do nguoi slr d~Ing vie't ho?c mot ht%
quan tri cd sCi dIT lit%unao do nguoi Slr d\lng dung trong vit%c truy xua't dIT
lit%u. Database server nay chfnh la mot ht% qucln tri cd sCi dIT lit%u. Mot
database chi truy c~p de'n database server tUdng ling voi no. Tuy nhien, do
ngay cang co nhi~u database

server va cac ht%quan tri cd sCi dIT lit%ukhac

nhau, ch£ng h?n nhu Oracle, SQL Server, MySQL, mSQL, Informix,
FoxPro, Access, .v.v ... Til hang Microsoft da dua ra mot chudng trlnh di~u
khi~n

chuin


d~ ke't n6i giG'a database

ky gQi la ODBC Driver
tren moi trildng Windows.
Administrator,

client voi mot database

(Open Database

Connectivity

Driver)

server ba't
- lam vit%c

Trlnh di~u khi~n nay gQi la ODBC Data Source

d~ quan ri cac cd sd dG' lit%u co tren Windows,

nguoi

slr

d~Ing ke't n6i de'n rna khong phai quan tam do la ht%quan tri cd sCi dIT lit%u
nao. M6i ht%quan tri cd sCi dIT lit%uphai cung ca'p mot ODBC Driver tlrdng
ling kern theo ht%quan tri cd sCi dIT lit%u, d~ qua do nguoi slr d~Ing co th~
truy c~p de'n mot cd sCidITlit%udu<;1ct?O ra.
Khi nguoi slr dl,Ing dung ngon ngG' Java d~ xay d~rng cac database

client cho rieng mInh, nhung do Java co th~ am vit%c tren cac n~n tang ht%
di~uhanh
khac nhau : trlnh di~u khi~n ODBC khong th~ dap ling du<;1c
theo tinh thgn cua ngon ngIT.Java. Chfnh VI v~y, hang Sun phai dua ra mot
trlnh di~u khi~n tUdng tv ODBC gQi la JDBC (Java Database Connectivity)
d~ cho phep til database client du<;1cvie't b~ng Java co th~ truy c~p de'n
mot cd sCidG' lit%utuy y nao do.
£)?C di~m cua JDBC
nhITng goi khac. Truong

Driver

la mot package

h<;1pdung applet

vie't b~ng Java

nhu

d~ truy c~p dIT lit%u, trlnh di~u


Chzldng 2. GiUi Thi~ll JDBC - Kef N6z Cd SlJ Dil Li~ll

Trang 16

khi€n JDBC se dUQcn~p VaGmay client khi Chl(dng trlnh th11cthi cung voi
applet. Khi do applet co th€ truy c~p cd sd du li~u, ngay ca khi c~n truy
c~p cd sd du li~u tren may client bdi applet, chung ta cling co th€ th11chi~n

dl(QCb~ng cach dung JDBC Driver clla may client nay.
Hang Sun dua ra 4 lo~i trlnh di~u khi€n JDBC khac nhau:

sa

• Lo~i I: Trlnh di~u khi€n JDBC - ODBC day la trlnh di~u khi€n
dl;lng
trlnh di~u khi€n ODBC clla Microsoft d€ co th€ ke't noi voi cd Sd du
li~u til Java. Voi trlnh di~u khi€n nay chung ta co th€ truy c~p de'n cac
cd sd du li~u co tren may voi h~ di~u hanh Windows. Chudng trlnh Java
nhanh chong lam vi~c dliQc voi cac cd sd du li~u thong qua trlnh di~u
khi€n ODBC clla Microsoft co san. Khi dung trlnh di~u khi€n nay, rang
bUQcla tren may client phai co trlnh di~u khi€n ODBC.
• Lo~i II: Trlnh di~u khi€n JDBC truy c~p cd sd du li~u thong qua giao
thuc d~c thu clla cd sd df( li~u voi mQt ph~n Java (Native - API partly
Java driver). Day la cach truy c~p de'n cd sd du li~u b~ng Java nhu cach
lien l~c thong qua database client. Do trlnh di~u khi€i1 nay co mQt ph~n
khong phai la rna byte. Nen khi
dl;lng tren may client cling phai co
giao thuc d~c thu clla lo~i cd sd dii' li~u.

sa

• Lo~i III: Trlnh di~u khi€n hoan toan b~ng Java dung giao thlic chu5n
(JDBC - Net pure Java driver). Voi trlnh di~u khi€n nay, chung ta co
th€ dung no d€ truy c~p de'n ba't ky mQt cd sd du li~u nao nhl( la mQt
c~u noi giii'a database client voi mQt database server.Trlnh di~u khi€n
nay giong nhu JDBC - ODBC, nhung s11khac nhau do la khong c~n de'n
no khi dung applet d€ truy c~p cd sd dii' li~u, va khong nha't thie' phai co
Windows tren client va server.

• Lo~i IV: Trlnh di~u khi€n hoan toan b~ng Java dung giao thuc d~c thu
(Native Protocol pure Java driver). Day la trlnh di~u khi€n tudng t11lo~i
co mQt ph~n Java, nhung d day chudng trlnh di~u khi€n vie't hoan toan
b~ng Java (d~ng rna byte), nen khong c~n phai co gl tren client nhu lo~i
III hoan toan b~ng Java voi giao thlic d~ thu.
Hai lo~i I, II mang tinh ch~p noi d€ nhanh chong dung Java voi cac trlnh
di~u khi~n khac khong phai Java. Day khong phai la giai phap t6t cho cac
ung dl;lng Java. Nhung nguoi vie't chlfdng trlnh ke't n6i va cac nha san xua't


C/utdng 2. Gi8i Thi~ll IDBC - Ket Not Cd SlJ DZl Li~ll

Trang 17

database server da nhanh du'a ra cac trlnh di~u khi~n thu~n - hO~llltoan
b~ng Java (pure Java) - hai lO'.liIII va IV - d~ phat tri~n nhung ling dl;lng
tren Java mang d~y du ban cha"t Java la khong phl;l thu9C h~ th6ng, vi€t
m9t l~n ch'.lYm9i noi (write once, run anywhere).

2.2

Kie'n true ella JDBC~

2.2.1 T6ng quan v~ JDBC

o

Blnh 2.1 M6 hlnh JDBC

JDBC lam vi~c voi ba cong vi~c chinh.

• Thie't l~p mQt ke't n6i voi database.
• Gdi phat bi~u SQL
"-

• Process tnl vS ke't qua.

2.2.2 Kie'n true JDBC
JDBC API chlta dlfng hai quy€t dinh quan tr9ng cua b9 m;)t giao
di~n, m9t la JDBC API cho application writer ,th(t hai la mltc tha"p han
JDBC di~u khi~n API cho cac driver writer. Cac ling dl;lng va applet co th~
truy c~p database theo du'ong JDBC API sa dl;lng thu~n Java JDBC driver
nhu' hlnh du'oi.


Clllldng 2. GifJi Thi?u JDBC -

Kef Not

Cd SlJ Dtt Li?u

Trang 18



1

2

Hinh 2.2 Ma hinh Java Applet / Aplication
1. Direct-to-Database


ktt n6i dtn co sd du74 lit%u.

Pure Java Driver. Day la ki€u di~u khi€n chuy€n Wi

gQi JDBC dtn network protocol slt d1;1ngtr~tc titp bdi cac ht%quan ly co sd
dIT lit%ucho phep thua nh?n tn!c titp Wi gQi tu may client dtn ht%quan ly
co sd dITlit%ud may ph1;1CV1;1va cung dip thitt thl.;l'Cdap an cho vit%ctruy
xua't.
2. Pure Java Driver for Database
JDBC gQi vao middleware

Middleware:

Day la driver chuy€n sang

vendor's protocol,

sau d6 n6 chuy€n sang nghi

thl1c ht%quan ly co sd dii' lit%ubdi rniddleware
ktt n6i dtn nhi~u database khac nhau.

server. Middleware

cung ca'p

Hinh du'di rna tel JDBC ktt n6i sit d1;1ngODBC driver va ktt thuc database
va thoat khoi database thu' vit%nclient.



Cluidllg 2. GifJi Thi?u JDBC - Ket Nfli Cd SiJ Dz7Li?u

Trang

19

/
1

2

Hinh 2.3 Mo hlnh Java Application ke't n6i a€n cd sCi du li<%uthong qua c~u
n6i JDBC -ODBC
1. JDBC-ODBC Bridge plus ODBC Driver: Hang Sun cung cffp rnQt cffu
n6i JDBC truy c~p qua auong ODBC driver. ODBC la rna nhi phan va
trong nhi~u truong hd~lllg driver nay. Day la IO(;lidriver chie'rn h~u he't tren aoan th~ network
ndi rna client cai a~t thl khong chuyen, ho~c la cho application server ghi
xu6ngJava 3 lu6ng ke'n truc.

sa

2. Native-API Partly-Java Driver: Day la Driver thay a6i Wi gQi JDBC vao
client API cho Oracle, Sysbase, DB2, ho~c cac h<%qmin tri cd sCi du li<%u
khac va aoi hoi rnQt so' cac rna nhi phan a~ load tren rn6i may client

2.3 Ktt n6i cd sd du Ii~u
2.3.1 ODBC (32 bits)
Gia sa co cd sCi du li<%udu



Clllldllg 2. GifJi Thi~ll JDBC - I{.et Nili Cd SlJ Di7Li~ll

Trallg 20

Hioh 2.4 Cd sd dl1'li~u Example .mdb voi Table
la Nhan Vien te;tobdi Microsoft Access

Tnfoc khi co th~

sa d\lng

ODBC cho CSDL thl no cftn phai dUQc dang ky

voi h~ di~u hanh. Vi~c dang ky dUQc thlfc hi~n qua cac buoc sau:
Md caa s6 Control Panel (Start -7 Setting -7 Control Panel)
ChQn bi~u tUQng ODBC(32
(hinh 2.S).

bits), mQt hQp tho~li khai bao se md ra nhu

Trong hQp hQi thoe;ti, bang User DNS hi~n thi cac ngu6n CSDL da dUQc cai
d~ t trong h~ th6ng.
ngu6n dl1'li~u moi.

Nha'n phim chuQt tren button

Add ..., hQp thoe;ti te;tO


Sau khi nha'n button Add ..., hQp thoe;ti t:;l0 ngu6n dl1' li~u moi (hlnh 2.6) cho
phep chQn trlnh di~u khi~n cho CSDL
Microsoft Access Driver (*.mdb)

ta xay

dlfng.

(j day ta chQn


C/utdng 2. GifJiThi~ll IDBC - Kef No? Cd SlJ Dr, Li~ll

Trang 21

Hloh 2.5. HC)p tho(;li qmln ly ngu6n CSDL eua ODBC

Hloh 2.6 HC)p tho(;li t(;lo ngu6n dG' li~u rnoi


Chzldng 2. GifJi Thifll IDBC - Ket NOl Cd Sd DiCLifll

ODBC Microsoft Access 97 Setup
Data SOUfce Harne:

__ L

,..'

:_.


It

Trang

~

22

ll3

DataVidu

moh 2.7. HQP th0'.li dti d~t ODBC Microsoft Access

T,.li hQp sO<;lnth,lo Data Source Name hay nh?p sau DataVidu, ta se duqc
SLt dl;1ngd~ chi c1anhcho CSDL khi chung ta t'.lOchuang trlnh. Bay giO ta
nh~p phim chuQt len tren button Select... hQp th0'.li chQn t?P tin dltqC md,
t'.li day ta chQn Example.mdb va ke"tthuc b~ng Button OK.

2.3.2 Ke't n6i cd sddii' li~u
Bay gio ta co th~ truy C?P co sd da li~u voi ten DataVidu d~ hi~n thi cac
thong tin v~ co sd da li~u nay ra man hlnh bdi chuang trlnh Java nhl( sau:
//Applet _JDBC _ ODBCjava
import java.awt. *;
import java.sql. *;
import java.applet. *;
import java. awt. event. *;
public class Applet_JDBC_ODBC extends Applet
{

Connection conn,'
TextArea display,'
static Applet_JDBC_ODBC applet,'
public void initQ
(
setLayout(new BorderLayoutQ);


Chztdng 2. GifJi TJzi~1liDBC - Ktt N{/i Cd SlJ Dz7 Li~ll

Trang 23

ScrollPane pane = new ScrollPaneQ;
display = new TextArea(l 0,50);
pane.add(display);
add(pane);
try {
Class jorName("sunjdbc. odbc.JdbcOdbcDriver'');
conn =
Driver M anager.getConnection (''jdbc: odbc :Data Vidu '');
DatabaseMetaData meta = conn.getMetaDataQ;
}
display.append("URLjor Database:
It"+meta.getURLQ+ "In'');
display.append(" Database:
It"+meta.getDatabaseProductNameQ+ "In'');
display.append("Version:
It"+meta.getDatabaseProductVersionQ+ "In'');
display. appen d(' User Name:
It"+meta.getUserNameQ + "In '');

display.append("Driver: It"+meta.getDriverNameQ+ "In'');
display.append("Driver Version:
It"+meta.getDriverVersionQ+ "In'');
conn. closeQ;
}catch(ClassNotFoundException e) (
Ilfor NameQ
display.append("Error -> initQ : It"+e.getMessageQ+ "In'');
}catch(SQLException e){
Ilfor getMetaDataQ
display.append("Error -> initQ : It"+e.getMessageQ+"ln'');
}

}}
D6i tUQng clla lOp Class lien ke't vdi mQt lOp dia chi dinhdlidi
Class.forName(
"sun.jdbc.odbc.JdbcOdbcDriver"
);

d£;1ng:

Qua do d~ bie't co trlnh di~u khi~n khong. Th1.fc cha't clla cong viec nay la
nC;lptrlnh c1i~u khi~n JDBC vao may. Sau khi trlnh c1i~u khi~n da dUQc n£;1p,
hanh vi getConnectionO
clla Idp dich Vl;! co ban c1~quan ly cac trlnh c1i~u
khi~n JDBC ( lOp DriverManager
) c1liQCgQi c1~thie't l?p s~i ke't n6i c1e'n

URL cua co sd dil' li~u chi c1inh. Cac thlic th~iC hi~n cho bdi dong l~nh.
conn = DriverManager.getConnection(


" jdbc:odbc:Data

Vidu" );


Chlldng 2. Gifli Thi~ll IDBC - Kef NOl Cd 511Drt Li~ll



Trang 24

trong d6 URL eua mQt database e6 d~ng jdbe:subProtoeol:subName,
subName la ten eua ngu6n dG'li~u ( Data Source Name ).

voi

8~ bi€t I;' lieh eua dG'li~u sau khi k€t n6i, ta g9i d€n hanh vi
getMetaDataO e6 trong lOp Connection. Ham nay tra v~ mQt
DatabaseMetaData khi d6 egn bi€t v~ nhG'ng thong tin database, ta su dlfng
cae hanh vi tuang ling. Chgng h~n, voi getURLO d~ eho bi€t URL eua
database, getDriverNameO d~ eho bi€t ten eua trlnh di~u khi~n JDBC la
gI, v.v ....

Chuang trlnh AppleCJDBC_ODBC.java
thlfe hi~n voi k€t qua dung
Web Browser (hlnh 2.8.).
<html> <head>
<meta name="generator" content="ModeIWorks IDE">
<title> Applet _JDBC _ ODBC</title>
</head> <body>

Test Applet_JDBC_ODB C</h 3> <hr>
code =Applet_JDB C_ODBC. class
width =400
height= 150> </applet> <hr>
</body> </html>

URL for Database:
jdbc:odbc:DataVidlJ
Database:
ACCESS
Version:
3.5 Jet
User Name:
admin
Driver:
JDBC-ODBC Bridge (ODBCJT32.DLL)
DriverVersion:
1.1001 (03.51.1713.00)1

moh 2.8. K€t qua thve thi b~ng Web Browser