You are on page 1of 7

- 1 -

Bneenne n Web-nporpamnpanero c Java cpnnern



Cnernnn Haxon, 2000
http://www.nakov.com

B nocnennre ronnn n pesynrar na ypnoro pasnnrne na HHTEPHET n WEB-rexnonornnre
renepnpanero na nnamnunn WEB-crpannnn crana nensexna uacr or nsrpaxanero na ncxxa WEB-
opnenrnpana nn]opmannonna cncrema. Ha-neue nyxara or opaorxara n nsnnnuanero na
nn]opmannx or xopnoparnnnn asn annn npes WEB onee o cepnosno pasnnrne na WEB-
nporpamnpanero xaro nxno. B nacroxmara crarnx me pasrneame cncem naxparxo ocnonnnre naunnn
sa ocranxa na nnamnuna nn]opmannx n WEB, xaro ce cnpem no-nopono na ena cpannnrenno
nona rexnonornx JAVA cpnnernre.
Ena or npnnre rexnnxn nsnonsnann n HHTEPHET sa renepnpane na crpannnn c nnamnuno
cpxanne e ocra nsnecrnnxr Common Gateway InterIace (CGI). upes CGI web-cpnpr noana
saxnxa na nnmna nporpama, xoxro ce nsnnnxna na cpnpa. Hsxor or rasn nporpama ce nsnpama
npn xnnenra xaro crarnuen oxymenr nnn uacr or oxymenr. Honsara or CGI e nsmoxnocrra sa
nrpaxane na ncnuxn nnone ]ynxnnonannocr nn nnamnuno renepnpann web-crpannnn xaro rona
ocrana cxpnro or xnnenrcxnx paysp. Hopan ronemnre cn nsmoxnocrn n necnora sa nsnonsnane
CGI pso ce npenpma n cranapr sa noneuero web-cpnpn, xaro ce yrnpxana xaro cranapren
mexannsm sa xomynnxannx mexy cpnpa n nnmnn cpnpcxn npnnoxennx (server-side
applications). Koraro xnnenrcxnxr paysp nsnparn saxnxa sa ocrn o CGI-nporpama, web-
cpnpr csana non nponec sa a x nsnnnn n noana napamerpnre upes npomennnnn or cpeara
nnn cranaprnnx nxo. Hporpamara nsnnnxna saxnxara n npma pesynrarr na cranaprnnx nsxo.
Homoro na rasn momna rexnonornx e ue csananero na non nponec e anna onepannx n ornema
snaunrennn pecypcn cpnpcxn pecypcn. Karo cnecrnne cpnpr crana anen n poxr xnnenrn,
xonro morar a ar ocnyxenn n eno n cmo npeme namanxna. Bnpexn rona CGI-nporpamnre
morar a ce nannmar na nourn ncnuxn esnnn sa nporpamnpane n cxpnnrone, xonro ce nopxar or
cpnpa n onepannonnara cncrema. B UNIX-cpen na-uecro ce nsnonsnar Perl-cxpnnrone, SHELL-
cxpnnrone n nporpamn na C, oxaro no WINDOWS morar a ce nsnonsnar n nponsnonnn nsnnnnmn
nporpamn na C, DELPHI, Basic n r.n. Hsnonsnanero na Perl nosnonxna mexynnar]opmena
npenocnmocr na xoa, no nnnoro na nnrerpannx mexy web-cpnpa n cpnpcxara nporpama ne e
opo, nonexe re ca orennn nponecn.
3a noopxnane na cxopocrra na CGI-rexnonornxra ce noxnxna nenn ycnpmencrnan moen
FastCGI. FastCGI e nourn xaro CGI, no sa pasnnxa ro nero, web-cpnpr ne csana ncexn nr
nponec npn saxnxa xm CGI-nporpama, a craprnpa neoxonmara nporpama npn npnara saxnxa, a
cne rona x nsnonsna es a csana non nponec. Bnpexn ue rona noopenne na CGI rexnonornxra
e crnxa n npannnnara nocoxa, rx ne pemana nxxon or nponemnre. Hpn saxnxa na nxxonxo xnnenra
xm ena n cma nporpama enonpemenno ornono ce nanara craprnpane na nxxonxo nponeca, a ocnen
rona nnrerpannxra c web-cpnp ornono ne e mnoro opa.
Ena opo pemenne na nponemnre e peannsnpano n na-nonynxpnnx n na-nsnonsnannx
web-cpnp n cnera Apache (no nocnenn annn c Apache paorxr noneue or 60 or ncnuxn web-
cpnpn n cnera). Apache nma nsmoxnocr a nrpan n cee cn nnrepnperaropa na Perl, xaro
noopxna cepnosno cxopocrra n nnrerpannxra. Kaxro snaem Perl e mnoro momen cxpnnr-esnx sa
csanane na server-side cxpnnrone, xoro e npoexrnpan n paspaoren cnennanno sa rasn nen.
Texnonornxra e nsnecrna xaro modperl n nanocnex onna nonynxpnocr.
Hanocnex sa manxn n cpenn xnnenrn na-uecro ce nsnonsna cranaprnara xon]nrypannx
sa nnrepner cpnp OC: Linux, sa no-cepnosnnre SunOS nnn pyr UNIX, web-cpnp: Apache c
modperl nnn PHP, asa or annn: MySQL, PostGre, a sa no-cepnosnnre ORACLE.
pyr onnr sa noopxnane na e]exrnnnocrra na CGI/Perl rexnonrnxra e peannsannxra na
PerlEx sa WINDOWS NT, xoxro onxxe cmo nnrerpnpa Perl n web-cpnpa.
Karo cncem pasnnuen noxo moxe a ce pasrnear cpnpnnre pasmnpennx, xonro ce
nopxar or nxxon web-cpnpn. Crana nnpoc sa Netscape NSAPI, MicrosoIt ISAPI n pyrn. Tesn
- 2 -
rexnonornn nosnonxnar a ce pasmnpn ]ynxnnonannocrra na web-cpnpa upes nrpaxane na
nsnnnnm xo n nponeca na camnx cpnp, xoero npn opa peannsannx non o nsxnmunrenno
ronxma e]exrnnnocr, no uecro nrn rona e sa cmerxa na naexnocrra. Onxnoneno raxnna nporpamn
ce nnmar na C/C n ce sapexar xaro DLL nnnorexn n apecno npocrpancrno na cpnpa.
Hponemr e, ue npn xpamnane na eno raxona nrpaeno cpnp-pasmnpenne, nonxxora ce xpamna
nnn noxnpna nennxr cpnp n rpxna a ce pecraprnpa. Tona nancrnna rona e mnoro cepnosen
nponem.
pyra anrepnarnna na CGI e rexnonornxra Active Server Pages (ASP) na MicrosoIt. ASP
nosnonxna csanane na nnamnunn web-crpannnn, xaro sa nenra nennxr xo, xoro nopaxa
nnamnunoro cpxanne ce nrpaxa n HTML oxymenrnre n ce nsnnnxna na cpnpa npen
xnnenrr a nonyun crpannnara, sa xoxro e an saxnxa. Tosn cranapr ce nopxa nourn camo or
MicrosoIt Internet InIormation Server (IIS), xoro nma nomara cnana, ue e cnao naexen n necno
nponnaem. Bnpexn rona na-nocne nepcnx 5.0 na IIS moxe a ce cmxra neue sa crannna (nce nax
www.microsoIt.com paorn c nex). Ena 20 or cpnpnre n HHTEPHET paorxr c IIS.
Hoona rexnonornx sa renepnpane na crpannnn c nnamnuno cpxanne e PHP. PHP e
xnneprexcron npenponecop, xoro nosnonxna a ce nnmar cxpnnrone n HTML oxymenrnre. To ce
nncrannpa xm web-cpnpa n xoraro xnnenrr ae saxnxa sa nxxox crpannna, cpnpr x nsema,
samecrna ncnuxn cxpnnrone c pesynrara or nsnnnennero nm n npma renepnpanara no rosn naunn
nnamnuna crpannna. Meror ce ornnuana c ronxma psnna, nonexe cxpnnronere ce
nnrepnpernpar or npenponecopa na PHP es a ce npann non nponec. Hnrerpannxra cc cpnpa e
opa. PHP e npenasnauen na-neue sa cpnpa Apache, xero ce peannsnpa xaro moyn noono
na modperl. Cmecrnyna napnanr na PHP sa IIS, no ram e peannsnpan xaro CGI-nporpama n, pasnpa
ce, e no-anen.
Netscape Enterprise Server nsnonsna server-side JavaScript xaro anrepnarnna na CGI n ASP.
Mexannsmr e cmnxr. Hporpamnnx xo ce nrpaxa nanpano n HTML oxymenra n ce nnrepnpernpa
or cnppa.
pyra noona anrepnarnna e Cold Fusion. upes cocrnenn rarone n HTML oxymenrnre ce
nrpaxa nporpamen cxpnnr-xo. oxymenrnre ce nnrepnpernpar or Application-cpnpa na Cold
Fusion, xoro ce npenara sa noneuero nonynxpnn web-cpnpn. Texnonornxra npenara
nsxnmunrenno necen n npocr ocrn o asn or annn, es a ce nanara mnoro nncane na xo.
Cmara nexra sa nrpaxane na xo n HTML oxymenra e peannsnpana n JSP (Java Server
Pages), camo ue xor ce nnme na JAVA, xoero ana ronxma rnxanocr na npnnoxennero, sa cmerxa
na noneue nncane. Honeue sa JSP uerere n xpax na crarnxra.
Hsnonsnanero na JAVA xaro server-side esnx sa nporpamnpane n HHTEPHET sa renepnpane
na nnamnunn web-crpannnn n nocnennre ronnn nperpnx ypno pasnnrne n on ronxma
nonynxpnocr. Ena or rexnonornnre, xonro ce yrnpnxa e nporpamnpanero c JAVA cpnnern.
Hpno rpxna a nsxcnnm, ue cpnnernre ne ca annern. Annernre ca nporpamn na JAVA, xonro ce
nsnnnxnar na mamnnara na xnnenra or neronnx web-paysp nrpe n camnx HTML oxymenr, xoro
ro pasrnexa. 3a pasnnxa or rxx JAVA cpnnernre ca anrepnarnna na CGI, xoxro npenara naunn sa
renepnpane na nnamnunn HTML crpannnn upes nporpamn nanncann na JAVA, xonro ce nsnnnxnar
na cpnpa. Cpnnerr npecrannxna xomnnnnpan JAVA xnac (nporpama na JAVA), xoro cron n
cnennanna npexropnx na cpnpa n ce nsnnxna or xnnenrcxnx paysp upes saxnxa sa nonyuanane na
crpannna nnn upes submit-nane na HTML ]opma. Cpnnerr opaorna noaennre my napamerpn n
npma xaro pesynrar nnamnuno renepnpan HTML oxymenr. Mexannsmr e nooen na
nsnnxnanero na nporpama upes CGI, no sa pasnnxa or nero e no-ps.
3a a nsnonsname cpnnern, nn e neoxonm cpnp, xoro rn nopxa (Java Web Server,
Netscape Enterprise Server n p.) nnn rpxna a nncrannpame cnennannn pasmnpennx (plug-ins) xm
cpnpa, xoro nsnonsname (raxnna ca ocrnnn sa noneuero nonynxpnn web-cpnpn xaro Apache n
IIS).
Kaxro esnxr JAVA, raxa n JAVA cpnnernre ca npoexrnpann c nen a nosnonxr
npenocnmocr. Te ce nopxar na ncnuxn nnar]opmn, xonro nopxar JAVA. Karo nsoperenne na
Java SoItware (nopasenenne na Sun Microsystems) re ca pasmnpenne na nrpaenara nn
- 3 -
nnpryannnre mamnnn na JAVA cranaprna nnnorexa c xnacone JDK, no ne ca uacr or nex.
Fnnnorexara sa nopxxa na cpnnern ce napnua JSDK n e ocrnna sa nsrernxne or
http.//fava.sun.com/products/servlet/. Ocnonnnre xauecrna na rexnonornxra ca npenocnmocr, momnocr,
nspxnnnocr, naexnocr, pasmnpxemocr, nnrerpannx. 3a ronxma psnna ne moxe a ce ronopn,
nonexe esnxr JAVA no npnnnnn ce nnrepnpernpa or npryannara mamnna, a rosn nponec e ocra
anen n cpannenne c xomnnnnpana o nsnnnnm xo nporpama. Ocnen rona esnxr JAVA e or no-
nncoxo nnno n cpannenne c C n pyrn esnnn sa nporpamnpane, xoero, pasnpa ce, ro npann ocra
no-anen or rxx. Hesanncnmo ue camnre cpnnern ca no-annn or xomnnnnpan nsnnnnm xo, nonexe
ca nporpamn na JAVA, craprnpanero na cpnner e psa onepannx, samoro cpnnernre ce sapexar n
namerra na cpnpa xaro oexr nenx, npn npnoro nm craprnpane n cne rona camo ce nsnnxnar,
xoero crana nourn momenranno. Enonpemennoro nsnnnxnane na nxxonxo saxnxn xm enn n cm
cpnner ce nsnpmna n orennn thread-one enonpemenno. Cpnnernre ca nannno npenocnmn.
Moxere a paspaornare cpnnern nanpnmep no Windows NT c JDeveloper n a rn recrnare c Java
Web Server, a nocne a rn npenecere xm xpanoro nm mecronasnauenne, nanpnmep UNIX cncrema c
Apache. Hopan momnocrra na esnxa JAVA, moxere a nanpannre ncnuxo, xoero noncxare or na-
npocr poxu na nocernrennre o nnamnuno renepnpane na nsrne or reorpa]cxn xaprn nnn
anromarnuen mexyesnxon npono na rexcr. B rasn nacoxa JAVA cpnnernre npensxoxar ronxma
uacr or ocranannre anrepnarnnn sa web-nporpamnpane xaro Perl, PHP n server-side JavaScript.
Ornocno crannnocrra n naexnocrra, moxe a ce xaxe, ue cpnnernre npnrexanar ronxma
cnrypnocr n naexnocr, xoero nna or camnx esnx JAVA, xoro npnrexana resn xauecrna. ope
nanncan JAVA cpnner ne moxe a e nsnonsnan sa neoropnsnpano nponnxnane n cpnpa, oxaro
ronxma uacr or CGI nporpamnre, xonro ca xomnnnnpann o nsnnnnm xo nxa mornn a ce nponxr
(nanpnmep upes cranaprnara rexnnxa 'buIIer overIlow) n a ce ocmecrnn neneranno xaxepcxo
nponnxnane na mamnnara, nocnenano or xpaxa nnn ynnmoxenne na naxna nn]opmannx (nanpnmep
xpenrnn xaprn, ]npmenn oxymenrn, naponn n r.n.). Ornocno nnrerpannxra moxem a xaxem, ue
nonexe cpnnernre ce nsnnnxnar nrpemno or cpnpa, cpnpr n cpnnernre morar a cn
xomynnxnpar necno, noxene n noneuero cnyuan re ca eno nxno. Texnonornxra e necno pasmnpxema.
C nsnonsnanero na nonn onnnnrennn xnacone n upes pasmnpxnane na Servlet API-ro, moxe a ce
nocrnrne nopxxara na nonnre rexnonornn n cranaprn, xoro me ce noxnxr n eme.
Hexa a nornenem xax nsrnexa enn npocr JAVA cpnner:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {
public void doGet (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
ServletOutputStream out = resp.getOutputStream();
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello World Servlet</TITLE></HEAD>");
out.println("<BODY>");
out.println("<H1>Hello, World!</H1>");
out.println("</BODY></HTML>");
}
}

Tosn cpnner nacnexna n pasmnpxna cranaprnnx sa JSDK xnac HttpServlet. Bcexn nr, xoraro
cpnpr nonyun GET-saxnxa sa ocrn o cpnnera, ro nsnnxna doGet() meroa my, xaro my noana
oexrn HttpServletRequest n HttpServletResponse, upes xonro cpnnerr moxe a nsnma napamerpnre
na saxnxara n a csana orronopa na cpnpa. Hoxasannx no-rope cpnner nrnopnpa napamerpnre n
npma nnamnuno renepnpan HTML oxymenr, xoro nsrnexa no cnennx naunn:

- 4 -


Cnenamnxr cpnner emoncrpnpa necnorara c xoxro ce nonyuanar napamerpnre. To
nonyuana xaro nxo nme na uonex n my xasna 'spane. Pasnnxnre or npennx ca mnnnmannn.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
public void doGet (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
ServletOutputStream out = resp.getOutputStream();
String name = req.getParameter("name");
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello Servlet</TITLE></HEAD>");
out.println("<BODY>");
out.println("<H1>Hello, " + name + "</H1>");
out.println("</BODY></HTML>");
}
}

Ero n pesynrarr or nsnnnennero my c napamerp 'Svetlin Nakov :



B INTERNET uecro ce cpemar HTML ]opmn, n xonro norpenrenxr nnexa nxxaxna
nn]opmannx n x noana na cpnpa. Cpnpr nsnnnxna nxxaxn cxpnnr, nporpama nnn cpnner,
xoro opaorna saxnxara n npma nnamnuno renepnpana or nero crpannna na xnnenra. Ero enn
npnmep xax nxme mornn a ce nanpannm raxana HTML ]opma:

<HTML>
<HEAD> <TITLE> Hello Form </TITLE> </HEAD>
- 5 -
<BODY>

<FORM METHOD=GET ACTION="/servlets/HelloServlet">
Please enter your name:
<INPUT TYPE=TEXT NAME="name">
<INPUT TYPE=SUBMIT VALUE="OK">
</FORM>

</BODY>
</HTML>

Ero n pesynrarr, xoro norpenrenxr nnxa:



Hpn narncxane na yrona 'OK ce nsnnxna cpnnerr sa nospan no nme n my ce noana napamerpa
'name, nneen n nonero sa nme. B namnx cnyua narncxanero na rosn yron e exnnnanenrno na
noncxnane na apeca http://localhost/servlets/HelloServlet?name=Svetlin+Nakov. Ho
nooen naunn, upes xomnnannx or HTML ]opmn, cpnnern n asn or annn, moxe a ce nanpanxr
cnoxnn nn]opmannonnn web-asnpann cncremn, xonro ocmecrnxnar nma nanor c norpenrenx.
Hxxon ccnpn nopxar cnennanen rar SERVLET~, xaro no rosn naunn nosnonxnar nsnnxnane
na cpnner npexrno or HTML crpannna. Tasn rexnonornx onpocrxna n onexorxna cpnnernre, xaro
pasenx nnrep]eca or nornxara. Hourn ncnuxo ornacxmo ce o nnrep]eca ce o]opmx or
webmaster-a, xoro csana .html ]an c npenapnrenno csaennx manon na HTML oxymenra.
Bcnuxo ornacxmo ce o opaorxara na annnre n nsnnnuanero na nnamnunoro cpxanne ce
nsnpmna or nporpamncra, xoro nmecro a npma nxn HTML oxymenr, npma camo ena uacr or
nero. Hporpamncrr nnme nporpamara, xomnnnnpa x o .class ]an n x sanncna n cornernara
npexropnx na cpnpa. Hponemn nma npn recrnanero, nonexe xaxro nsxcnnxme no-rope, cpnnerr
ce sapexa camo nenx, a cne rona ce nsnnxna or namerra na cpnpa. B rosn cnyua axo
nporpamncrr npomenn cpnnera, cpnpr nxma a ro npouere nanono n npomennre nxma a ce
orpasxr. B raxnna cnyuan nporpamncrr rpxna a pecraprnpa nnn nennx cpnp nnn camo uacrra or
nero, xoxro nopxa cpnnernre nnn, axo cpnpr nosnonxna, camo nnpocnnx cpnner. Ero n
enn npnmep sa nrpaxane na SERVLET~ rar n HTML oxymenr. Hexa namara crpannna ce xasna
'test.shtml. 3aenexere pasmnpennero '.shtml. To nocxasna na cpnpa, ue crpannnara cpxa
cpnnern, xonro rpxna a ce nsnnnxr n a ce samecrxr c npnaroro or rxx:

<HTML>
<BODY>

This page is visited
<SERVLET CODE="CounterServlet"> </SERVLET>
times.

</BODY>
</HTML>

- 6 -
Ero n xoa na CounterServlet nporpamxara, xoxro nsnpmna cncem npocro (n manxo nexauecrneno)
npepoxnane na nocernrennre:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {

static int count = 0;

public void doGet (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
ServletOutputStream out = resp.getOutputStream();
out.println(++count);
}
}

Hxma a pasrnexame no-nopono npaxrnuecxoro nporpamnpanero c JAVA cpnnern,
nonexe nenra na nacroxmara crarnx e a sanosne unrarennre c rexnonornxra, xaro nxno n xaxno rx
npenara, es a nanxra na erannre. Honeue nn]opmannxra sa nporpamnpanero c JAVA cpnnern
moxere a nonyunre xaro nocernre cnennre apecn:
www.servlets.com, developer.java.sun.com/developer/onlineTraining/Servlets/Fundamentals/index.html
3a nac nrapnre enn or na-uecrnre nponemn e nopxxara na xnpnnnna. ann
oxymenrnre n saxnxnre na xnpnnnna me ce opaornar npannnno sanncn onxxe or cpnpa n
onxxe or nporpamncra. Hpenopuna ce nsnonsnane na cpnp, xoro e npnroen sa paora c
xnpnnnna, nanpnmep Apache (http://www.apache.org), xoro nma pycxa nepcnx. 3a ocranannre
cpnpn, onxnoneno nopxxara na xnpnnnna ce ycranonxna c noxoxmn nacrpoxn. Hponemn c
xnpnnnnara nma n npn ocrn o cpnpn sa asn or annn. Hponemr ornono ce pemana c
noxoxmn nacrpoxn na cpnpa n panepnre sa ocrn. Bcnuxn nonynxpnn cpnpn sa asn or
annn nopxar xnpnnnna. Tpxna a ce orenexn, ue nponemnre c xnpnnnna ne ce ornacxr camo
sa JAVA cpnnernre, a cmo n sa ronxma uacr or cpnpnre n rexnonornnre, xonro renepnpar
nnamnuen HTML. Baxno e a ce orenexn, ue npn npeanane na napamerpnre xm cpnner,
nporpamncrr moxe a nsnonsna cnenara nporpamna xnrpocr, sa a npeoonee nponemnre c
xnpnnnna:
1


String name = request.getParameter("name");
try { // Decode the cyrillic parameter value
name = java.net.URLDecoder.decode(name);
} catch (Exception e) {}

C nsnonsnanero na rosn xo ce nocrnra npannnnoro pasxonpane na napamerpa 'name, xaro ce
nsxrnar nponemnre c xnpnnnnara n pyrn nenarnncxn asyxn.
B oomenne rpxna a orenexnm xora e noxoxmo a ce nsnonsnar JAVA cpnnern n xora
e no-ope a ce nsnonsnar pyrn rexnonornn. Cpnnernre nn ocnrypxnar ronxma momnocr n
]ynxnnonannocr, ronxma cnrypnocr n naexnocr, a cmo n npenocnmocr. Hoxoxmn ca sa ronemn
npoexrn, xero rpxna a ce nsnpmna cnoxna opaorxa na annn, sa a ce nonyun neoxonmnx
nnamnuen pesynrar, a cmo n xoraro naexnocrra e or cmecrneno snauenne. Tpxna a
orenexnm, ue opn sa npocrn nema na JAVA rpxna a ce nsnnme ocra nporpamen xo, sa pasnnxa
or nxxon pyrn esnnn sa nporpamnpane, noxoxmn sa web-paspaorxa. Karo oannm, ue JAVA e
cna n anen esnx npn rexcroopaorxara, necno ce copasxna, ue sa manxn n npocrn nporpamxn e
no-noxoxm Perl nnn PHP. Koraro crana nnpoc sa ocrn o asn or annn, JAVA cpnnernre ce
cnpanxr ope, no ornono rona crana noneue rpy n mnoro nncane na nporpamen xo, n cpannenne c
npenasnauennre cnennanno sa rona cpnpnn pasmnpennx, xaro nanpnmep ColdFusion n Oracle

1
Anropr naroapn sa npeocranennxr xo n peaxropcxnre saenexxn na nmnrp Hpoanon
- 7 -
Application Server. Taxa ue sa npocrn nema ne mora ropemo a npenopuam cpnnernara rexnonornx.
Hanocnex Sun ce onnrna a nanoxn Java Server Pages (JSP) rexnonornxra n oanxa xm
cpnnernara. Kaxro neue orenxsaxme JSP rexnonornxra nosnonxna nrpaxane na JAVA xo
npexrno n HTML oxymenrn nocpecrnom cnennannn rarone. Crpannnnre c JSP ce opaornar or
cnennanen JSP-engine, xoro rn npounra, npeopasyna rn n JAVA copc xo, xomnnnnpa rn n rn
nsnnnxna. Fpsoecrnnero ce nocrnra or rona, ue rosn nponec ce nsnpmna enoxparno npn
npnoro sapexane na crpannnara c JSP xo, a cne rona xomnnnnpannxr JAVA xo ce nsnnnxna
xaro nopmanen JAVA cpnner. Enn neocrarx na rexnonornxra e ue npn nex HTML rexcrr ce
nrpaxa xaro xoncranrn n nporpamnnx xo, a ne e n uncr nn. Tona, nanpnmep n PHP, e npeoonxno
upes nsmoxnocrra sa cueranane na uncr HTML recxr n ]parmenrn nporpamen xo n enn n cm
]an.

Hsnonsnana nnreparypa:
1. Hunter J., 'Java Servlet Programming, O`Reilly, Sebastopol, USA, 1998
2. Zeiger S., 'Servlet Essentials, http://www.novocode.com/doc/servlet-essentials/
3. Fischer D. 'Oracle Java Roadmap: Java Servlets, http://technet.oracle.com/tech/java/servlets/

You might also like