You are on page 1of 105

http://kilobooks.

com
TH VIEN IEN T TRC TUYEN

KIL

OBO

OKS

.CO

M U

PHN 1

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
CHNG 1
WEBSITE T 1 GC NHN.
Con ngi lm nn th gii loi ngi

Website lm nn th gii Internet

Con ngi tn ti vi mc ch cung cp gi tr m mnh c phc v cuc

.CO

sng. c th l ti nng, l sc khe, l tr tu, l tnh yu cng vicc trong


mi con ngi.

Website tn ti vi mc ch cung cp thng tin, kin thc, cung cp dch


vphc v con ngi, lm tng gi tr, tho mn nhu cu hiu bit ca con
ngi. Thng tin - c th l tnh hnh kinh t ca mt quc gia no hoc mt
khm ph mi nht ca nhng nh nghin cu v b gen ngi... Kin thc - c

OKS

th l kin thc v marketing trn Internet, v chm sc cy cnh hoc n gin


ch l nhng dch v phc v nhu cu gii tr, trao i, lin lc ca con ngi.
V v con ngi l ch ca th gii ny nn con ngi l ch ca Website,
ca Internet. Cng nh con ngi to ra xe gn my phc v nhu cu i li
nhanh chng v tin li ca h th h cng to ra Website, to ra Internet nh mt
phng tin truyn thng vi nhiu u im hn so vi nhng phng tin truyn

OBO

thng khc cng phc v chnh mnh. V vi Website, thng tin mang tnh ton
cu khng bit phn bit thi gian v khng gian.
Cng ging nh con ngi: ng c, a dng v phc tp. Website cng
rt phong ph, a dng, phc tp v nhiu na. Trn th gii hin nay c khong
73 triu Website v mi ngy con s Website tng thm l 4000.
L mt c th tn ti trong cuc sng bn phi bit cch t th hin mnh

KIL

sao cho ngi khc bit n nhng gi tr ca bn. Khng phi khoe khoang m
nhng gi tr nh tui tr, tnh yu, lng nhit thnh, tri thc c c c hi
s dng, nu khng chng s qua i mt cch v ch m khng c iu kin cng
hin cho x hi. V nh vy, t th hin cng l mt trong nhng iu ng c
quan tm.

Nhn t mt gc khc, Website cng vy. Trong ci th gii Internet vi


hng triu Website, ngi xem khng th bit n Website ca bn nu Website

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
khng bit t th hin mnh, ngi xem cng khng th nh n n nu n
khng c g ng cho h nh n.
Ni nh vy l lu mt iu khi c nh to ra mt Website ta nn

ngh n phi lm g thu ht nhiu ngi ving thm n, cng nh phi c


chin lc qun l v pht trin nh th no mi ngi lun mun tr li trang

KIL

OBO

OKS

.CO

Web ca bn vo nhng ln sau.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
CHNG 2
WEBSITE CA MT TRNG I HC C TH MANG LI

NHNG G?
Tu theo quy m, mc ch v i tng m mi Website ca trng i
hc u c s khc nhau. Nhng xt mt cch tng qut, Website ca mt trng

.CO

i hc ni chung c th mang li:

1. Nhng thng tin c h thng, chi tit v kh y v trng.


- Thng tin chi tit v : quy m, a im, lch s, truyn thng, c s vt
cht, hot ng, c cu t chc ca trng, cch lin h, tip xc, cc ti nguyn
khc nh th vin, phng nghin cu, vin bo tng, rp ht ca trng

OKS

- Thng tin chi tit v : cc kho hc, cc bc o to, ging vin, thi kha
biu, nhng n phm m trng xut bn, nhng cng trnh nghin cu ca trng,
nhng t liu v nhng bi lun tt nghip ca sinh vin
-Thng tin chi tit v : sinh vin ca trng, v hc bng, cc ngun bo tr
v cc qu h tr ti chnh cho sinh vin, nhng c hi lm vic, hun luyn, o
to ti trng.

OBO

-Thng tin chi tit v : im thi, lch hc, nhng tin tc, thng bo mi cng
lch ca nhng s kin v hot ng sp ti s din ra ti trng.
Ti cc trng i hc ni ting M nh: New York University,
Berkeley, Cambridge, Harvardth hu nh vi bt c mt nhu cu tm kim
thng tin no lin quan n trng ta c th ngh ngay n vic gh thm Website

KIL

ca trng ny.

2. Nhng kin thc c gi tr:


c th l kin thc ca mt bi ging trc tuyn trn mng, nhng kin
thc lin quan n n Sinh vin - Hc sinh nh: cch lm ngi, cch t hc,
cch kinh doanh, cch thnh cng p ng nhu cu hiu bit cc kin thc khc
ngoi nhng kin thc b hp trong ging ng.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
3.Nhng dch v, tin ch
- Thng qua Website n vi nhng Website c gi tr khc.

- Gi yu cu n trng t xa.
- Tm kim in thoi v a ch email ca nhn vin hay sinh vin trong
trng cho nhng mc ch khc nhau.
- Tho lun, trao i, to hp th in t ring, gii tr, thm ving
Tm li, Website c th mang li tt c nhng g gip tha mn nhu cu

KIL

OBO

OKS

.CO

lnh mnh ca i tng SV-HS.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

CHNG 3

NHNG L DO A N VIC XY DNG WEBSITE


I HC HNG VNG

1/ Vi nguyn tc :xem sinh vin l i tng chnh ca qu trnh o to

.CO

v sinh vin t hc, t nghin cu l chnh, xy dng Website vi i tng


phc v chnh l SV - HS (cung cp thng tin, kin thc) s l mt hnh ng
thit thc nhm th hin nguyn tc ny.

2/ Tip tc gi vng mc tiu c xc nh ngay t khi thnh lp

i, va mang tnh Vit Nam.

OKS

trng l : Gp phn xy dng mt nn gio dc i hc va mang tnh hin


C th thy trong nhng nm qua trng lun l ni i u trong vic bo tn
v pht huy vn ho dn tc. C th: trng phi hp t chc 2 hi tho c tnh
quy m ln l:

Bn sc Vit Nam trong n ung c t chc ti Khch sn Mejestic


tham lun v bo co

OBO

vi hn 20 nh nghin cu, nh khoa hc trn lnh vc vn ho, lch s ng gp


Bn sc Vit Nam trong m nhc vi s c mt ca 200 quan khch l
nhng nh nghin cu, Gio s, Tin s, Nhc scng c t chc ti Khch
sn Majestic, v ln u tin em mn m nhc dn tc do Gio s- Tin s
Trn Vn Kh ph trch vo ging dy chnh kho cho sinh vin khoa Du lch
Nh vy, xy dng Website cng l mt trong nhng hnh ng c th thc
hin mc tiu gp phn xy dng mt nn gio dc hin i.

KIL

3/ Cung cp thng tin v trng mt cch c h thng: Gio s hiu


trng Ng Gia Hy trong bi pht biu ti l Tng kt 5 nm hot ng ca trng
c cp n vn huy ng s gip trong tng lai ca x hi pht
trin trng ngy mt vng mnh. Thit ngh vic xy dng Website vi nhiu
thng tin chi tit, c th, chnh xc, s gip x hi hiu r hn v con ng m
trng Hng Vng chn, hiu c ci tm ca nhng ngi sng lp, nhng
ngi i u, m ng v dn dt trng trong nhiu nm qua. Nhng con ngi
m khng nhng xng ng c knh phc v ti nng m cn c v c .

http://kilobooks.com

KIL

OBO

OKS

.CO

TH VIEN IEN T TRC TUYEN

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

CHNG 4
MC TIU TI

Qu trnh xy dng, qun l v pht trin Website l mt qa trnh lu di,


phi i tng bc mt, v khng th ch lm mt ln l xong. Website phi c

.CO

pht trin theo qu trnh hon thin dn dn, p ng nhu cu ca ngi truy
cp.

Chnh v th trong giai on u ny chng ti t mc tiu cho ti nh


sau:

1/ Cung cp thng tin mt cch c th v c h thng v trng.


T mt thc t khng th ph nhn l mt s lng khng t sinh vin ni

OKS

chung v sinh vin ca cc trng H dn lp ni ring rt th vi nhng thng


tin v trng mnh ang hc. D l nhng thng tin cn bn nht nh: tn ch,
ng li, mc tiu ca trng, cc phng ban lin quan n nhng vn thit
thc ca sinh vin nh: Phng Cng tc sinh vin, Ban Bo tr sinh vin, B phn
t vn Ngh nghip v Vic lm ca trng, cc khoa m trng mnh o
toRi khi c vn rc ri h khng bit phi i u, tm ai gip gii

OBO

quyt. Mt cu chuyn c tht: c mt sinh vin hc n nm 3 cng khng bit


hiu trng ca trng tn g, c bn n lc sp thi gp kh khn trong vic ng
hc ph phi hi ti hi lui rt cht vt mi bit c Ban bo tr sinh vin ca
trng c th gip .

C th hiu c iu l do iu kin c s vt cht ca trng cn thiu


thn khng th hc tp trung m phn tn cc khoa ti cc a im khc nhau nn

KIL

sinh vin hc nhng a im m xa c s chnh rt ngi ln trng nu khng


c nhng g bt buc nh ng hc ph, ng k thi, h hu nh khng bao gi
tham d nhng ngy l, nhng hot ng ca trng nn thng tin h bit v
trng rt t.

Chnh v l mc ch quan trng u tin t ra cho vic xy dng


Website l cung cp thng tin cho nhiu i tng khc nhau.
2/ Cung cp kin thc:

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Gip sinh vin ni chung v sinh vin Hng Vng ni ring c th hiu
c mc tiu Gp phn xy dng mt nn gio dc i hc va mang tnh hin
i va mang tnh Vit Nam m trng Hng Vng ra.

Mt sinh vin t khi bt u bc chn vo ging ng i hc ci quan


trng u tin l phi hiu r mc tiu o to m trng i hc mnh ang hc

.CO

chn la v l do ca s chn la ? T s to nhng thi ng n trong


hc tp v sinh hot ngoi kho.

Chnh vic cung cp nhng kin thc mang tnh Vit Nam v nhng kin
thc mang tnh hin i mt mt gip sinh vin bit gi gn v pht huy bn sc
vn ho ng t ho ca dn tc mt mt gip h trng thnh hn, t tin hn khi
tip cn vi thc t ngoi x hi. Nh nghin cu kinh t Gio s ng Hu

OKS

ni: Nn tng ca kinh t tri thc l vn ho. T cng khng nh con ng


m i hc Hng Vng chn l ng.

i hc Hng Vng tht s l mt ngi nh chung ca sinh vin Hng


Vng khi ch khi sinh vin Hng Vng hiu trng, hiu con ng m trng
chn.

3/ Cp nht nhng thng tin ang din ra ngoi x hi cho sinh vin.

OBO

Khng ch l con mt sch, con mt kin thc, sinh vin ngy nay cn phi
bit n nhng g ang din ra xung quanh mnh, lin quan n mnh nh: cc hi
tho, cc bo co chuyn , cc cuc thi ti ca sinh vin, cc hot ng vui chi,
gii tr vv. V mt l n gin, nhng g ca sinh vin, lin quan n sinh vin
th sinh vin nn bit v phi bit. C thng tin v bit x l thng tin, sinh vin s
ngy cng khng nh v pht huy vai tr ca mnh trong x hi.

KIL

4. Xy dng nhm tin (Web Based Newsgroup ):


Ni mi ngi c th trao i thng tin, kin v tt c mi lnh vc m
mnh quan tm. Nhm tin phi cp nht cc tin nhanh chng p ng c nhu cu
ngi dng .

5. Xy dng WebMail :

Xy dng cng c gi v nhn mail, c thc hin trn trang web, cng vi
cc tin ch v mail. Cho php ngi dng ng k mt a ch email min ph trn
Mail server ca trng.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
6. Xy dng Web Chat :
Xy dng cng c tin ch trn web phc v cho nhu cu chat ca ngi dng

KIL

OBO

OKS

.CO

ang tng hng ngy.

http://kilobooks.com

.CO

TH VIEN IEN T TRC TUYEN

PHN 2:

KIL

OBO

OKS

TM HIU CNG NGH

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

Chng 1:

ACTIVE SERVER PAGES (ASP)


I. ACTIVE SERVER PAGES L G?

.CO

Microsoft Active Server Pages (ASP) l mt mi trng sever-side


scripting cho php ta to ra v chy cc ng dng Web ng, tng tc vi client
mt cch hiu qu. ASP hot ng da vo cc script do ngi lp trnh to sn.
Khi cho script chy trn server thay v trn client, Web server s lm cc
cng vic cn thit to ra mt trang HTML tr v cho Browser hin th.

OKS

Mi trng hot ng ca ASP:

Microsoft Internet Information Server 3.0 tr ln chy trn WinNT Server


4.0 tr ln.

Microsoft Personal Web Server chy trn Windows 9x.

II. M HNH HOT NG CA ASP :

biu v cc script.

OBO

ASP l mt tp tin c ui m rng l .asp, cha cc th HTML, cc pht

Browser gi mt Request n Server yu cu mt trang ASP. Khi Web


Server nhn c Request, n s c ton b tp tin ASP v thc hin cc script

Client

KIL

tng ng vi gi tr ca cc tham s nhn t Request.

HTML Form

HTTP
Decoding

Server
Request
Page

HTTP
Encoding

Active
Server Pages

Add the
HTTP Wrapper

VBScript or
JavaScript

Dynamic
Page

Disk

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

III. CCH VIT MT TP TIN ASP SCRIPT:


1. Cu trc tp tin ASP :

Mt tp tin ASP c ui m rng l .asp l mt tp tin vn bn.

.CO

Mt tp tin .asp gm bt k s kt hp no ca cc thnh phn sau:


-

text

th HTML.

Cc cu lnh script ca cc ngn ng script nh Javascript hoc Vbscript.

Mt Script l mt s cc cu lnh thc thi mt cng vic no , c th l:


Gn gi tr cho bin.

Gi thng tin n Browser, gi l Output Expression

V d <%=UserID%>
-

OKS

Kt hp mt s cu lnh thc thi mt cng vic no thnh mt hm.

Thc thi mt script l vic gi cc cu lnh ti Scripting Engine. Ti y


ASP s thng dch cc cu lnh ny v thc thi n. Cc script c vit bng ngn
tng ng trn server.

2. C php ca ASP :

OBO

ng no th n c dch theo c php ca ngn ng trn Scripting Engine

ASP l mi trng x l cc script m c chn trong tp tin ASP ch


script nh sau:

KIL

ASP khng phi l ngn ng script. Tuy nhin, n c quy nh c php chn cc
a. Du gii hn (Delimiter):
Trong trang ASP, du <% v %> dng gii hn phn script vi phn
HTML. Bt k pht biu script no cng u phi c t trong phn gii hn bi
hai du ny.

b. Pht biu (Statement):

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Mt pht biu trong mt ngn ng script l mt cu trc thc thi mt cng
vic.
<%
if(time < = #12:00:00 AM#)
else
greeting = Hello!;
%>
<font color = blue>
</font>

OKS

<%=greeting%>

.CO

greeting = Good Morning!;

V d : on m sau dng pht biu ifelse trong Javascript:

Trong mt trang ASP, chng ta c th lng cc pht biu script trong cc th


HTML.
V d :
<font color = blue>

<% if(time < = #12:00:00 AM#) %>


<% else %>

OBO

greeting = Good Morning!;


greeting = Hello!;
</font>

3. Th Script v to th tc trong ngn ng script:


Cc th tc phi c t trong cc cp th <script> v </script>. Ta c th

KIL

dng cc ngn ng khc nhau vit cc hm hoc cc th tc trong mi trng


ASP. Ngn ng mc nh trong ASP l VBScript.
V d:
<HTML>
<BODY>

<% Gi hm hoc th tc %>


</BODY>
</HTML>

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
<script runat = server language = javascript>
function Ham()
Response.Write(Ham duoc goi);
}

.CO

</script>

4. Include cc tp tin :

Khi to mt ng dng Web, bao gm nhiu trang ASP, trong cc trang ASP
ny c th dng li nhiu ln cc hng, cc bin, cc hm hay th tc trnh
phi khi bo hoc phi vit li, chng ta c th s dng li bng cch khai bo
hoc vit trc trong mt tp tin no , sau chng ta include tp tin ny vo

OKS

ni chng ta cn dng bng cu lnh tin x l:

<!--#include virtual | file = filename-->

T kho Virtual : dng ch ng dn l th mc o.


T kho File : dng ch ng dn l tng i hoc ng dn tuuyt
i.
Lu khi include tp tin:
include.

OBO

- Khng nn xy ra trng hp include quy trong cc tp tin cn


V d : trong tp includ.inc tin ta cn inclue tp tin include2.inc th trong tp
tin include2.inc khng c include tp tin include1.inc.
- ASP s thc hin vic include file trc khi thc hin cc pht biu Script,
cho nn khng dng cc pht biu to ra cc tp tin s c include.
%>

KIL

- Khng t cc cu tin x l <!-- #include--> trong cp du phn cch <%


IV. CC I TNG C SN (BUILT- IN OBJECT ) CA ASP :
ASP cung cp sn cc i tng m khi cn s dng khng cn to ra th
hin ca n. Cc i tng ny gi l Built - in - Object, bao gm :
-

Request : lu thng tin t ngi dng.

Response: gi thng tin n client.

Server: iu hnh mi trng hot ng ca ASP.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
-

Session: lu gi cc thng tin trong mt phin lm vic ca client.

Application: lu gi cc thng tin chung trong mt ng dng Web.

ObjectContext : i tng ny dng hon tt hoc hy mt giao tc

(transaction).

C php s dng cc i tng ny ty thuc vo ngng ng script m ngi

.CO

lp trnh s dng.

Ta truy xut thng tin ca cc i tng, thng qua cc thuc tnh (property)

OKS

v phng thc (method) ca cc i tng .

Server Object

Request Object

Client

Response Object

Server
Application Object
Session Object

OBO

ObjetctContext Object

1.i tng Request :

i tng Request cung cp tt c cc thng tin m client gi ln server


thng qua HTTP Request.
a.Collections :

ClientCertificate: lu gi cc gi tr v client certificate c gi ln t

KIL

browser.
-

Cookies: lu gi cc gi tr ca cookies c gi ln t browser.

Form: lu gi cc thnh phn ca form c gi t browser.

QueryString: lu gi cc gi tr trong HTTP query string.

ServerVariable: lu gi cc bin mi trng v cc bin ca HTTP.

b. Properties :

- TotalByte: s byte ca request m client gi ln trong body.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
c. Methods :
BinaryRead: dng ly d liu request gi n server thng qua thng

.CO

thc POST.

Request
Properties
- TotalByte

Methods
- BinaryRead

OKS

Collecttions
- QueryString
- Form
- ServerVariable
- Cookies
- Clientcertificate

Truy xut thng tin t Form:

HTML Form cung cp nhiu cch thc nhp liu nh : text, textarea, check
box,

OBO

HTML Form l cch thc thng thng trao i thng tin gia Web server
v client thng qua 2 giao thc GET v POST.
ng dng ASP c th trao i d liu gia cc trang theo cc cch sau:
-

File .htm(l) ch cc from v gi cc gi tr n mt file .asp

File .asp to ra form v gi ti mt file .asp khc.

File .asp to ra form v gi li cho chnh n.

cch nh sau:

KIL

Khi form c gi n file .asp, c th truy xut cc gi tr trong form theo 2


S dng Collection QueryString:
QueryString cha tt c cc thng tin ca form c submit form ln server
bng phng thc GET. Cc gi tr ca form c cha trong querystring c
gn vo URL sau du ? bng cc cp name=value. Cc cp name= value phn cch
nhau bng du &.

Ti server ta truy xut cc gi tr ca cc thnh phn trong form nh sau:

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Request.QueryString(tn thnh phn)[.item].
Hn ch khi dng phng thc GET : chiu di ti a ca URL l 1000 k t.
S dng Collection Form:
HTTP header. Phng thc ny gi l POST.

Mt cch khc submit form ln server l t cc thng tin cn gi i trong

.CO

Ti server ta truy xut gi tr ca cc thnh phn trong form nh sau:


Request.Form(tn thnh phn)[.item]

S khc nhau gia 2 cch gi v nhn d liu ca 2 phng thc GET v


POST:

OKS

Server (ASP Application )

Dng Form c d liu

D liu gi thng qua URL

D liu gi trong HTTP header

Method = GET

Method = POST

OBO

Dng QueryString c d liu

Client (Browser)

Form

2. i tng Respone:

i tng chnh th hai trong ASP l Response. i tng ny dng gi


thng tin tr li client .
a. Collection:

KIL

- Cookies: lu gi gi tr ca tt c cc cookies gi li client.


b. Properties :
-

buffer: xc nh trang tr v c c m li server hay khng.

cachecontrol: xc nh proxy server c th cache trang tr v c ASP


to ra hay khng.

Charset: xc nh tn ca b k t c thm vo header content- type.

Contenttype: xc nh loi HTTP content. V d :text/html.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
-

expires: thi gian trc khi mt trang c cache trong thi hn ca


browser.

expiresabsolute: xc nh ngy v gi mt trang c cache trn thi hn

ca browser.

isclientconnected: xc nh client chm dt kt ni vi server hay

.CO

cha.

PICS: thm gi tr ca nhn PICS vo trng pics-label ca response


header.

status: tr v gi tr ca tnh trng ca HTTP status line ca server.

c. Methods :

addheader: thm hay thay i gi tr trong HTTP header.

Appendtolog: thm text ca request ny vo web server log .

Binarywrite: gi text cho client m khng cn xc nh b k t


(character - set).

OKS

Clear: xa ht cc trang HTML gi tr v m c buffer.

End :dng nagy vic x l trang v tr v gi tr hin c.

Flush: gi ngay output m c m (buffer).

Redirect: hng client kt ni ti mt URL khc.

Write: ghi gi tr ln trang hin hnh nh chui.

OBO

KIL

Response

Collections

- Cookies

Properties
- buffer
- cachecontrol
- charset.
- contenttype
- expires
- expiresabsolute
- isclientconnected
- PICS
- status

Method
- addheader
- appendtolog
- binaryWrite
- clear
- end
- flush
- redirect
- write.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
3. i tng Session :
i tng Session lu gi cc thng tin ca mt phin ngi dng kt ni
vi sever. N lu gi cc gi tr dng chung gia cc trang. Mi khi client truy

xut mt trang trong ng dng th client c gn vo mt i tng Seesion.


Seesion s mc nh b hu sau 20 pht k t request sau cng hoc b

.CO

hy(abandon).
a. Collection:
-

contents: cha tt c cc thnh phn c thm vo Session bng cc cu


lnh script.

Staticobjects: cha tt c cc i tng, c to bng th


<OBJECT>,c thm vo Session.

OKS

b. Properties:

codepage : codepage nhm s dng cho nh x cc k hiu.

LCID: nhn dng v tr (locale identifier).

SessionID: tr v ID ca phin lm vic cho client.

Timeout: thi hn ca session trong application, tnh bng pht

c. Methods:

OBO

- abandon: hu phin lm vic (Session) v cc ti nguyn ca phin lm


vic .
d. Events:

Onstar : c kch hot khi server to ra mt session mi.

Onend: c kch hot khi ht hn hoc b hy.

KIL

Collections
- contents
- staticobjects

Properties
- codepage
- LCID
- sessionID
- tiomeout

Session
Methods
- abandon

Events
- onstart
- onend

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Cc bin Session c tn ti trong sut thi gian sng ca session v c tm
vc trong Session .
<%Session(name)= Nuyen Quang Thi%>

.CO

4. i tng Application:

V d :

i tng Application dng chia s cc thng tin dng chung cha tt c


client mt ng dng ASP. Mt ng dng ASP gm tt c cc file .asp trong th
mc, th mc con hay trong th mc o.
a. Collections:

contents: cha tt c thnh phn c thm vo Application bng cc


lnh script.

OKS

Staticobjects: cha tt c cc i tng, to ra bi th <OBJECT>, c


thm vo Application

b. Method:

lock: cm cc client iu chnh gi tr cc thnh phn trong application.

Unlock: cho php cc client iu chnh gi tr cc thnh phn trong


application.

c. Events:
-

onstart : c kch hot khi mt trang trong ng dng ln u tin c


truy xut.

OBO

Onend: c kch hot khi kt thc ng dng, s kin ny xy ra sau s

KIL

kin Session_Onend.

Collections
- contents
- staticobjects

Application
Methods
- lock
- unlock

Events
- Onstart
- Onend

Cc thnh phn trong Aplication s tn ti trong sut thi gian sng ca


Application.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
V d :
<%Application(time) = Now()%>

5. i tng Server :

i tng Server cung cp hu nh cc thuc tnh v cc phng thc c bn

.CO

dng trong t cc cc trang ASP .


a. Properties:

- ScriptTimeout: khong thi gian m mt script chy trc khi c li.


b. Methods:

createobject: to mt th hin ca mt i tng hoc server component.

HTMLencode: m ho mt chui theo cch m HTML.

Mappath: chuyn mt virtual path sang mt phisical path.

URLencode: m ho mt chui theo cch m URL bao gm cc k t

OKS

ascape.

Server

OBO

Properties
- Scripttimeout

Properties
- Createobject
- HTMLencode
- Mappath
- URLencode

6. i tng ObjectContext :

KIL

i tng ObjectContext c dng hon tt hoc hy mt giao tc c


to ra bi mt script trong mt trang ASP. i tng ny c qun l trong
Microsoft Transaction Server (MTS).
a. Methods :
-

setcomplete: khai bo rng script s hon tt giao tc vi bt k l do no.


Nu tt c cc component trong giao tc u gi phng thc ny th giao
tc s hon tt.

Setabort: hy mt giao tc c to ra trong mt ASP.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
b. Events :
-

Ontransactioncommit: c kch hot sau khi mt giao tc ca mt


script hon tt.
Ontransationabort: c kch hot khi mt giao tc b hy.

Methods
- Setcomplete
- Setabandon

.CO

ObjectContext

Events
- Ontransactioncommit
- Ontransactioncommit

OKS

V. CC COMPONENT TRONG ASP :

Ngoi cc object kho st trn, trong ASP cn cung cp mt s ActiveX


Server Component. Cc component ny c thit k nh l mt thnh phn ca
cc ng dng web chy trn web server. Mi component l mt th vin cc Class
(hay Object ) nhm thc thi mt nhm thao tc no , chng hn nh truy xut
CSDL, truy xut tp tin,Ngoi ra, ASP cn cho php ngi dng to ring cc

OBO

server component thm vo ng dng web.

1. Cc component chun do ASP cung cp :


Ad rotator.

Browser Capabilities.

Content Liking.

Content Rotator.

Page Counter.

Permission Checker.

Counters.

MyInfo.

Tools.

Status.

KIL

Cch to cc th hin (instance)ca cc component :

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Dng phng thc CreateObject ca i tng Server, c php nh sau:
Server.CreateObject(ComponentName);
V d : <%var dbCon = erver.CreateObject(ADOBD.Connection)%>

Tuy nhin, trong phm vi lun vn ny, ti ch trnh by su v cc


Database Access component, vi cc thuc tnh v phng thc chnh truy xut
2. Database Access component :

.CO

CSDL.

Database Access component cn gi l th vin ADO (ActiveX Database


Object),cc object ca n hu nh h tr cho tt c cc co ch kt ni v lm vic
vi hu ht tt c cc loi database.
VI. ADO DATA INTERFACE :

OKS

ADO l c thit k giao tip vi cc loi CSDL thng qua ODBC (Open
Database Connectivity).chng ta c th dng n truy xut bt k loi CSDL no
min ODBC c h tr driver cho loi CSDL , v d : SQL Server, Oracle,
Access, v k c Microsoft Excel hay cc loi d liu dng text khc.

OBO

Active Server Pages

Data Source

ActiveX Database
Component
ActiveX Data
Objects

ODBC
Driver

Data Provider
Interface

1. M hnh cc i tng ADO :

KIL

Connection Object
RecordSet Object

Fields Collection
Field Object

Properties Collectiopn
Propertity Object

Command Object
Parameters Collection

Properties Collection

Parameter Object

Property Object

http://kilobooks.com

.CO

TH VIEN IEN T TRC TUYEN

2. i tng Connection:

i tng Connection dng thit lp mt knh kt ni vi CSDL.


s dng i tng ny trc ht phi to ra th hin ca n :
Var = Server.CreateObject(ADOBD.Connection)

OKS

Lu n tm vc hot ng ca Connection. Nu mun thit lp mt knh


kt ni vi CSDL cho c Application th t Connection trong bin Application,
nu mun thit lp mt knh cho c Session th t Connection trong bin Session.
a. Properties:
-

attributes: kim sot vic to mi mt giao tc khi mt giao tc kt thc


hay khng

CommandTimeout: s giy ch thc thi mt cu lnh trc khi kt thc

OBO

v a ra mt thng bo li(do khng th thc thi).


-

ConnectionString: thng tin cn thit to mt kt ni ti data source.

ConnectionTimeout: s giy ch thc thi vic thit lp kt ni trc khi


kt thc v a ra mt thng bo (do khng th thit lp kt ni).

CursorLocation : cursor c nh v trn client (adUseClient) hay

KIL

server (adUseServer).

Defaultdatabase: dng thit lp hoc tr v cCSDL mc nh cho knh


kt ni ny.

Isolationlevel: dng thit lp hoc tr v mc tch bit vi giao tc.

Mode: dng thit lp hoc tr v quyn truy cp.

Provider: dng thit lp hay tr v tn ca provider.

State: tr v tnh trng ca kt ni ang ng hay m.

Version : tr v s phin bn ca ADO.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
b. Methods :
Open: thit lp m kt ni mi n data source.

Close : ng mt kt ni ang m.

Execute: thc hin mt truy vn n CSDL, c th l mt cu truy vn


SQL hoc mt stored procedure.

BeginTrans : bt u mt giao tc mi.

CommmitTrans : lu tt c cc s thay i v kt thc giao tc. Cng c


th bt u mt giao tc khc.

RollbackTrans: hy b bt k thay i v kt thc giao tc. Cng c th


bt u mt giao tc khc.

OpenSchema: dng cho cc script chy server, cho php xem d liu
nhiu kiu khc nhau.

3. i tng Recordset :
a. Thuc tnh :

OKS

.CO

BOF : gi tr l true nu dang v tr record u tin.

Bookmark: lu gi v tr record.

EOF: gi tr l true nu dang v tr record cui cng.

RecordCount : s record hin c trong recordset.

b. Phng thc:

OBO

addnew: to mi mt record trong mt recordset c th cp nht.

CencelBatch :hy bo( vic cp nht theo l.

CencelUpdate: b qua bt k s thay i no tc ng ln record hin

KIL

hnh hoc record mi.


-

Clone : to bn sao cho recordset hin hnh.

Close : ng mt recordset dang m v tt c cc tnh phn lin quan


khc.

Delete: xo mt record hin hnh trong recordset ang m.

Getrows : trch s dng vo mt mng.

Move, MoveFirst, MoveLast, MoveNext, MovePrevious : di chuyn v


tr record trong recordset.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
NextRecordset: di chuyn n recordset k trong truy vn.

Open: m cursor trn mt recoreset.

KIL

OBO

OKS

.CO

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

Chng III :

DCH V MAIL
I. GII THIU H THNG V DCH V MAIL:

1.Kho st tng qut hot ng ca h thng Cc Mail server:

.CO

Email l mt trong nhng dch v thng tin ph bin nht trn Internet. Tuy
nhin, khc vi cc dch v DNS, TELNET, FTP, Email khng phi l dch v t
u - n cui (end - to end), ngha l my gi th v my nhn th khng cn
phi lin kt trc tip vi nhau thc hin vic chuyn th. N l mt dch v
kiu lu v chuyn tip (Store and Forward). Th in t c chuyn t my

OKS

ny sang my khc cho n my ch (ging nh trong h thng bu chnh thng


thng : Th c chuyn n tay ngi nhn sau khi i qua mt s bu cc

KIL

OBO

trung chuyn). Hnh sau cho s v d hot ng ca mng th in t

Mail server

Mail server

IBM 37XX
IBM 37XX

Mail server

IBM Compatible

http://kilobooks.com

.CO

TH VIEN IEN T TRC TUYEN

- Gi Th :

OKS

Client s dng giao tip ngi dng son th. Sau khi son th xong,
Client gi th n MailServer gn nht(ng vai tr bu cc a phng). Mail
Server ny c nhim v chuyn th ny n mt Mail Server ln cn nu n khng
phi l my ch v tip tc Mail Server ny li chuyn n mt Mail Server khc
cho n khi chuyn n Mail Server ca ngi nhn v Mail Server ny s phn
phi th vo ng Mailbox ca ngi nhn .

OBO

- Nhn Th :

nhn th Client gi yu cu trc tip ln MailServer lu tr th.


MailServer s xc nhn Client c quyn m MailBox th khi Client c th m

KIL

MailBox v ly th v.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
2. Cc thnh phn ca mt h thng Internet Mail
- User : l ngi hay mt thc th ang gi hoc nhn mail
- UA (User Agent ) : Cc User Agent cho php ngi s dng son tho,

cho Message Transfer Agent (MTA) gi mail i.

to ra ni dung cc mail, cung cp a ch ngi nhn v sau giao cc mail

.CO

- MTA ( Message Transfer Agent ) : Cc MTA l cc trm x l mail gia


cc UA, mail sau khi c son tho UA, n c gi xung MTA v di chuyn
t MTA ny n MTA kia cho n khi n n ch v c UA ca ngi nhn
khi phc li. C th xem MTA nh l mt bu cc.

MTA hot ng theo m hnh Client / Server, MTA gi l Client MTA , cn


hai ch : Client hay Server .

OKS

MTA nhn l Server MTA tc l chng trnh MTA c th hot ng mt trong


II. CU TRC CA MT BC MAIL/Message

V c bn, mt bc Mail bao gm 3 phn chnh:


1. Phn phong b (Envelope):

Phn ny do cc MTA to ra v s dng, n cha cc thng tin cn thit

OBO

chuyn nhn Mesage: a ch ni nhn, a ch ni gi. Hay ni cch khc, giao


thc SMTP s quy nh thng tin ca phong b, cc h thng Email cn nhng
thng tin ny chuyn d liu t my tnh ny(MailServer) sang mt my tnh
khc (MailServer) .

2. Phn tiu (header):

Phn ny cung cp nhng thng tin tng qut v mail(message) nh ngi

KIL

nhn, ngi gi, ngy gi nhn...

Cu to gm nhiu trng (field) cu trc mi trng l mt dng vn bn


ASCII chun 7 bit nh sau: <tn trng >: <ni dung ca trng>.
Sau y l mt s trng thng dng v ngha ca n :
- Date: ch ngy gi nhn mail.
- From: ch ngi gi.
- To: ch ngi nhn.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
- Cc: ch nhng ngi nhn bn copy ca mail.
- Bcc: ch ra nhng ngi nhn bn copy ca bc mail, nhng tng ngi

khng bit nhng ngi khc s nhn bc th ny.

chnh l a ch ngi gi).


- Subject: ch ca ni dung mail.

.CO

- Return-path: cha cc thng tin ngi nhn c th tr li li (thng n

Cc trng trn l cc trng chun do giao thc SMTP quy nh, ngoi ra
trong phn header cng c th c thm mt s trng khc do chng trnh mail
to ra nhm qun l cc Mail m chng to. Cc trng ny c bt u bng k
3. Phn ni dung (body):

OKS

t X- v thng tin theo sau l cng ging nh ta thy trn mt trng chun.

Phn ni dung l phn cha ni dung ca th, n c th l dng vn bn, hnh


nh hay l dng tp tin. phn bit phn tiu v phn ni dung ca bc th,
ngi ta qui c t ranh gii l mt dng trng (chui k t "\r\n"). Kt thc ca
phn ni dung l chui k t kt thc Mail: "\r\n.\r\n". Nh vy ni dung bc Mail

OBO

nm trong khong gia dng trng u tin v k t kt thc Mail, v trong phn
ni dung ca bc Mail khng c php tn ti chui k t kt thc Mail.
Kt Lun : xy dng h thng Mail Client chng ta cn phi nm c cu

KIL

trc ca mt bc e-mail . cu trc ny c qui nh trong chun giao thc SMTP.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

Chng 4:
GIAO THC SMTP (Simple Mail Transfer Protocol)
SMTP ( Simple Mail Transfer Protocol ) l mt phn trong h nghi thc ca
TCP/ IP l nghi thc qui nh vic truyn nhn mail ch yu dng trong mng

.CO

Internet. Chun ny hin thc h thng Store and Forward (Lu tr v vn chuyn
) . Nghi thc SMTP hot ng da vo nghi thc TCP v lng nghe trn cng
chun: TCP 25.

I. M HNH CA GIAO THC SMTP :

Giao thc SMTP c thit k da vo m hnh giao tip sau: khi c yu cu

OKS

t user v dch v mail, sender-SMTP thit lp mt knh truyn hai chiu ti


reciever-SMTP. Reciever- SMTP c th l ch cui cng hoc ch l ch trung
gian nhn mail. Cc lnh trong giao thc SMTP c sender-SMTP gi ti

and Mail

Reciever SMTP

File
system

SMTP
Command/Replies

OBO

User

Sender - SMTP

reciever-SMTP v reciever-SMTP gi p ng tr li cho sender-SMTP.

File
system

M hnh c a giao th c SMTP

1. c t cho giao thc SMTP:

KIL

a. Cc lnh trong giao thc SMTP:


Y ngha ca cc lnh:

- Nhng lnh SMTP nh ngha s truyn mail hay nhng chc nng ca h
thng mail c yu cu bi user. Nhng lnh SMTP l nhng chui k t kt
thc bng <CRLF>. Bn thn m lnh l nhng k t ch (alphabetic) kt thc
bi <SP> nu c nhng tham s theo sau, v nu khng c tham s th kt thc
bi <CRLF>.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
- Mt phin giao dch mail cha ng mt vi i tng d liu, c truyn
nh l nhng i s cho cc lnh khc nhau. Reverse-path l i s ca lnh
MAIL. Forward-path l i s ca lnh RCPT. V mail data l i s ca lnh

DATA. Nhng i s hay nhng i tng d liu ny c truyn i v duy tr


cho n khi xc nhn truyn xong bi s ch nh kt thc ca mail data. M hnh

.CO

hin thc cho cch lm ny l nhng buffer ring bit c cung cp lu tr


kiu ca i tng d liu, l cc buffer : reverse-path, forward-path, v mail
data buffer.

- Reverse-path bao gm mt danh sch ty cc host v mailbox ca sender.


N cha th t cc host m Mail c chuyn tip qua.danh sch ny rt cn thit

OKS

khi h thng thng bo li khi vic gi th khng thnh cng cho my gi .


- Forward - path bao gm mt danh sch ty cc host v mt hp th ch.
- Mail Data-Vng cha d liu.

- HELLO (HELO) Lnh ny c dng xc nh ra ai l ngi gi mail.


Vng i s cha host name ca bn gi.Vi lnh ny v s tr li OK xc nh
rng c sender v reciever ang trng thi khi u, tt c cc bng trng thi v

OBO

buffer c xa sch.

- MAIL Lnh ny c dng khi to qu trnh trao i mail m


mail data c phn pht ti mt hay nhiu mailbox. Vng i s ca lnh c cha
reverse-path.

Lnh ny s xa cc buffer sau: reverse-path, forward-path, v mail data

KIL

buffer, v n thm thng tin ca reverse-path t lnh ny vo reverse-path buffer.


-RECIPIENT (RCPT)

Lnh ny c s dng nh ra mt ngi nhn mail; nhiu ngui nhn


(cng mt ni dung mail) s c xc nh bng cch gi nhiu lnh ny.
Khi mail c truyn tip vn, host lm cng vic ny phi b phn nh
danh n t ch bt u forward-path v t n vo ch bt u ca reverse-path.
Khi mail n c ch cui cng ri, reciever-SMTP b n vo trong mailbox vi
s ng ca host mail .

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Lnh ny s chn i s l forward-path vo forward-path buffer.
- DATA

Reciever s x l nhng dng theo sau lnh khi mail data n t sender. Lnh
ny to ra mail data t vo mail data buffer. Mail data c th cha bt k k t
no trong b m ASCII.

.CO

Mail data c kt thc bi mt dng m n ch cha mt du chm ..


S kt thc mail data yu cu receiver phi x l vic lu tr thng tin
trong phin giao dch mail ngay. Qu trnh x l ny s dng thng tin nm trong
reverse-path buffer, trong forward-path buffer, v trong mail data buffer, khi hon

OKS

tt lnh ny nhng buffer ny s b xa. Nu qu trnh x l thnh cng, reciever


phi gi tr li OK. Nu b li, reciever phi gi thng bo li.
Khi reciever chp nhn mt message cho s truyn tip vn hoc phn pht
n ch cui cng, n thm vo ch khi u ca mail data mt dng nh du
thi gian. Dng nh du thi gian ch ra nh danh ca host m n nhn message,
v ngy thng v thi gian m mail c nhn. Nhng message c truyn tip

OBO

vn s c nhiu dng nh du thi gian.

Khi reciever to ra final delivery ca mt message, n thm vo u ca


mail data mt dng ng dn quay v. ng dn quay v duy tr thng tin trong
<reverse-path> t lnh MAIL. y, final delivere c ngha l message thot
khi mi trng SMTP. Thng thng iu ny c ngha l n c phn pht
ti user ch, nhng trong mt vi trng hp n c th c x l tip v c

- SEND

KIL

truyn i bng mt h thng mail khc.

Lnh ny c dng khi to s truyn mail m mail data s c


truyn i ti mt hay nhiu terminal. Vng i s cha phn reverse-path . lnh
thc thi thnh cng khi message c phn pht ti terminal.
Lnh nay s xa cc buffer sau : reverse-path, forward-path, v mail data
buffer, ng thi n thm reverse-path lnh ny vo reverse-path buffer.
- SEND OR MAIL (SOML)

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Lnh ny c s dng khi to s truyn mail m mail data mt hay
nhiu terminal hoc cc mailbox. i vi ngi nhn, mail data c phn pht ti
terminal ca ngi nhn nu ngi nhn c tch cc, tri li, l mailbox ca ngi

nhn. Lnh ny thnh cng khi message c phn pht ti terminal hoc l
mailbox.

.CO

Lnh ny s xa i cc buffer sau: reverse-path, forward-path, v mail data


buffer, ng thi n thm thng tin reverse-path t lnh ny vo reverse-path
buffer.
- SEND AND MAIL (SAML)

Lnh ny c s dng khi to s truyn mail m mail data mt hay

OKS

nhiu terminal hoc cc mailbox. i vi ngi nhn, mail data c phn pht ti
terminal ca ngi nhn nu ngi nhn c tch cc, v i vi mi ngi nhn
mail s ti mailbox ca nhng ngi nhn .

Vng i s cha ng mt reverse-path. Lnh ny thnh cng khi message


c phn pht ti mailbox.

OBO

Lnh ny s xa i cc buffer sau: reverse-path, forward-path, v mail data


buffer, ng thi n thm thng tin reverse-path t lnh ny vo reverse-path
buffer.
- RESET (RSET)

Lnh ny xc nh s truyn mail hin ti b hy b. Cc sender, recipient,


mail data lu s b hu b v tt c cc bng trng thi, cc buffer b xo.

KIL

Receiver phi gi mt reply OK.


- VERIFY (VRFY)

Lnh ny yu cu receiver xc nhn i s l nh danh mt user. Nu n l


mt user name, full name ca user (nu receiver bit) v mailbox c t y
c tr v.Lnh ny khng nh hng n reverse-path buffer, forward-path
buffer v data mail buffer.

- EXPAND (EXPN)

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Lnh ny yu cu receiver xc nhn i s l mt mailing list( danh sch a
ch) v tr v mt thnh phn trong danh sch . Full name ca cc user (nu bit)
v nhng mailbox xc nh y c tr v trong mt reply gm nhiu

dng.Lnh ny khng nh hng n reverse-path buffer, forward-path buffer v


data mail buffer.

.CO

- HELP

Lnh ny cho receiver nhng thng tin gip cho sender. Lnh ny c th
nhn mt i s (c th l tn lnh) v tr v thng tin chi tit.
Lnh ny khng nh hng n reverse-path buffer, forward-path buffer v data
mail buffer.

OKS

- NOOP

Lnh ny khng nh hng cc tham s hay cc lnh c a vo trc n,


n c t khng c mt hnh dng no khc hn l receiver gi mt reply OK.
Lnh ny khng nh hng n reverse-path buffer, forward-path buffer v
data mail buffer.

OBO

- QUIT

Lnh ny nh r receiver phi gi mt reply OK v sau ng knh truyn


. Receiver s khng ng knh truyn cho n khi n nhn v tr li cho lnh
QUIT (ngay c nu c mt li xy ra). Sender s khng ng knh truyn cho n
khi n gi mt lnh QUIT v nhn reply (ngay c nu c mt li tr li cho lnh
trc ). Nu m kt ni b ng trc thi gian mong mun receiver s lm vic

KIL

nh nu va nhn c mt lnh RSET (b tt c cc giao dch ang treo m cha


lm, nhng khng undo nhng truyn hon tt trc ) sender s hnh ng
ngay khi lnh hay qu trnh truyn trong quy trnh nhn c mt li tm thi
(4xx).
- TURN

Lnh ny xc nh receiver phi gi mt trong hai reply sau: (1) reply OK v


sau nhn vai tr ca mt sender-SMTP, hay (2) gi mt reply t chi v gi li
vai tr mt receiver-SMTP.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Nu program-A hin ti l mt sender-SMTP v n gi mt lnh TURN v
nhn mt reply OK (250) th program-A tr thnh receiver-SMTP sau programA s trong trng thi khi ng ngay khi knh truyn c m, v sau n gi
cho

hi

dch

sn

li

sng

(220).

Nu chng trnh B hin ti l reciever v n nhn c lnh TURN v n tr li

.CO

OK th B tr thnh sender. B khi trng thi khi to ngay khi knh truyn
c m, v n ch nhn tr li dch v sn sng (220).

t chi thay i vai tr receiver gi mt reply 502.

C mt vi hn ch v trt t khi dng nhng lnh ny.u tin trong mt phin


trao i phi l lnh HELLO, lnh ny c th c dng sau trong mt cuc trao i

OKS

khc. Nu i s trong lnh HELLO khng c chp nhn, mt reply failure 501 phi
c tr v v receiver-SMTP phi trong cng trng thi.

Cc lnh NOOP, HELP, EXPN, v VRFY c th c s dng vo bt k


thi im no.

Cc lnh MAIL, SEND, SAML bt u cho s truyn mail. Khi c khi


ng, s truyn mail bao gm mt trong cc lnh khi to, mt hoc nhiu lnh

OBO

RCPT v lnh DATA. S truyn mail c th b hy b bi lnh RSET. C th c


nhiu hoc khng c s truyn no trong mt phin truyn.
Nu i s bt u phin truyn khng c chp nhn, thng bo 501
failurepha c tr v v reciever-SMTP phi nm trong cng trng thi. Nu cc
lnh trong phin truyn khng c th t, th thng bo 503 failure s c tr v v
reciever-SMTP phi nm trong cng trng thi.

KIL

Lnh cui cng trong phin truyn l lnh QUIT. Lnh ny khng th c
s dng ti bt k thi gian no trong phin truyn.
C php ca cc lnh:

 Cc lnh bao gm mt m lnh theo sau l i s ca lnh. M lnh l 4


k t alphabetic. Khng phn bit ch thng hoc ch hoa.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
 Gia m lnh v i s l mt hoc nhiu khong trng. Tuy nhin trong
reverse-path v forward-path, kiu ch rt quan trng. c bit, trn mt

s host, tn user cng phn bit kiu ch hoa v thng.


 i s bao gm mt chui k t c chiu di bin i kt thc bng
chui k t <CRLF> .

 Sau y l nhng lnh SMTP:

.CO

 Du ngoc vung biu din cho mt vng i s ty chn.

 HELO <SP> <domain> <CRLF>

 MAIL <SP> FROM:<reverse-path> <CRLF>

 DATA <CRLF>
 RSET <CRLF>

OKS

 RCPT <SP> TO:<forward-path> <CRLF>

 SEND <SP> FROM:<reverse-path> <CRLF>


 SOML <SP> FROM:<reverse-path> <CRLF>

OBO

 SAML <SP> FROM:<reverse-path> <CRLF>


 VRFY <SP> <string> <CRLF>
 EXPN <SP> <string> <CRLF>
 HELP [<SP> <string>] <CRLF>
 NOOP <CRLF>

KIL

 QUIT <CRLF>

 TURN <CRLF>

b. Cc reply ca SMTP:

 S tr li cho nhng lnh ca SMTP c t ra m bo cho s


ng b cho cc yu cu v nhng hot ng trong qui trnh truyn mail,
v bo m rng sender-SMTP lun lun bit trng thi ca recieverSMTP. Mi lnh SMTP phi to ra chnh xc mt reply.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
 Mt reply SMTP bao gm mt s ba ch s (c truyn nh ba k t
ch s) v theo sau l mt s vn bn (text). S c s dng mt
cch t ng xc nh trng thi a vo k tip. Text trn l dnh

cho ngi s dng. Ba ch s c n nh cha y thng tin


c m ho m sender-SMTP khng cn kim tra text v c th hu

.CO

b hay chuyn n qua mt user thch hp. c bit text ny c th ph


thuc vo receiver v vo ng cnh, v vy c s ging nhau trong s
phn bit text cho tng m reply.

 Danh sch c th t ca m s cho reply:

 211 Tnh trng h thng, hay reply gip v h thng .


Thng ip gip .

 220

<domain> dch v sn sng

 221

<domain> dch v ng knh truyn

 250

Hnh ng yu cu mail OK, hon thnh

 251

User khng cc b; s hng n <forward-path>

 354

Khi ng vic nhp mail; kt thc vi <CLRF>. <CLRF>

 421

<domain> dch v khng s dng c, ng knh giao

OBO

OKS

 214

chuyn [n c th l mt reply cho nhiu lnh nu dch v bit reply


ny phi shut down]
 450

Hnh ng mail yu cu khng c chp nhn : mailbox

 450
l
 451

KIL

khng c hiu lc . [nh mailbox bn]


B qua hnh ng c yu cu; li cc b trong qu trnh x

Hnh ng yu cu khng c chp nhn; h thng lu tr

khng .
 500

Li c php; khng chp nhn lnh [n c th bao gm nhng

li nh: lnh qu di]


 501

Li c php trong tham s hay i s

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Lnh khng c cung cp

 503

Dng lnh sai

 504

Tham s ca dng lnh khng c cung cp

 550

Hnh ng c yu cu khng c chp nhn; mailbox

 502

.CO

khng hiu lc. [nh mailbox khng tm thy hay khng truy cp c]
 551

User khng cc b; vui lng th <forward-path>

 552

B qua hnh ng yu cu mail, vt qu s cp pht lu tr

Hnh ng c yu cu khng chap nhn; tn mailbox khng cho

555 S truyn sai.

OKS

php. [nh sai c php mailbox]

V d v mt giao dch ca SMTP:

R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready.


S: HELO USC-ISIF.ARPA

OBO

R: 250 BBN-UNIX.ARPA

S: MAIL FROM:<Smith@USC-ISIF.ARPA>
R: 250 OK

R: 250 OK
S: DATA

KIL

S: RCPT TO:<Green@BBN-UNIX.ARPA>

R: 354 Start mail input; end with <CRLF>.<CRLF>


S:
S:
S:

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
R: 250 OK
S: QUIT

R: 221 BBN-UNIX.ARPA Service closing transmission channel.


II. NGHI THC ESMTP:

.CO

SMTP c mt hn ch gy kh khn ln trong vic truyn nhn mail l gii


hn ti a kch thc ni dung mt bc mail ch l 128KB. Ngy nay ni dung cc
bc mail khng ch l dng vn bn n thun m cn bao gm hnh nh, m thanh
v nhiu loi d liu khc na, gii hn 128KB tr nn qu nh. Do vy ngi ta
ci tin chun SMTP thnh mt chun m rng mi gi l ESMTP.

OKS

Chun ny cho php tng kch thc mail, n a thm t kha


SIZE=nnnnnnnnn sau lnh khi ng cuc giao dch, nh ta c th tng gii
hn kch thc ca mail ln trn 1MB, cha thm vo cc m thanh, hnh
nh

bit xem Server MTA c theo chun ESMTP hay khng, thay v dng
lnh HELLO u mt cuc giao dch, Client MTA dng lnh mi HELLO, nu

OBO

Server MTA c trang b, n s tr v m thnh cng l 250. Ngy nay chun


ESMTP thay th chun SMTP a s cc h thng.
V d : khi ng cuc giao dch vi kch thc mail ln ti 1MB, dng
lnh s l :

KIL

MAIL FROM :<thuan@sample1> SIZE=1000000

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

Chng 5:
GIAO THC POP3

Post Office Protocol Version 3 (Pop3) l mt giao thc chun trn internet
cho php mt trm (workstation) c th truy xut ng n mt maildrop trn mt

.CO

server t xa. C ngha l Pop3 c dng cho php workstation ly mail m


server ang gi n.
I. GII THIU:

Port chun dnh cho dch v Pop3 c qui uc l TCP port 110. Pop3 server

OKS

s khi ng v lng nghe trn port ny. Mt client mun s dng cc dch v ca
Pop3 th n phi thit lp mt kt ni ti Pop3 server. Khi kt ni c thit lp th
Pop3 server s gi ti client mt li cho. Sau , Pop3 Client v Pop3 Server trao
i cc request v reply cho n khi kt ni c ng hay loi b.
Cc lnh trong Pop3 khng phn bit ch thng v ch hoa, bao gm mt
tp t kha (chiu di t 3 n 4 k t), c th c hoc khng c i s theo sau

OBO

(chiu di ca i s c th ln n 40 k t). Cc t kha v i s phn cch


nhau bi mt k t trng n, v khng phi l cc k t c bit.
Cc reply trong Pop3 bao gm phn ch nh trng thi v t kha c th c
cc thng tin h tr theo sau. Chiu di ca reply c th ln ti 512 k t, kt thc
bng cp CRLF. C hai loi ch nh trng thi l: +OK v -ERR. Server phi
gi cc ch nh trng thi dng ch hoa.

KIL

Reply cho cc lnh c th bao gm nhiu dng. Sau khi dng u tin v cp
k t CRLF c gi i, cc dng thm vo c gi i, mi dng kt thc bng
mt cp CRLF. Dng cui l k t . v cp k t CRLF. Nu c dng no bt
u bng k t . th phi kim tra xem c phi l cp k t kt thc CRLF.
Mt Pop3 session s phi tri qua cc trng thi: xc nhn (Authorization),
giao dch (transaction) v trng thi cp nht (Update).
Trong trng thi xc nhn, client phi thng bo cho server bit n l ai. Khi
server xc nhn c client, session s i vo trng thi giao dch. Trong trng

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
thi ny, client hot ng bng cch gi cc request ti server. Khi client gi lnh
QUIT, session s i vo trng thi cp nht (Update). Trong trng thi ny, Pop3
server gii phng cc ti nguyn v gi mt reply tm bit. Sau kt ni TCP

ng li.

Cc reply ca Pop3 Server cho Pop3 client s l -ERR nu lnh khng nhn
trng thi.

.CO

ra c bi Pop3 server, hoc khng thc hin c, hoc sai c php, hoc sai

Mt Pop3 server c mt khong thi gian time out. Khi xy ra time out,
session khng i vo trng thi cp nht (Update) m server s t ng kt ni
TCP m khng xa bt k message no hay gi p ng cho client.

OKS

II. CC TRNG THI CA POP3:

1.Trng thi xc nhn (authorization):

Sau khi Pop3 server gi li cho, session s i vo trng thi xc nhn


(authorization). Lc ny, Pop3 client phi nh danh v xc nhn n vi Pop3
server. thc hin vic ny, client phi s dng kt hp cc lnh USER v

OBO

PASS.

u tin, client s gi lnh USER username, nu Pop3 server tr li vi ch


th trng thi -ERR th client c th a ra mt lnh xc nhn mi hay c th a
ra lnh QUIT.

Nu Pop3 server tr li vi ch th trng thi +OK, th client c th gi tip


session.

KIL

lnh PASS password hon tt s xc nhn hoc gi lnh QUIT kt thc

Khi client pht ra mt lnh PASS, POP3 server dng cp i s t lnh


USER v PASS xc nh nu ng client s cho truy xut n maildrop thch
hp.

Sau khi tri qua qu trnh xc nhn, Pop3 server s cho php client truy xut
ti nhng mailbox thch hp. Lc ny, Pop3 server s to ra mt kha truy xut
loi tr trn maildrop m bo cho message khng b sa i hay b xa trc
khi session i vo trng thi cp nht (Update). Nu thnh cng, Pop3 server s tr

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
li vi ch th trng thi +OK v session s i vo trng thi giao dch
(transaction) m khng c message b nh du xa. Nu maildrop khng m c
v mt l do no (v d: sai kha, client b t chi truy xut ti maildrop ny),

Pop3 server s tr li vi ch th trng thi -ERR v server s ng kt ni. Nu


kt ni khng b ng th client c th gi lnh xc nhn mi v bt u tr li

.CO

hoc c th pht ra lnh QUIT.

Sau khi Pop3 server m c maildrop, n gn s th t cho mi message v


biu th kch thc messge theo byte.

2. Trng thi giao dch (transaction):

- Sau khi Pop3 server xc nhn thnh cng client, v m cho n mt

OKS

maildrop thch hp. Session s bc vo trng thi giao dch (transaction). Lc


ny, Pop3 client c th gi cc request cho Pop3 server (cc request c th c
gi nhiu ln, tc l c th lp li), v c sau mi request th Pop3 server s phn
hi li cho Pop3 client mt reply. Cui cng, nu client pht ra lnh QUIT th
session s i vo trng thi cp nht (Update).
3. Trng thi cp nht (Update):

OBO

Khi client pht ra lnh QUIT t trng thi giao dch (transaction), session
s i vo trng thi cp nht (Update). Nu client pht ra lnh QUIT t trng thi
xc nhn (authorization), session s kt thc nhng khng i vo trng thi cp
nht.

Nu session kt thc v cc l do khc sau mt lnh QUIT c pht ra


t client, session s khng i vo trng thi cp nht (Update) v khng xa mt

KIL

message no t maildrop.

III.TM TT CC LNH CA POP3:


1. Cc lnh c tc dng trong qu trnh xc nhn (authorization):
- USER username:
 i s :

username l mt chui nh danh mt mailbox, ch c ngha i vi server.


 Tr li:

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
OK tn mailbox c hiu lc.
ERR khng chp nhn tn mailbox.

- PASS string:
+ i s :

+ Tr li:
OK kha maildrop sn sng.
ERR password khng hiu lc.

.CO

string :l password cho mailbox hay server.

OKS

ERR khng c php kha maildrop.


- QUIT:
Khng c i s.
Tr li: OK.

* Cc lnh c tc dng trong qa trnh giao dch (transaction):


+ Khng c i s.
+ Tr li:
OK nn mm.

OBO

- STAT:

+OK theo sau l khong trng n, tip theo l nn: s message,


khong trng n, mm: kch thc ca maildrop tnh theo byte.

KIL

Cc message c nh du xa khng c m trong tng s.


- LIST [msg]:

+ i s: s th t ca message, c th khng tham kho ti cc message


c nh du xa.
+ Tr li:

OK scan listing follow.


ERR nosuch message.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Mt scan listing bao gm s th t message (message number) ca message
, theo sau l khong trng n, v kch thc chnh xc ca message tnh theo

byte.
- RETR msg:

c nh du xa.
+ Tr li:
OK message follows
ERR no such message

.CO

+ i s: s th t ca message, c th khng tham kho ti cc message

- DELE msg:

OKS

Tr li ca lnh RETR l multi-line.

+ i s: s th t ca message, c th khng tham kho ti cc message


c nh du xa.
+ Tr li:

OBO

OK message deleted

ERR no such message

Pop3 server s nh du xa cc message ny. Tuy nhin, qu trnh


xa tht s s din ra trng thi cp nht (Update).
- NOOP:

KIL

+ Khng c i s.
+ Tr li: OK

Pop3 server khng lm g ht, ch hi m li cho client vi tr li:


+OK.

- RSET: Phc hi li cc message b nh du xa bi Pop3 server.


Lnh c tc dng trong qa trnh cp nht (Update).
+ Khng c i s.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
+ Tr li: OK.
- QUIT: Kt thc phin giao dch.

+ Khng c i s.
+ Tr li: OK.

.CO

v d v mt session ca Pop3:
(k hiu: C Client, S Server).
S: +OK POP3 server ready
C: +USER kate

OKS

S: +OK kate valid


C: PASS secret

S: +OK kates mail box has 3 messages


C: STAT
S: +OK 3 460

S: +OK 3 460
S: 1 120
S: 2 240
S: 3 100

C: LIST 3

KIL

S: .

OBO

C: LIST

S: +OK 2 240
C: RETR 1

S: +OK 120 octets.

S: Date: 09 Dec 99 11:22:33


S: From: bill@somesite.com

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
S: To: kate@gregcons.com

S:
S: Your message got through fine.

.CO

S: .

S: Kate,

C: DELE 1
S: +OK message 1 deleted
C: QUIT

KIL

OBO

OKS

S: +OK interlog POP3 server signing off (2 messages left).

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 6:
JAVA SERVLET V JAVAMAIL API
I. JAVA SERVLET :

1. Servlet l g ?

Servlet gng nh mt Applet nhng chy trn Web Server.Servlet c np v

.CO

thc thi bi mt Web Server cng ging nh mt Applet c np v thc thi bi


Web Browser.Servlet nhn cc yu cu t Client ,thc thi mt vi tc v no v tr
kt qu cho Client.

OKS

Web
Browser

HTTP
Request

HTTP
Response

Web
Server

Ser

OBO

Cc bc c bn khi vit Servlet:

Client gi Request thng qua nghi thc HTTP.


Web Server nhn Request v chuyn n cho Servlet.Nu Servlet cha c np
th Web Server np n vo mi trng my o Java (JVM) v thc thi Servlet.
Servlet nhn Request thng qua nghi thc HTTP ,thc hin mt s x l .
Servlet s tr mt Response cho Web Server

KIL

Web Server tr Reponse cho Client.


2. Ti sao s dng Servlet ?

Servlet c dng thay th cho cc chng trnh lp trnh theo chun


CGI (Common Gateway Interface) cc chng trnh CGI vit bng ngng ng c
hoc PERL th phi i cng vi mt Web server no .T khi Servlet c vit bng
Java th chng c lp vi h thng (platform).Vi Java ch cn vit mt ln v chy
mi ni.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
u im ca Servlet so vi CGI :
Servlet c tnh bn vng ngha l Servlet c np mt ln v c th duy tr cc
dch v gia cc Request.Cn i vi CGI th cc chng trnh CGI c np li mi

khi c yu cu ca Client.

Servlet thc thi nhanh .B v n ch cn np mt ln nn cc Servlet hiu qu hn

.CO

CGI.
Servlet c lp vi h thng.
Servlet c th c m rng.

Servlet c tnh bo mt cao .Ch c mt cch gi Servlet t bn ngoi l thng


c bo v bi mt Firewall.

OKS

Web Server .iu ny lm cho Servlet c tnh bo mt cao,c bit nu Web Server

Servlet c th c s dng vi nhiu Client

3. Cch vit mt Servlet


Khai bo lp Servlet

OBO

public class firstServlet extends HttpServlet


{

public void service (HttpServletRequest req,HttpServletResponse res){


//thc hin tc v no

KIL

Chu Trnh Sng ca Servlet :Mi mt Servlet c chu trnh sng nh sau :
Server khi to mt Servlet.

Servlet x l cc Request /tng tc vi client .


Server hy Servlet.

Khi to mt Servlet :

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Khi Server ti mt Servlet vo mi trng thc thi th u tin Server chy
phng tha init() ca Servlet.Mt d Servlet chy trn mi trng Server a trnh
(Multi-Thread) nhng Servlet khng c vn Concurrency trong qu trnh khi to

Servlet.Server ch gi phng thc init mt ln tr phi Servlet b hy trong qu trnh


thc thi Servlet.
Tng tc vi Client

.CO

Tng tc vi Client thng qua 2 i tng HttpServleRequest v


HttpServletResponse. Thng qua hai i tng ny ta c th trao i d liu mt cch
d dng vi client .
Hy Servlet

OKS

Servlet chy cho n khi Server hy chng.Khi server hy Sevlet th Server


chy phng thc destroy() ca Servlet.Phng thc ny ch c thc thi mt ln tr
phi Servlet c np li v khi ng li.
Cc phng thc ca HttpServlet

Mt Servlet phi c k th t lp HttpServlet .Lp HttpServlet cung cp mt


s phng thc o ( Abstract ):service(),doPost(),doGet() chng ta c th thc

OBO

hin mt s tc v no p ng yu cu ca Client.

HttpServletRequest l lp nm d liu ca mt Request gi ti t Client. Chng


ta s dng cc phng thc ca lp ny nh :getParameter(), getContentType,
getContentLength() ly cc thng s hay yu cu cn thit c gi b t Client
.

HttpServletResponse l lp gip ta c th thc hin vic gi tr kt qu cho

KIL

Client. Lp ny cung cp mt s phng thc :getOuputStream(), getWriter() to ra


mt i tng gip ta d dng gi tr d liu cn thit cho Client.
II. JAVAMAIL API

Javamail API l mt th vin, do SUN xy dng sn, cung cp cc lp i tng


(class) v cc giao tip (interface) gip d dng giao tip vi h thng th in t
(Mail System).

1.Cc Thnh Phn C Bn Trong Javamail :

http://kilobooks.com

OKS

.CO

TH VIEN IEN T TRC TUYEN

Mail-enabled Application
JavaBean c s dng
tng tc v hin th
Message
JavaMail
Abstract Class Layer

OBO

JavaMail API

Internet Mail
Implement Class Layer

KIL

IMAP/POP3/NNTP implementation Layer

JavaMail chia

C u trc phn t ng trong JavaMail

lm 2 tng c bn :

- Tng Abstract: nh ngha cc i tng , cc giao tip v cc phng thc


o(Abstract) nhm h tr cc chc nng x l mail m tt c cc h thng mail c h
tr.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
- Tng Implementation : s dng li nhng i tng , cc giao tip v cc
phng thc c nh ngha trong tng Abstract theo chun internet RFC822 v
MIME

Ngoi ra JavaMail cn s dng JAF (Java Activation Framework) ng gi


d liu v cung cp nhng chc nng thao tc trn d liu.

.CO

2. Qui trnh x l cc Message trong JavaMail:

Gi Message

Transport

y Message

OKS

Message

Nhn
Message

Folder
Folder
Folder

Store

OBO

NETWORK

Cha
Message

Message

Qui trnh x l Message

Mail c nm gi bi mt i tng Message sau c mt i tng


Transport gi Message qua mng ri n my ngi nhn.
bn nhn ly Message t cc Store l tr th . Cc Message ny c cha

KIL

trong cc Folder.Khi User mun ly th th phi m cc Folder ny v nhn th v.


Lp i tng Message:

+ Message l mt i tng o (Abstract) nh ngha cc tp thuc tnh v ni


dung cho mt bc Mail.Message ch ra cc thng tin v a ch ngi gi,nhn v nh
ngha cu trc ni dung ca Message gm c kiu ni dung(content-type).ni dung ca
Message c thao tc thng qua i tng DataHandler .

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
+ Cc i tng con c th ng dng cc dng Message chun nh i tng
MimeMessage k tha t i tng Message theo chun RFC822 v kiu MIME.
+ Mt i tng con ca Message khi to mt i tng nm gi th, gm

nhng thuc tnh: a ch ngi gi, ngi nhn, thng tin v cu trc ca th, v phn
ni dung ca th. Message c t trong mt th mc (Folder) no ,Message cng

+ Lu Tr v Truy Cp Message:

.CO

c mt b cc c (Flags) nhm m t trng thi ca Message.

Cc Message c lu tr trong cc Folder. Mt Folder c th cha cc


Folder con. Folder khai bo cc phng thc :fecth, append, copy and delete cc
Message.

OKS

i tng Store nh ngha mt c s d liu lu gi cy phn cp cc


Folder cng vi cc Message trong cc Folder . Store ch ra giao thc truy cp
(POP3/IMAP) truy cp cc Folder v cc Message. Store cng cung cp
phng thc thit lp kt ni n c s d liu, truy cp Folder v ng kt ni.
+ Son v vn chuyn /gi Message

Client to ra mt Message mi bng cch to ra mt i tng con ph

OBO

hp ca lp i tng Message. Thit lp cc thuc tnh nh : cc a ch ngi


nhn, v subject, v chn ni dung vo trong i tng Message. Cui cng gi
Message bng cch gi phng thc Transport.send().
Lp i tng Transport m hnh ho cc tc nhn(Agent) vn chuyn
Message chu trch nhim nh tuyn Message n ng ngi nhn. Lp ny
cng cung cp cc phng thc gi Message n mt danh sch cc ngi nhn.

KIL

Lp i tng Session :

Lp i tng Session nh ngha cc thuc tnh ton cc lin quan n Mail ca


mi ngi dng. nhng thuc tnh ny (properties) nh ngha cc giao tip (interface)
gia client v network. Cc thnh phn ca h thng JavaMail s dng i tng
Session thit lp hoc ly ra cc thuc tnh no . Session cng cung cp i tng
Authentication Session mc nh m cc ng dng c th s dng.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
3. Cy Phn Cp Cc Lp i Tng Trong JavaMail :
class java.lang.Object
class javax.mail.Address

class javax.mail.Authenticator

class javax.mail.FetchProfile
class javax.mail.FetchProfile.Item

.CO

class javax.mail.BodyPart (implements javax.mail.Part)

class javax.mail.UIDFolder.FetchProfileItem

class javax.mail.Flags.Flag
class javax.mail.Folder
class javax.mail.Header

OKS

class javax.mail.Flags (implements java.lang.Cloneable)

class javax.mail.Message (implements javax.mail.Part)


class javax.mail.Message.RecipientType

OBO

class javax.mail.MessageContext
class javax.mail.Multipart

class javax.mail.PasswordAuthentication
class javax.mail.Provider

class javax.mail.Provider.Type

KIL

class javax.mail.Service

class javax.mail.Store

class javax.mail.Transport
class javax.mail.Session

class java.lang.Throwable (implements java.io.Serializable)


class java.lang.Exception
class javax.mail.MessagingException

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
class javax.mail.AuthenticationFailedException
class javax.mail.FolderClosedException
class javax.mail.FolderNotFoundException

class javax.mail.IllegalWriteException

class javax.mail.MessageRemovedException

.CO

class javax.mail.MethodNotSupportedException
class javax.mail.NoSuchProviderException
class javax.mail.SendFailedException

class javax.mail.URLName

OKS

class javax.mail.StoreClosedException

5. Cy Phn Cp Cc Interface trong JavaMail


interface javax.activation.DataSource

interface javax.mail.MultipartDataSource
interface javax.mail.MessageAware

OBO

interface javax.mail.Part

interface javax.mail.UIDFolder

6.Cch to mt bc e-mail (i tng Message) trong JavaMail:


Message l mt lp o (Abstract) ng dng giao tip (interface) Part .V vy
to ra m i tng Message,ta phi chn mt i tng con ca Message thch hp
vi kiu Message. V d to ra mt Message cha ni dung kiu Mime ta phi to

KIL

ra i tng MimeMessage trong Session hin hnh nh sau :Message msg = new
MimeMessage(session);

a. Thit lp cc thuc tnh ca Message:


thit lp cc thuc tnh ca Message ta s dng cc phng thc sau:
+ Public void setFrom(Address addr) :thit lp a ch e-mail ngi gi.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
+ Public void setRecipients(RecipientType type,Address[] addr) :thit lp a ch
ca ngi nhn . phng thc ny c th s dng gn a ch ngi nhn theo 3
kiu ngi nhn khc nhau tu thuc vo tham s type :

type :

RecipientType.TO :gn vo trng to trong Message.

.CO

RecipientType.CC :gn vo trng CC trong Message.

RecipientType.BCC :gn vo trng BCC trong Message.


Public void setReplyTo(Address[] addr) :thit lp danh sch cc a ch hi m
cho Message.

OKS

Public void setSentDate(Date date) :thit lp ngy gi th.


Public void setSubject(String sub) :thit lp ch ca email
 VD :toAddrs[] = new InternetAddress[1];

ToAddrs[0] = new InternetAddress(nbtri@hotmail.com).


Address from = new InternetAddress(hvuniversity@hungvuong.edu)

OBO

Msg.setFrom(from);

Msg.setRecipients(Message.RecipientType.TO,ToAddrs);
Msg.setSubject(Example);

Msg.setSentDate(new Date());

b. Thit Lp phn Body ca Mt Message n Gin :


Message cha ni dung bn trong mt i tng DataHandler v vy mun thit

KIL

lp ni dung cho Message ta phi to ra mt i tng DataHandler ri t phn ni


dung vo i tng ny . Sau thm i tng ny vo trong i tng Message.
VD: DataHandler dh = new DataHandler(content , text/plain);
Msg.setDataHandler(dh);
Mt cch khc s dng phng thc setContent() thm phn ni dung vo
mt Message.Phng thc ny s t ng to ra i tng DataHandler .
Msg.setContent(content,text/plain);

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Thit lp phn ni dung ca Message cha nhiu kiu ni dung khc nhau.
thc hin vic ny ta thc hin cc bc sau :
+ Khi to mt i tng MimeMultipart hoc mt lp con ca n.

+ To cc i tng MimeBodyPart cha tng phn ni dung ca Message.


S dng phng thc setContent() gn ni dung cho tng phn MimeBodyPart.

.CO

+ a i tng MultiPart vo Message bng phng thc setContent(MultiPart


mp).

VD : MimeMultipart mp = new MimeMultipart ();

MimeBodyPart b1 = new MimeBodyPart ();

OKS

b1.setContent(ABC,text/plain);
mp.addBodyPart(b1) ;

MimeBodyPart b2 = new MimeBodyPart ();


b2.setContent(map,application/postscript);
mp.addBodyPart(b2).

OBO

Message msg = new MimeMessage(session);


msg.setContent(mp);
msg.saveChanges();

c. Cch thc gi Message trong JavaMail :


JavaMail API cung cp i tng Transport h tr vic truyn Message n ng
Session:

KIL

ngi nhn.C 3 cch to ra i tng Transport thng qua cc phng thc ca

S dng phng thc getTransport(Address addr) : tr ra i tng Transport ly


c thng qua mt addr.

S dng phng thc getTransport(SMTP) tr ra mt i tng Transport s


dng nghi thc truyn thng l SMTP.
S dng phng thc getTransport : tr ra giao thc truyn thng c ch ra
trong bin mi trng : mail.transport.protocol

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Sau khi to c i tng Transport th vic gi mt Message ch on gin l
gi phng thc send() ca i tng Transport
Transport.send(Msg);

d. Truy cp ni dung ca Message trong Javamail :

truy cp ni dung ca Message ta s dng cc phng thc ca giao tip

.CO

(interface) Part . giao tip ny cung cp cc phng thc thaoi tc trn mi i tng
Message cho d Message c mt hay nhiu phn ni dung c kiu Mime khc
nhau.

S dng phng thc Part.getContent() truy xut ni dung ca Message .


Phng thc ny tr ra mt i tng Object m th hin c th ca n c th l:

OKS

InputStream , String , hoc l MultiPart .


VD :

Object o = part.getContent();
If(o instanceof String) {

System.out.println((String) o);

OBO

}else if (o instanceof MultiPart ){

System.out.println(day la MultiPart);
//thc hin li on code ny cho tng BodyPart
}Else if (o instanceof InputStream ){

System.out.println(day la InputStream);

KIL

InputStream is = (InputStream) o ;
int c ;

while ((c=is.rea))!= -1){


System.out.print(c);

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Kt Lun :
JavaMail c xy dng theo ng chun RFC822 v RFC2045 iu ny gip
cho ta c th d dng xy dng mt MailClient c th tng tc vi bt k h thng

KIL

OBO

OKS

.CO

th tn in t no trn th gii m theo chun quc t.

http://kilobooks.com

.CO

TH VIEN IEN T TRC TUYEN

Phn 3

KIL

OBO

OKS

CI T

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 1:
BIN TP NI DUNG

Ni dung l mt phn quan trng bn cnh m thut v k thut ca Website. Ai


cng bit ngi ta ln Web vi mc ch chnh l tm thng tin. Xc nh i tng

.CO

chnh, i n vic t chc, bin tp ni dung thng tin ph hp l mt trong nhng yu


t hng u t ra vi bt k mt ai c mun xy dng Website.
Theo nhn xt ca nhiu chuyn gia th ni dung ca cc Website Vit Nam
khng c ch trng ng vi v tr m n ng phi c. Bi mt l do n gin,
Vit Nam tham gia vo mng ton cu Internet t 12/1997, mt khong thi gian qu
ngn cc cng ty 100% vn Vit Nam c th nhn thc y c ht cc vn

OKS

lin quan n Website nh: xy dng, qun l v pht trin. Nhn vo cc nc ang
pht trin ta thy, Internet ni chung v Website ni ring v ang mang li nhng
hiu qu v cng to ln trong k nguyn hi nhp ton cu ny.
CU TRC WEBSITE I HC HNG VNG.
Mi Website c mt cu trc Website khc nhau. Cu trc ny ph thuc vo
mc ch v i tng m Website nhm n. Website i hc Hng Vng vi mc
Gm 5 phn:

OBO

ch v i tng c xc nh trong phn I s c cu trc.


- Cung cp thng tin tnh.
- Cung cp tin ch.
- Cung cp dch v.

- Cung cp kin thc.

KIL

- Cung cp thng tin ng.

1.Cung cp thng tin tnh.

Trong phn ny c cc mc:

a. Gii thiu chung v i hc Hng Vng.


b. C cu t chc trong nhim k II.
c. Thng tin chi tit v cc Khoa: Qun tr Kinh doanh, Cng ngh thng tin,
Ngoi ng, Qun tr Bnh vin, Ton ng dng, Du lch.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
d. Thng tin v cc hot ng ca trng bao gm: hot ng o to, ngoi
kha, bo tr sinh vin, nghin cu khoa hc v hp tc quc t, t vn ngh nghip
v vic lm.
gp lin quan n trng v lin quan n tng khoa.

e.FAQs (Frequently Asked Questions): nhng cu hi km cu tr li thng


f.

Contact: mt chuyn mc hu dng cho nhng ai c yu cu lin lc hoc tip xc

.CO

vi trng.
Mc ch:

Cung cp thng tin mt cch c th v h thng v trng cho cc i tng


khc nhau.
2. Cung cp tin ch:

OKS

Phn ny c cc mc:

a. Weblinks : lin kt nhanh n cc Website c gi tr khc.


Gm c cc lnh vc: Cng ngh thng tin, Kinh t-Qun tr, Du lch, Ngoi ng,
Ton ng dng.

b. SiteMap: cung cp cho nhng ngi lt Web mt ci nhn tng qut v c


h thng v ton b Website.

OBO

c. Tra cu sch trc tuyn: tin ch ny gip tra cu t xa nhng sch hin c
trong th vin trng Hng Vng, kt ni n ng dng Library System c sn ca
th vin.

d.Lin kt n Bn tin in t: Bn tin in t l bn tin c duy tr nhiu


nm ca th vin do chnh nhng sinh vin ca trng ph trch. Ni y ta c th tm
thy nhng bi dch, nhng bi gii thiu cc cun sch hay, hu ch hin ang c
trong th vin, thng tin v nhng sch mi nht m th vin va cp nht, cng mt
rt hoan nghnh!
Mc ch:

KIL

s thng tin khc. C th tham gia vit bi cho Bn tin in t, hn th vin trng s

H tr cho sinh vin h c th t hc, t nghin cu, t o su kin thc


chuyn mn ca mnh.

3.Cung cp dch v:

Phn ny c cc mc:

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
a. WebMail: ni mi ngi c th ng k cho mnh mt hp th in t trao
i th t vi bn b.
b.NewsGroup: mt hnh thc trao i, tho lun trn mng v mt ti no

m mt nhm cng quan tm. Bn c th nu kin, nu cu hi, thc mc, hoc nu


hn mt vn no ln chuyn mc ny cng chia s, tho lun vi nhng ngi
bn trc tuyn khc.

.CO

Mc ch:

Cung cp nhng cng c hu ch cho sinh vin trong vic hc tp v gii tr.
4.Cung cp kin thc:
Phn ny c cc mc:

a.Sinh vin cn bit: ni y tp trung nhng bi vit c gi tr cho sinh vin

OKS

c trch trn cc bo, tp ch Mc ch chnh l ph bin nhng kin thc tht


s hu ch i vi sinh vin, mang chng n c vi nhiu sinh vin hn l khi
chng ch nm trn bo v nhanh chng b b qua.

b. Vn ho: cung cp kin thc v vn ho, bn sc, v lch s ci ngun v v


truyn thng. Hiu c vn ha c tm quan trng nh th no i vi mi dn tc,
t bit t ho, gn gi v pht huy vn ho ca chnh dn tc mnh.

OBO

5. Cung cp thng tin ng:

Phn ny ch gm duy nht mt mc.

KIL

Tin nng: ni cung cp nhng thng bo mi nht cho sinh vin .

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 2

XY DNG NEWSGROUP

1. S ng cnh :

.CO

I.PHN TCH X L :

S O NG CANH

NGUOI
DUNG

OKS

Ket qua thuc hien

DL ve nguoi dung va DL can thiet khac

KIL

OBO

2. S h thng NewsGroup :

WEB BASED
NEWSGROUP

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

S O HE THONG WEB BASED NEWSGROUP


Nhom tin

DL nhom tin

DL nhom tin

DL nhom tin

.CO

DL nhom tin
Ten & Mat Khau & Noi dung tin

DL tin cu

DANG TIN

Tin moi

Chu de
DL chu de

DL chu de

Thong tin nguoi dung


DL nhom tin

Tin

Ket qua thuc hien

OKS

Tin

Ten & Mat khau & thong tin cua chu de du kien
DL chu de du kien cu
chu de du kien moi
chu de
du kien

QUAN LY
CHU DE DU
KIEN

Ket qua

Thong tin nguoi dung

DL chu de
DL chu de cap nhat

DL tin

TIM TIN

[Ket qua thuc hien]


NGUOI
DUNG

Ket qua

OBO

[DL ve nguoi dung va DL can thiet khac]


Thong tin can tim tin

DL tin cap nhat

thong tin nguoi dung cu

Ket qua

NGUOI
DUNG

Ten & mat khau cu & mat khau moi

Thong tin nguoi dung


DL nguoi dung moi

DOI MAT
KHAU

DL nguoi dung
Ket qua
Nguoi dung

KIL

DL chu de du kien

DL chu de du kien cap nhat


DL tin cu
Ten & Mat khau & DL khac

3. S phn r x l :

Nhom tin cap nhat

5
QUAN TRI
HE THONG

DL chu de

DL nguoi dung cap nhat

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
X LY ANG TIN
[Thong tin nguoi dung]
Nguoi Dung

Ten & Mat khau khong hop le

[Ten & Mat Khau & Noi dung tin]

1.1
KIEM TRA
TEN VA
MAT KHAU

DL nguoi dung & DL khac

Tin

[DL tin cu]


1.2

.CO

Ten & Mat Khau & Noi dung tin

Ket qua dang tin

DANG TIN

[DL chu de]

[Tin moi]

Tin

Chu de

OKS

[DL nhom tin]

KIL

OBO

Nhom tin

1.3
KET QUA [Ket qua thuc hien]
DANG TIN
KET QUA

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

[Thong tin nguoi dung]


2.1

S O X LY Y KIEN VE CHU E D KIEN

KIEM TRA
TEN & MAT
KHAU

Nguoi Dung

Ten & Mat khau khong hop le

.CO

[Ten & Mat khau & TT chu de du kien]

Y Kien

DL nguoi dung & DL khac

2.4

XU LY Y
KIEN

[DL chu de du kien cu]

2.2
KET QUA

Ket qua

Chu de du kien

OKS

[Chu de moi]

[Ket qua]

Chu de

KET QUA

S O X LY OI MAT KHAU
3.1

OBO

[Ten & mat khau cu & mat khau moi]


DL nguoi dung & DL khac

KIEM TRA
ten & mat khau cu khong hop le
TEN & MAT
KHAU CU

[thong tin nguoi dung cu]

3.3

DOI MAT
KHAU

Nguoi Dung

[DL nguoi dung moi]

KIL

Nguoi dung

Mat khau cu & moi


Ket qua

3.2
KET QUA
DOI MAT
KHAU

[Ket qua]
KET QUA

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
S O X LY QUAN TR HE THONG

Chu de

Chu de

[DL chu de cap nhat]

[DL chu de]

5.8
QUAN LY
CHU DE

.CO

Chu de du kien

[DL chu de du kien]

ket qua

[DL chu de du kien cap nhat]


5.7
QUAN LY
CHU DE DU
KIEN

5.2
CUNG CAP
TT NGUOI
DUNG

OKS

DL chu de du kien

[DL nguoi dung]


DL Nguoi dung

Nguoi Dung

5.1

KIEM TRA
TEN & MAT
KHAU

[DL tin cu]

Tin
[DL tin cap nhat]

5.4

DL chu de
Ten & Mat khau khong hop le

DL nguoi dung

OBO

[Ten & Mat khauDL


& DL
tin khac]
DL nguoi dung & DL khac

ket qua

DL nhom tin

QUAN LY
TIN

DL nguoi dung cu

5.3
[Ket qua]
TIEP NHAN
KET QUA
KET QUA

ket qua

5.5

Tin

[DL nhom tin]


Nhom tin

QUAN LY
NHOM TIN

ket qua

[Nhom tin cap nhat]

KIL

Nhom tin

[DL nguoi dung cap nhat]

Nguoi
dung

5.6
QUAN LY
NGUOI
DUNG

ket qua

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

S O X LY QUAN LY NGI DUNG


DL nguoi dung cu
5.6.1

[DL nguoi dung]

DL nguoi dung moi

Ket qua them

XU LY THEM
NGUOI DUNG

DL nguoi dung moi

DL nguoi dung can xoa

.CO

ket qua xoa


KIEM TRA TEN & MAT KHAU

5.6.2
[DL nguoi dung cu]

DL nguoi dung cu

XOA NGUOI
DUNG

CUNG CAP TT NGUOI DUNG

[ket qua]
TIEP NHAN KET QUA
[DL nguoi dung cap nhat]

DL nguoi dung xoa

OKS

5.6.3

DL nguoi dung can cap nhat

KIL

OBO

DL nguoi dung cu

CAP NHAT
NGUOI DUNG

DL nguoi dung cap nhat

ket qua cap nhat

Nguoi dung

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

4. M hnh d liu :

S O THC THE KET HP

Gom

II. THIT K:

.CO

USERS
UserID
UserName
Password
Email
Date

Gom
Co

Co

OKS

SUBJECT S
SubjectID
SubjectName
Description

MESSAGES
MessageID
T itle
Content
Date
Available
ReplyID

GROUPS
GroupID
GroupName
Description

KIL

OBO

1. Cc lu :

Gom

NEWSUBJECT S
NewSubjectID
NewSubjectName
Description

ROLES
RoleID
RoleName

Gom

Tra loi

ANSWERS
Yesno

Duoc tra loi

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

NG TIN

.CO

Bt u ng tin

Nhp TT ngi dng


v ni dung tin

Kim tra ti khon ngi


dng v ch tin mun ng
?

OKS

TB ngi dng
Hoc ch khng
tn ti

Tn ti ?

KIL

OBO

Ghi mu tin mi cho


bng MESSAGES

Xut thng bo kt
qu

Tip tc?

F
Kt thc ng tin

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

I DNG

THM NG

.CO

Bt u thm ngi
dng
Nhp TT ngi

TB Username tn
ti

OKS

Kim tra
Username tn
ti ?

Username tn

OBO

Ghi mu tin mi
cho bng USERS

KIL

Xut thng bo kt
qu

Tip tc?

Kt thc thm ngi dng

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

KI N CH

KI N

Bt u thm kin

TB ngi dng
Hoc ch d kin
khng tn ti

.CO

Nhp TT ngi dng


Ch d kin &
kin

Kim tra ti khon ngi


dng v ch d kin tn
ti ?

OKS

Tn ti ?

Kim tra kin ca ngi


dng v ch d kin
tn ti ?

Tn ti ?

OBO

TB ngi dng
c kin

Ghi mu tin mi cho bng


ANSWERS

KIL

Xut thng bo kt
qu
T
Tip tc?

F
Kt thc ng tin

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

PH N H I TIN

.CO

Bt u phn hi tin

Nhp TT ngi dng


v ni dung tin phn hi

OKS

TB ngi dng
Hoc tin chnh
khng tn ti

Kim tra ti khon ngi


dng v tin chnh mun phn
hi ?

Tn ti ?

KIL

OBO

Ghi mu tin mi cho


bng MESSAGES

Xut thng bo kt
qu

Tip tc?

F
Kt thc phn hi tin

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
2.Thit k c s d liu :
a. M hnh d liu:

MESSAGEID = REPLYID

MESSAGES

SUBJECTID = SUBJECTID

SUBJECT S
SUBJECT ID
SUBJECT NAME
DESCRIPT ION
GROUPID

int
varchar(120)
text
int

GROUPID = GROUPID

USERID = USERID

ROLES
ROLEID
ROLENAME

int
varchar(120)

ROLEID = ROLEID

USERS
USERID
int
USERNAME varchar(25)
PASSWORD varchar(20)
EMAIL
varchar(30)
DAT E
datetime
ROLEID
int

USERID = USERID

ANSWERS
USERID
NEWSUBJECT ID
YESNO

int
int
bit

NEWSUBJECT

int
varchar(120)
text

NEWSUBJECT ID
NEWSUBJECT NAME
DESCRIPT ION
GROUPID

OBO

GROUPS
GROUPID
GROUPNAME
DESCRIPT ION

int
int
varchar(120)
text
datetime
bit
int
int

OKS

MESSAGEID
USERID
T IT LE
CONT ENT
DAT E
AVAILABLE
REPLYID
SUBJECT ID

.CO

S O D LIEU MC VAT LY

b. M t cc bng :

GROUPID = GROUPID

int
varchar(120)
text
int

NEWSUBJECTID = NEWSUBJECTID

ROLES (lu tr cc loi vai tr ca ngi dng trong ht thng)


Din gii

Kiu

Rng buc

Ghi ch

RoleID

M vai tr

int

Not Null

Kha chnh

RoleName

Tn vai tr

Varchar(30)

Not Null

KIL

Thuc tinh

USERS (lu thng tin ngi dng)


Thuc tnh

Din gii

Kiu

Rng buc

Ghi ch

UserID

M ngi dng

Int

Not Null

Kha chnh

Username

Tn ngi dng

Varchar(25)

Not Null

Password

Mt khu ng nhp

Varchar(20)

Not Null

http://kilobooks.com
Email

a ch Email

Varchar(30)

Date

Ngy tham gia

Time

RoleID

M vai tr

Int

GROUPS (lu tr nhm tin)


Din gii

Kiu

GroupID

M nhm tin

int

GroupName

Tn nhm tin

Varchar(40)

Description

M t cho nhm tin

text

Kha ngoi

Rng buc

Ghi ch

Not Null

Kha chnh

NEWSUBJECTS(lu tr ch d kin)

.CO

Thuc tnh

Not Null

TH VIEN IEN T TRC TUYEN

Thuc tnh

Din gii

Kiu

Rng buc

Ghi ch

NewsubjectID

M ch d kin

Int

Not Null

Kha chnh

NewsubjectName

Tn ch d kin

Varchar(40)

Not Null

Description

M t

Text

GroupID

M nhm tin

OKS

Not null

OBO

Int

Not Null

Kha ngoi

AUBJECT (lu tr ch ()
Thuc tnh

Din gii

Kiu

Rng buc

M ch

Int

Not Null

SubjectName

Tn ch

Varchar(40)

Not Null

Description

M t cho ch

Text

GroupID

M nhm tin

int

KIL

SubjectID

Not Null

Ghi ch
Kha chnh

Kha Ngoi

MESSAGES (lu tr tin )


Thuc tnh

Din gii

Kiu

Rng buc

Ghi ch

MessageID

M s tin

Int

Not Null

Kha chnh

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Title

Ta tin

Varchar(120)

Not Null

Content

Ni dung

Text

Not Null

Date

Ngy ng tin

Date

Available

Tnh trng dng Bool

ReplyID

M tin chnh

Nhn gi tr o,1

SubjectID

M ch

Int

UserID

M ngi dng

Int

d. Cc rng buc ton vn:

Kho

ngoi

tham chiu n
MessageID

.CO

Int

Not Null

Kho ngoi

Not Null

Kho ngoi

OKS

RB1: RoleID l kho chnh ca ROLES.


RB2: UserID l kha chnh ca USERS.

RB3: GroupID l kho chnh ca GROUPS.

RB4: SubjectID l kha chnh ca SUBJECTS.

RB5: NewSubjectID l kho chnh ca NEWSUBJECT.


RB6: MessageID l kho chnh ca MESSAGES.

OBO

RB7: UserID v NewSubjectID l kho chnh ca ANSWERS.


RB8: RoleID USERS, RoleID USERS : USERS.RoleID =
ROLES.RoleID.
RB9:

GroupID

SUBJECTS,

GroupID

SUBJECTS

SUBJECTS.GroupID = GROUPS.GroupID.

RB10: GroupID NEWSSUBJECTS, GroupID NEWSUBJECTS :


NEWSUBJECTS.GroupID = GROUPS.GroupID.
USERS.UserID.

KIL

RB11: UserID ANSWERS, UserID ANSWERS : ANSWERS.UserID =


RB12: NewsSubjectID ANSWERS, NewsSubjectID ANSWERS :
ANSWERS. NewsSubjectID = NEWSUBJECTS. NewsSubjectID.
RB13:

UserID

MESSAGES,

UserID

MESSAGES

MESSAGES.UserID = USERS.UserID.
RB14: ReplyID MESSAGES, ReplyID MESSAGES : MESSAGES.
ReplyID = MESSAGES.MessageID.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
RB15: SubjectID MESSAGES, SubjectID MESSAGES : MESSAGES.
SubjectID = SUBJECTS. SubjectID.
RB16: message MESSAGES : MESSAGES.Email like (%@%).

RB17: role ROLES : ROLES.RoleName in (admins, managers,


members).

RB18: answer ANSWERS where (ANSWERS.NewSubjectID = a) >= 100

.CO

Nu answer ANSWERS where (ANSWERS.NewSubjectID = a and yesno =


1) > answer ANSWERS where (ANSWERS.NewSubjectID = a and yesno = 0)
Th thm ch d kin ny vo SUBJECTS v hy khi NEWSUBJECTS
Ngc li th hy khi NEWSUBJECTS m khong cn lm g na.

USERS

GROUPS

RB3

RB6
RB7
RB8

RB10

RB15

KIL

RB9

RB16

RB12
RB13
RB14

RB17

MESSAGE

SUBJECTS

ANSWERS

RB5

RB11

OBO

RB4

NEW

SUBJECT

RB1
RB2

OKS

e. Bng tm nh hng

+
+
+

+
+

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
RB18

RB19

.CO

3. Thit k mn hnh:

LIN K T CC MN HNH

Cp
Thm

Ngi
Ch d
Thot

Kt

OKS

Thm ngi dng

ng

Chi tit nhm tin


Chi tit ch

Nhm tin

ng

Ch

i mt

OBO

MN HNH CHNH

Thnh vin mi

Tm kim

Duyt
Hng

Tin chnh

KIL

Tin phn
hi

Phn

Thm ch

Chi tit tin chnh

Kt
Kt

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

Chng 3:
XY DNG WEBMAIL

I. YU CU:

H thng phi p ng c cc chc nng c bn ca mt h thng Mail thng

.CO

thng :Gi , nhn v tm kim th v mt s chc nng c bn khc.Giao din p,


thn thin, d s dng.

1. Cu trc Phn cp cc chc nng ca chng trnh

OKS

Login

KIL

OBO

Check Mail
Xem Th

Reply
Xo Th

Hp
Th
Hp th
Nhn
Hp Th
Gi

Son V Gi
Th
Tim
Kim
Logout

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
2. Kho St Cc Lp i Tng Xy Dng Trong Chng Trnh
Cy Phn Cp Cc Lp i Tng

Object

HttpSessionBindingListen

.CO

HttpServlet
DeleteMessage

SimpleMailUser

DisplayMessage

Inbox
InFolder
Login
Logout
Reply

OBO

displayAttachFil

OKS

ComposeMessag

WebSMTP

Cy Phn Cp Lp i Tng Ca
Chng Trnh

3. Kho St Cc Chc Nng, nh Ngha, Cc Thuc Tnh v Phng Thc


Ca Cc Lp i Tng

a. Lp i Tng DeleteMessage :
 Chc Nng :

KIL

Xo cac Message khi MailServer(POP3 Server).

 Cch thc :

xo mt Mail/Message khi POP3 Server ta ch cn thit lp c DELETED


cho Message cn xa. Sao gi phng thc expunge() ca i tng Folder
tht s xo Message khi a vt l.
 nh Ngha

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
public class deleteMessage extends HttpServlet implements Parameter
{
public void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, java.io.IOException ;


public void delete(HttpServletRequest req, HttpServletResponse resp) ;
 Thuc Tnh V Phng Thc
 Thuc Tnh : khng.
 Phng Thc:

.CO

};

 Phng Thc delete() :anh du v xo cc Message .

OKS

 u vo :

-HttpServletRequest req : ly cc thng s t client.


-HttServletResponse resp : tr li cho client.

OBO

 u ra : khng

 Lu :

Start

I=I+1

KIL

-Ly mailUser t Session hin hnh.


-Ly s message t Session hin hnh
-Ly cc Message trong Folder ca User hin hnh.
-I= 0

I < S
Message

Xa Message[I]?
Y
-Thit lp c
DELETED cho Message[I]

http://kilobooks.com

 Phng thc doPost()


Gi li phng thc delete().
b. Lp i Tng DisplayAttachFile
Chc Nng :

OKS

c file c nh km theo th.

.CO

TH VIEN IEN T TRC TUYEN

nh ngha :

public class displayAttachFile extends HttpServlet implements Parameter


{

public void doGet(HttpServletRequest req,

OBO

HttpServletResponse resp)

public void showAttachFile(HttpServletRequest req,


HttpServletResponse resp,
SimpleMailUser mailUser,
int msg, int part)

};

KIL

throws ServletException, java.io.IOException;

c. Lp i Tng DisplayMessage:
Chc Nng :

Hin th ni dung ca Message.


Cch thc :

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
hin th ni dung ca mt Message th I no ta ch cn m mailbox ca
User hin hnh ly Message th I bng cc phng thc getMessages () ca i
tng Folder v hin th nidung ca Message ln mn hnh.

nh Ngha:

public class displayMessage extends HttpServlet implements Parameter

.CO

public void doGet(HttpServletRequest req, HttpServletResponse resp)


throws ServletException, java.io.IOException ;

public void showMessage( HttpServletRequest req ,

OKS

HttpServletResponse resp, SimpleMailUser mailUser, int msg);


public void showPart(PrintWriter out, SimpleMailUser mailUser,
Part p )

throws ServletException, java.io.IOException ;

protected String getAddress(Address address);

protected String formatAddresses(Address addresses[]);

OBO

Thuc Tnh V Phng Thc


Thuc Tnh : khng.
Phng Thc :

 ShowPart() :Hin th mt phn ni dung ca mt Message.

KIL

 u vo :

-PrintWriter out :lung xut d liu


-SimpleMailUser user :cha thng tin ca user hin hnh.
-Part p :Ch ra phn cn xem ca Message.
 u ra :Khng.

 showMessage(): thc hin vic m phong th v c ni dung bc th.


 u vo :

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
-HttpServletRequest req :lung nhp liu. Cha cc thng tin m Client
yu cu.
-HttpServletResponse resp :lung xut . Tr kt qu cho Client.

 u ra :Khng .
d. Lp i Tng ComposeMessage:

.CO

Chc Nng:

To ra mt giao din nhp liu User c th nhp ni dung Mail m User mun
gi.
nh Ngha

OKS

public class composeMessage extends HttpServlet implements Parameter


{

public void doGet(HttpServletRequest req,

HttpServletResponse resp) throws ServletException,


java.io.IOException

OBO

};

Thuc Tnh V Phng Thc


 Thuc Tnh :Khng.
 Phng Thc :

 doGet() thc hin vic kim tra xem c User no hin thi khng . nu c

KIL

to ra mt giao din nhp liu ,nu khng thot khi chng trnh.
 u vo :

-HttpServletRequest req :lung nhp d liu.


-HttpServletResponse resp : lung xut d liu.
 u ra :khng.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

 Lu :

C mailUser?
Y

.CO

Ly mail user
trong Session hin
hnh

Start

OKS

-To ra Form
son tho th

KIL

OBO

Stop

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
e. Lp i Tng InBox:
Chc Nng:
Ly cc Message trong MailBox ca mailUser.

nh Ngha:

public class Inbox extends HttpServlet implements Parameter

.CO

public void doGet(HttpServletRequest req, HttpServletResponse


resp)throws ServletException, java.io.IOException ;
public void showInbox(HttpServletRequest req,

OKS

HttpServletResponse resp,SimpleMailUser mailUser ) throws


ServletException, java.io.IOException;

public void showSentFolder(HttpServletRequest req,


HttpServletResponseresp , SimpleMailUser mailUser ) throws
ServletException, java.io.IOException;

OBO

protected String getAddress(Address address);


protected String formatAddresses(Address addresses[]);
}

Thuc Tnh V Phng Thc:


 Thuc Tnh : Khng.

KIL

 Phng Thc :

 showInbox() :Hin th cc tiu ca tt c cc Message nhn c.


 u vo :

-HttpServletRequest req :lung nhp d liu.


-HttpServletResponse resp : lung xut d liu.
-SimpleMailUser mailUser : User hin thi.
 u ra :khng.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
 Lu :
Start

I<n
Y

.CO

-Ly tt c cc Message ca
mailUser hin hnh.
-Ly n = tng s Message lu vo
Session.

OKS

M = Message[I]

M b nh
du xo ?

I=I+1

OBO

M thuc
SentFolder?
N

-xut tiu , ngy nhn,


ch ca Message.

 showSentFolder() :Hin th cc tiu ca tt c cc Message gi.


Stop
 u vo :

KIL

-HttpServletRequest req :lung nhp d liu.

-HttpServletResponse resp : lung xut d liu.


-SimpleMailUser mailUser : User hin thi.

 u ra :khng.
 Lu :

Start

-Ly tt c cc Message ca
mailUser hin hnh.
-Ly n = tng s Message lu vo
Session.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

.CO

f.Lp i Tng InFolder:


Chc Nng:

OKS

th gi i.

nh Ngha :

OBO

Hin th cc tn cc hp th ca MailUser :hp th n v hp th lu tr nhng

public class inFolder extends HttpServlet implements Parameter


{

KIL

public void doGet(HttpServletRequest req,HttpServletResponse


resp) throws ServletException, java.io.IOException

public void showFolder(HttpServletRequest req,


HttpServletResponse resp,SimpleMailUser mailUser);

protected String getAddress(Address address);


}

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Thuc Tnh V Phng Thc:
 Thuc Tnh : Khng.
 Phng Thc :

 showFolder(): Hin th cc hp th ca MailUser.


 u vo :

.CO

-HttpServletRequest req :lung nhp d liu.


-HttpServletResponse resp : lung xut d liu.
-SimpleMailUser mailUser : User hin thi.
 u ra : Khng.

 u vo :

OKS

 doGet() : p ng cc yu cu ca mailUser.

-HttpServletRequest req :lung nhp d liu.


-HttpServletResponse resp : lung xut d liu.
-SimpleMailUser mailUser : User hin thi.

OBO

 u ra : Khng.

 getAddress() : i a ch thanh chui.


 u vo :

-Address addr : ia ch cn chuyn sang chui.

 u ra : chui cha a ch.

KIL

g. Lp i Tng Login:
Chc Nng:

Gip User ng nhp vo h thng Mail.


nh Ngha :

public class Login extends HttpServlet implements Parameter


{

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, java.io.IOException;
public void login(HttpServletRequest req ,HttpServletResponse resp)

throws ServletException, java.io.IOException;


}

.CO

Thuc Tnh V Phng Thc


 Thuc Tnh : Khng.
 Phng Thc :

 Login() : gip mailUser ng nhp vo h thng Mail

OKS

 u vo :

-HttpServletRequest req :lung nhp d liu.


-HttpServletResponse resp : lung xut d liu.
 u ra : Khng.
 Lu :

OBO

Start

-Ly mailUser
trong Session hin
hnh
MailUser khng
tn ti ?

Login
Li

-To ra mt mailUser moi


-Lu mailUser ny vo
Session

KIL

-Ly cc thng s
:username & password t
lung nhp req.
N

Connected?

h. Lp i Tng Logout:
Chc Nng:

Stop

Xut cc
hp th
ca User

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Gip mailUser thot khi h thng mail.ng kt ni n MailServer v ng cc
MailBox m user m.
nh Ngha:

public class logout extends HttpServlet implements Parameter


{

.CO

public void doGet(HttpServletRequest req, HttpServletResponse resp)


throws ServletException, java.io.IOException;
}
i. Lp i Tng Reply

OKS

Chc Nng:

y l chc nng cho php mailUser son th hi m cho nhng bc th


nhn.
nh Ngha:

public class reply extends HttpServlet implements Parameter

OBO

protected String getAddress(Address address);


protected String formatAddresses(Address addresses[]);

public void doGet(HttpServletRequest req, HttpServletResponse

KIL

resp) throws ServletException ,IOException;

public void reply(HttpServletRequest req, HttpServletResponse

};

Thuc Tnh V Phng Thc:


 Thuc Tnh : Khng.
 Phng Thc :

resp) throws ServletException ,IOException;

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
 reply() : to ra mt form nhp liu cho bc th hi m . trong khng

cn nhp a ch mail ngi nhn .

j. Lp i Tng WebSMTP

.CO

Chc Nng:

Lp ny nh ngha mt s phng thc h tr vic gi th.


nh Ngha:
public class WebSMTP

OKS

extends HttpServlet
{

private static final String MAIL_USER =

"SimpleMailReader.user";

protected static final String okForm =

OBO

"<HTML><HEAD><TITLE>WebSMTP</TITLE></HEAD>" +
"<BODY><P>Mail sent successfully" +

"<BR><A HREF=\"../newMessage.html\">Write another</A>"


+
"</BODY></HTML>";

KIL

protected void printForm(String form, HttpServletRequest request,


HttpServletResponse response) throws IOException;

protected void doPost(HttpServletRequest request,


HttpServletResponse response);

protected void doSendMessage(HttpServletRequest request,


HttpServletResponse response, Dictionary fields) throws
IOException, MessagingException;

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
public void doUpload(HttpServletRequest request, HttpServletResponse
response) throws IOException, MessagingException ;

Thuc Tnh V Phng Thc


 Thuc Tnh :

.CO

 hng s :MAILUSER , okFORM .

 Phng Thc:

 doSendMessage() :c xy dng thc hi tc v gi th


 doUpload() :thc hin vic phn tch d liu nhn vo t yu cu ca

OKS

User. Form d liu c tch thnh tng cp gi tr name=value lu vo


trong mt bng bm. Nu d liu l mt FILE th n c lu vo mt
i tng ByteArrayDataSource trc khi c lu vo bng bm.
k.Lp i Tng SimpleMailUser:
Chc Nng:

Lu gi cc thng s ca mailUser :mailBox, username,v thc hin mt s

nh Ngha:

OBO

chc nng nh :ng nhp h thng Mail.

public class SimpleMailUser

implements HttpSessionBindingListener

Session m_session; // session cho mot mailuser

KIL

boolean m_loggedIn;// trang thai co1 login chua


Store m_store;

Folder m_inbox;

String m_storeProtocol; //giao thuc luu tru (IMAP4 , POP3)


String m_storeHost; // host luu message
String m_transportProtocol;// giao thuc truyen message

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
String m_transportHost;
String m_user;

public SimpleMailUser();

public Session getSession();


public Folder getInbox();
public Store getStore();
public boolean isLoggedIn();

.CO

public void setInbox(String folder);

String m_fromName; //dia chi email

OKS

public String getStoreProtocol();


public String getStoreHost();

public String getTransportProtocol();


public String getTransportHost();
public String getUser();

OBO

public void setFromName(String name);


public String getFromName();

public String[] getTransportNames();


public String[] getStoreNames();
public void refreshInbox();

KIL

public void login(String store, String storeHost,


String transport, String transportHost,
String user, String password)

throws MessagingException;
protected String[] getProtocolNames(Provider.Type type);
public void valueBound(HttpSessionBindingEvent event);
public void valueUnbound(HttpSessionBindingEvent event);

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
public void close();
}
Thuc Tnh V Phng Thc:

 Thuc Tnh :

 m_session : lu gi phin lm vic ca User .i ny gip ta phn bit

.CO

c cc User khc nhau ti mt thi im.


 m_store: ni lu gi mail ca User.

 m_logedIn:c trng thi bit User ng nhp vo h thng hay


cha.

OKS

 m_inbox :nm gi Folder cha cc Message hin thi ca User.


 m_storeProtocol:giao thc lu tr th (IMAP4 , POP3).
 m_storeHost: tn host ang lu tr th.

 m_transportProtocol:giao thc truyn message (SMTP).


 m_transportHost: tn my SMTP server

OBO

 m_user : ti khon ngi dng trn MailServer.


 m_fromName :a ch email ca user
 Phng Thc :

 public SimpleMailUser() :hm khi to cho mt i tng. Hm ny


thc hin vic khi to mt phin lm vic cho mt User.

KIL

 public void setInbox(String folder) :Lu gi hp th hin hnh.


 public Session getSession(): Ly phin lm vic hin hnh ca User.
 public Folder getInbox(): Ly hp th hin hnh ca User.
 public Store getStore():Ly ni lu gi th.
 public boolean isLoggedIn(): Kim tra xem User c ng nhp hay cha.
 public String getStoreProtocol():ly giao thc lu tr m h thng c h
tr.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
 public String getStoreHost():ly tn my lu tr th.
 public String getTransportProtocol():ly tn giao thc vn chguyn th.
 public String getTransportHost(): ly tn my chu trch nhim vn

chuyn th (SMTP Server).

 public String getUser():ly tn ti khong ca User.

.CO

 public void setFromName(String name): gn a ch email cho User


 public String getFromName():tr ra a ch email ca User.
 public String[] getTransportNames(): Tr ra tn cc giao thc truyn th
m h thng c h tr.

thng c h tr.

OKS

 public String[] getStoreNames():tr ra tn cc gioa thc lu tr m h

 public void refreshInbox(): lm ti hp th .


 public void login(String store, String storeHost, String transport, String
transportHost,

String

user,

String

password)

throws

thng.

OBO

MessagingException: phng thc ny gip User ng nhp vo h

 protected String[] getProtocolNames(Provider.Type type): L tn ca


cc giao thc c h tr ca h thng.
 public void valueBound(HttpSessionBindingEvent event): Khng lm g
c.

 public void valueUnbound(HttpSessionBindingEvent event):phng

KIL

thc ny khi kt thc mt phin lm vic no th h thng t ng


thc hin n.Phbng thc ny ta thc hin vic ng tt c cc hp th
cng nh ngt kt ni vi StoreHost ca user trong session ny.
 public void close():ng cc hp th v ngt kt ni v I StoreHost.

Kt Lun :

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng trnh p ng c mt s chc nng c bn ca mt Web Mail . Tuy
nhin vn cn thiu mt s chc nng nh : ng k a ch mail trc tuyn thng qua
Web, Cha ci t c c ch bo mt cho vic truyn cng nh nhn th .,cha to

ra AddressBook cho tng User...

KIL

OBO

OKS

.CO

Nhng thiu st ny chnh l hng pht trin v sau ca chng trnh.

http://kilobooks.com

.CO

TH VIEN IEN T TRC TUYEN

OKS

Phn 3

KIL

OBO

TNG KT

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 1
NHNG KT QU T C
I. BIN TP NI DUNG:

c th p ng c phn no ni dung c bn ca mt website ca mt


trng i hc. Mc d y khng phi l cng vic n gin, n i hi khng ch v
k thut m cn vn chuyn mn bin tp ni dung ca mt web site.

.CO

II. XY DNG NEWSGROUP:

Trong qu trnh thc hin c bn p ng c kh y cc chc nng ca


mt NewsGroup. Cc tin ng ln c th ngay lp tc c cp nht
III. XY DNG WEBMAIL:

xy dng c mt cng c gi v nhn mail cng vi cc chc nng tin ch

OKS

khc da trn web.

*kt lun: cc chc nng ca cc phn trong web site u c bn c hon

KIL

OBO

thnh v s c trnh by chi tit trong bn bo co ti

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 2:
NHNG TN TI CA TI

I. BIN TP NI DUNG:
II. NEWSGROUP :

Trong qu trnh thc hin cn mt s tn ti nh :


ng k tr thnh thnh vin ca NewsGroup

.CO

Cha th thngbo cho ngi dng bng email mt cch t ng sau khi c
Cha th qun l tin mt cch t ng : sau mt thi gian nht nh, tin s t
ng ht hn hin th.

Cch phi mu trn giao din cha t

OKS

III. WEBMAIL :

Cn mt s ch nng cha th hon thin :


Cha th lu li nhng mail c gi.

Cha to c account mail cho ngi dng.

KIL

OBO

Giao din thit k cha tht uyn chuyn.

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
Chng 3
HNG PHT TRIN TI

Tip thc hon thin cc tn ti nu trn. Ngoi ra, web site s tip tc xy

KIL

OBO

OKS

.CO

dng thm mt s cng c tin ch cho ngi dng nh : Web Chat,

http://kilobooks.com
TH VIEN IEN T TRC TUYEN

MC LC
NI DUNG

Phn 1: M u -------------------------------------------------------- 1

.CO

Chng 1: Web Site T mt gc nhn ------------------------- 2


Chng 2: Web Site ca mt trng i hc mang li nhng g?
Chng 3: Nhng l do a n vic xy dng web

site i hc Hng Vng ---------------------------- 6

OKS

Chng 4: Mc tiu ti ------------------------------------------ 8


Phn 2: Tm hiu cng ngh----------------------------------------- 11
Chng 1: Active Server Pages --------------------------------- 12
I. Active Server Pages l g ? ------------------------------ 12
II. M hnh hot ng ca ASP ---------------------------- 12
III. Cch vit mt tp tin ASP ----------------------------- 13

OBO

IV. Cc i tng c sn (built in object )ca ASP 16


V. Cc component trong ASP------------------------------ 25
VI. ADO Data Interface ------------------------------------ 26
Chng 3: Dch v Mail ------------------------------------------ 30
I. gii thiu h thng v dch v mail --------------------- 30
II Cu trc ca mt bc Mail/ Message ------------------ 32

KIL

Chng 4: Giao thc SMTP ------------------------------------- 35


I. M hnh giao thc SMTP -------------------------------- 35
II. Nghi thc ESMTP --------------------------------------- 46
Chng 5: Giao thc POP3 -------------------------------------- 47
I. Gii thiu --------------------------------------------------- 47
II. Cc trng thi ca POP3 -------------------------------- 48
III. tm tt cc lnh POP3 ---------------------------------- 50
Chng 6: Java Servlet v JavaMail API ---------------------- 55

http://kilobooks.com
TH VIEN IEN T TRC TUYEN
I. Java Servlet ----------------------------------------------- 55
II. JavaMail API --------------------------------------------- 58
Phn 3: Ci t -----------------------------------------------------------

Chng 1: Bin tp ni dung ------------------------------------ 70


Chng 2: xy dng NewsGroup ------------------------------- 74
I. Phn tch x l --------------------------------------------- 74

.CO

II. Thit k --------------------------------------------------- 80


Chng 3: Xy dng Web Mail --------------------------------- 91
Phn 3: Tng kt ----------------------------------------------------- 113
Chng 1: Nhng kt qu t c ---------------------------- 114

OKS

Chng 2: Nhng tn ti ca ti ---------------------------- 115

KIL

OBO

Chng 3: hng pht trin ca ti ------------------------- 116

69

You might also like