6 999
contributi
S3v (discussione | contributi) (+ versioni compatibili e altro) |
|||
Riga 1: | Riga 1: | ||
{{Versioni compatibili | Squeeze}} | |||
== Cos'è Tomcat ? == | == Cos'è Tomcat ? == | ||
Tomcat è un web server dotato di un servlet container. Ciò lo rende in grado di rendere disponibili non solo pagine web tramite il protocollo HTTP ma di eseguire Java Servlet e tutte le tecnologie web su di esse basate quindi pagine JSP ma anche importanti framework come Spring.<br/> | Tomcat è un web server dotato di un servlet container. Ciò lo rende in grado di rendere disponibili non solo pagine web tramite il protocollo HTTP ma di eseguire Java Servlet e tutte le tecnologie web su di esse basate quindi pagine JSP ma anche importanti framework come Spring.<br/> | ||
È importante conoscerlo | È importante conoscerlo perché rappresenta un ottimo modo, opensource, per praticare la programmazione web in Java, nei casi in cui non sia indispensabile utilizzare un vero application server.<br/> | ||
Tuttavia molti progetti molto delicati sotto ospitati su Tomcat.<br/> | Tuttavia molti progetti molto delicati sotto ospitati su Tomcat.<br/> | ||
Infine, da ricordare che si tratta di un progetto sviluppato dalla [http://www.apache.org Apache Foundation] ed è tuttora opensource e progredisce grazie alla libera collaborazione di ottimi programmatori di tutto il mondo.<br/>Attualmente è distribuito sotto la [http://www.apache.org/licenses Apache License versione 2]. | Infine, da ricordare che si tratta di un progetto sviluppato dalla [http://www.apache.org Apache Foundation] ed è tuttora opensource e progredisce grazie alla libera collaborazione di ottimi programmatori di tutto il mondo.<br/>Attualmente è distribuito sotto la [http://www.apache.org/licenses Apache License versione 2]. | ||
Riga 14: | Riga 15: | ||
* utilizzando la versione libera openjdk; | * utilizzando la versione libera openjdk; | ||
* facendo ricorso al pacchetto della Sun. | * facendo ricorso al pacchetto della Sun. | ||
Percorreremo la seconda via ma, per fare ciò, sarà necessario apportare delle modifiche al file /etc/apt/sources.list. | Percorreremo la seconda via ma, per fare ciò, sarà necessario apportare delle modifiche al file <code>/etc/apt/sources.list</code>. | ||
Tramite il comando: | Tramite il comando: | ||
<pre> | <pre> | ||
Riga 46: | Riga 47: | ||
# aptitude search tomcat | # aptitude search tomcat | ||
</pre> | </pre> | ||
Si possono vedere le versioni di | Si possono vedere le versioni di Tomcat disponibili.<br/> | ||
Se, ad esempio, si ottiene il seguente output: | Se, ad esempio, si ottiene il seguente output: | ||
<pre> | <pre> | ||
Riga 57: | Riga 58: | ||
p tomcat6-user | p tomcat6-user | ||
</pre> | </pre> | ||
Si potrebbe iniziare installando i pacchetti tomcat6 e tomcat6-admin per l'amministrazione. | Si potrebbe iniziare installando i pacchetti <code>tomcat6</code> e <code>tomcat6-admin</code> per l'amministrazione. | ||
<pre> | <pre> | ||
# aptitude install tomcat6 tomcat6-admin | # aptitude install tomcat6 tomcat6-admin | ||
</pre> | </pre> | ||
Una volta terminata l'installazione del server, per provarlo sarà sufficiente aprire il browser e richiedere l'indirizzo | Una volta terminata l'installazione del server, per provarlo sarà sufficiente aprire il browser e richiedere l'indirizzo IP della macchina '''alla porta 8080'''.<br/> | ||
Ad esempio, se l'indirizzo IP della macchina con il server Tomcat è 192.168.1.100, si dovrà testare Tomcat contattando: | Ad esempio, se l'indirizzo IP della macchina con il server Tomcat è 192.168.1.100, si dovrà testare Tomcat contattando: | ||
<pre> | <pre> | ||
Riga 73: | Riga 74: | ||
All'interno, troviamo: | All'interno, troviamo: | ||
; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat6/'' | ; conf : contenente i file di configurazione del server, è un link a ''/etc/tomcat6/'' | ||
; logs : contiene tutti i log delle varie istanze di | ; logs : contiene tutti i log delle varie istanze di Tomcat. È un link alla directory ''/var/log/tomcat6'' | ||
; shared : | ; shared : | ||
; temp : | ; temp : | ||
; webapps : cartella contenente le applicazioni web che realizzeremo. | ; webapps : cartella contenente le applicazioni web che realizzeremo. | ||
; work : link a /var/cache/tomcat6 | ; work : link a ''/var/cache/tomcat6'' | ||
Probabilmente le cartelle a cui metteremo mano particolarmente saranno '''conf''' (/etc/tomcat6) per la fase di configurazione ma soprattutto '''webapps''' per il vero e proprio utilizzo del server. | Probabilmente le cartelle a cui metteremo mano particolarmente saranno '''conf''' (<code>/etc/tomcat6</code>) per la fase di configurazione ma soprattutto '''webapps''' per il vero e proprio utilizzo del server. | ||
== Usare Tomcat == | == Usare Tomcat == | ||
Riga 85: | Riga 86: | ||
Comunque per prima cosa è bene ricordare che Tomcat è un '''web server''' in grado quindi di pubblicare normali pagine web e risorse. | Comunque per prima cosa è bene ricordare che Tomcat è un '''web server''' in grado quindi di pubblicare normali pagine web e risorse. | ||
=== Usare Tomcat come Web Server === | === Usare Tomcat come Web Server === | ||
Aprendo la cartella webapps, collocate in /var/lib/tomcat6 come già detto, vedremo subito una cartella di nome ROOT. Questa cartella è già pronta per la pubblicazione di pagine web.<br/> | Aprendo la cartella <code>webapps</code>, collocate in <code>/var/lib/tomcat6</code> come già detto, vedremo subito una cartella di nome <code>ROOT</code>. Questa cartella è già pronta per la pubblicazione di pagine web.<br/> | ||
Se ad esempio il nostro server risponde all'indirizzo http://192.168.1.100:8080, collocando una pagina HTML in webapps/ROOT tipo una banale hello.html: | Se ad esempio il nostro server risponde all'indirizzo http://192.168.1.100:8080, collocando una pagina HTML in <code>webapps/ROOT</code> tipo una banale <code>hello.html</code>: | ||
<pre> | <pre> | ||
Riga 103: | Riga 104: | ||
</pre> | </pre> | ||
In alternativa, è possibile creare una nuova directory in webapps, ad esempio webapps/hellodir, e mettere all'interno le proprie pagine web.<br/> | In alternativa, è possibile creare una nuova directory in <code>webapps</code>, ad esempio <code>webapps/hellodir</code>, e mettere all'interno le proprie pagine web.<br/> | ||
Ad esempio, copiando '''il solo file HTML''' webapps/ROOT/hello.html, realizzato prima, in webapps/hellodir, lo si potrà trovare all'indirizzo: | Ad esempio, copiando '''il solo file HTML''' <code>webapps/ROOT/hello.html</code>, realizzato prima, in <code>webapps/hellodir</code>, lo si potrà trovare all'indirizzo: | ||
<pre> | <pre> | ||
Riga 110: | Riga 111: | ||
</pre> | </pre> | ||
Utilizzare sottodirectory di webapps, diverse da ROOT, può risultare comodo per usare Tomcat con diversi utenti, assegnando una sottodirectory di webapps ad ogni applicazione su cui lavorare. | Utilizzare sottodirectory di <code>webapps</code>, diverse da <code>ROOT</code>, può risultare comodo per usare Tomcat con diversi utenti, assegnando una sottodirectory di <code>webapps</code> ad ogni applicazione su cui lavorare. | ||
=== Usare Tomcat come contenitore per servlet === | === Usare Tomcat come contenitore per servlet === | ||
Oltre all'uso che si può fare di Tomcat come semplice web server, c'è quello più importante e per cui Tomcat è conosciuto nel mondo che è quello di contenitore di servlet.<br> | Oltre all'uso che si può fare di Tomcat come semplice web server, c'è quello più importante e per cui Tomcat è conosciuto nel mondo che è quello di contenitore di servlet.<br> | ||
Per prima cosa è necessario sapere che un'applicazione web in Java ha una struttura ben precisa. All'interno del context, ossia la sottocartella di webapps che la conterrà, si deve avere una cartella denominata WEB-INF, al cui interno, ci saranno: | Per prima cosa è necessario sapere che un'applicazione web in Java ha una struttura ben precisa. All'interno del context, ossia la sottocartella di <code>webapps</code> che la conterrà, si deve avere una cartella denominata <code>WEB-INF</code>, al cui interno, ci saranno: | ||
* classes: cartella contenente le classi compilate che costituiranno l'applicazione; | * classes: cartella contenente le classi compilate che costituiranno l'applicazione; | ||
* lib: cartella contenente le librerie (solitamente archivi jar) di cui si servirà l'applicazione; | * lib: cartella contenente le librerie (solitamente archivi jar) di cui si servirà l'applicazione; | ||
* web.xml: file in XML che contiene la configurazione dell'applicazione; | * web.xml: file in XML che contiene la configurazione dell'applicazione; | ||
* altre cartelle. | * altre cartelle. | ||
Da tenere ben presente che il classpath dell'applicazione web sarà il contenuto di classes e di lib. | Da tenere ben presente che il classpath dell'applicazione web sarà il contenuto di <code>classes</code> e di <code>lib</code>. | ||
Autore | {{Autori | Autore = [[Utente:Turinext|Turinext]]}} | ||
[[Categoria:Web server]] | [[Categoria:Web server]] | ||
[[Categoria:Java]] | [[Categoria:Java]] |
contributi