I vantaggi delle JSP
La tecnologia JSP ha numerosi vantaggi rispetto ad altretecnologia oggi comunemente usate. Vediamone alcune
Rispetto alle Active Server Pages (ASP)
ASP è una tecnologia concorrente creata da Microsoft.I vantaggi delle JSP si notano principalmente su due fronti.In primo luogo, la parte dinamica è scritta in Java,non in VBScript o qualche altro linguaggio specifico per ASP.Il codice è così più potente e meglio siadatta alla produzione di applicazioni complesse cherichiedono componenti riutilizzabili. Seconda cosa, JSPè portabile anche su altri sistemi operativi e Webservers; non si è così limitati all'uso diWindows NT/2000 e IIS. Si possono fare le stesseconsiderazioni confrontando JSP e ColdFusion; con le JSP sipuò usare il linguaggio Java e non si è legatia nessun particolare prodotto per server.
Rispetto a PHP
PHP è un linguaggio di scripting che ha lacaratteristica di essere free, open source, HTML-embedded eche è in qualche modo simile sia a ASP che a JSP. Ilvantaggio in questo caso consiste nel fatto che la partedinamica è scritta in Java, linguaggio probabilmentegià conosciuto dall'utente, che ha un'APIesauriente per il networking, accesso ai database e consentedi lavorare con oggetti distribuiti, mentre col PHP occorreimparare interamente il linguaggio specifico.
Rispetto ai puri servlets
Le JSP non forniscono alcuna possibilità di lavoro chenon possa essere sfruttata utilizzando semplicemente unservlet. Infatti i documenti JSP sono automaticamentetradotti in servlet per essere esaguiti. Ma è moltopiù conveniente scrivere e modificare una pagina inHTML normale, piuttosto che avere milioni di statementprintln che generano l'HTML. Inoltre, in ambito business,separando la presentazione dal contenuto si puòottimizzare il lavoro di più persone: gli esperti didesign possono costrire il codice HTML con i comuni tool dilavoro e passare il codice così ottenuto aiprogrammatori servlet per l'inserimento del contenutodinamico.
Rispetto ai Server-Side Includes (SSI)
SSI è una tecnologia ampiamente supportata perl'inserimento in pagine Web statiche di parti definiteesternamente. JSP ha maggiori vantaggi di uso poichéha un set di tool per la costruzione delle parti esternemolto più ricco ed ampio. Si hanno inoltre maggioripossibilità per quanto riguarda la parte di rispostaHTTP in cui viene ora inserita la parte esterna. SSI vieneutilizzata normalmente per semplici inclusioni, non perl'utilizzo di parti di codice complesso, come possonoessere l'utilizzo di data form, la creazione diconnessioni a database, ed altre applicazioni di livelloavanzato.
Rispetto a JavaScript
JavaScript, che è completamente distinto dallinguaggio di programmazione Java, è normalmente usatoper generare dinamicamente HTML sul client, costruendo partidella pagina Web mentre il browser carica il documento.Questa è una possibilità molto utile ma risolvesolo situazioni in cui le informazioni dinamiche sono basatesull'ambiente del client. Ad eccezione dei cookies, larichiesta dati HTTP non è utilizzabile dalle routineJavaScript sul client-side. Quindi, mancando i JavaScript diroutine per il network programming, il codice JavaScript sulclient non può avere accesso alle risorse contenutesul server-side, come database, cataloghi, informazione sulprezzo e molto altro. JavaScript può anche essereusato sui server, come viene notevolmente fatto sui serverNetscape o come linguaggio di script per IIS. Java èperò di gran lunga più potente, flessibile,affidabile e portabile.
Rispetto all' HTML statico
Il normale HTML non può contenere informazionedinamica, così le pagine di HTML statico non possonobasarsi su informazione inserita dall'utente o su risorsedati del server-side. JSP è di semplice utilizzo, taleper cui sia abbastanza naturale e ragionevole incrementare ilcodice HTML con l'informazione dinamica che le JSPpossono generare; si beneficia quindi dell'utilizzo diinformazione dinamica in modo conveniente. Precedentementel'inserimento di informazione dinamica era talmentecomplesso da precluderne l'utilizzo anche in molteapplicazioni di grande valore.