Tomcat

publicité
TomCat
M2 – MIAGE/SID
[email protected]
Sommaire
• Applications distribuées et web
• Tomcat
• Environnement de développement
Miage SID
2
Genèse
Application
informatique
Miage SID
3
Genèse
Composant
…
Composant
Miage SID
4
Genèse
Présentation
Logique applicative
Accès aux données
Miage SID
5
Client/Serveur
Présentation
Données
Logique
applicative
Serveur
Client
Miage SID
6
n-tier
Présentation
Client
Logique
applicative
Serveur
Miage SID
Données
Serveur
7
Web dynamique
Navigateur
Web
Client
Logique
applicative
Serveur
Miage SID
Données
Serveur
8
Caractéristiques d’un client web
• Navigateur : client
• HTML (+JavaScript, +DHTML,
XML/XSL) = moyen de définir l’interface
utilisateur
• HTTP = moyen d’échange d’information
entre le client et le serveur
Miage SID
9
Web dynamique
• CGI : Common Gateway Interface
– Interface entre le système d’exploitation du serveur et le
serveur Web
– Programmation en C, Python, Perl…
• PHP : Hypertext Preprocessor
– Interpréteur intégré au serveur Web
– Langage dédié
• ASP : Active Server Page (Microsoft)
• J2EE: Solution JAVA
Miage SID
10
Solution JAVA
•
•
•
•
J2EE: Java 2 Enterprise Edition
Renommé Java EE 5
Sun MicroSystem
Definit un standard unifié pour le
développement de composants applicatifs
• Fournit un ensemble minimal d’API
Miage SID
11
Serveur J2EE
Conteneur EJB
Conteneur WEB
Servlets
EJB
Pages JSP
JAAS
JMS
JavaMail
JDBC
JTA
JNDI
RMI/IIOP
JAAS
JMS
JavaMail
JDBC
JTA
JNDI
RMI/IIOP
Miage SID
12
Conteneurs WEB
•
•
•
•
•
•
•
Jakarta Tomcat
Jetty (intégré à JBoss et à JOnAS)
Caucho Resin
BEA WebLogic
IBM WebSphere
Macromedia JRUN
Oracle Application Server…
Miage SID
13
TomCat
• Conteneur de Servlets et JSP conforme à
J2EE
• Apache Software Fondation (libre)
• Intègre un serveur HTTP
• Le plus courant des gratuits
• Configuration pour « spécialiste »
Miage SID
14
Exercice
• Installation d’un serveur Tomcat
• Mise en place d’un environnement de
développement
– (Java )
– Tomcat
– Eclipse
Miage SID
15
Download Tomcat
• http://tomcat.apache.org/
– Installateur windows
– Distribution « normale »
– Déployeur
Miage SID
16
Installation du serveur de
déploiement
(service Windows)
Miage SID
18
Miage SID
19
Miage SID
20
Miage SID
21
Miage SID
22
Miage SID
23
Miage SID
24
Test du serveur
Miage SID
26
Miage SID
27
Miage SID
28
Installation du serveur de
développement
pour un usage local
Install
• Décompresser la dist « normale » dans le
répertoire d’installation
– Exemple c:\
• (pas besoin d’un service windows)
Miage SID
30
Arborescence
• Bin : scripts et éxécutables
• Conf :
–
–
–
–
Server.xml : port principal (80), ports de monitoring…
Context.xml : applications disponibles
Tomcat-users.xml : utilisateurs et droits associés
Web.xml : propriétés par défaut
• Lib :
– Librairies de Tomcat et communes aux applications
• Logs
– Journaux
• Webapps
– Dossiers pour chaque application
• Work
– Espace de travail interne
Miage SID
31
Configuration
Restrictions
• Pas de service Windows
– Démarrage à partir de l’IDE
• Port standard (80)
• Pas d’obligation de faire un mapping dans
un fichier web.xml
• Redémarrage automatique en cas de
modification des *-config.xml
Miage SID
33
server.xml
<!-- A "Connector" represents an endpoint by which requests
…
Miage : changement du port en 80 pour le développement
-->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Miage SID
34
web.xml
<!-- Miage : autoriser le listage des dir …
<servlet>
-->
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Miage SID
35
web.xml
<!—
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
-->
Miage SID
36
web.xml
<!—
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->
Miage SID
37
context.xml
<Context reloadable="true" privileged="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>
WEB-INF/struts-config.xml
</WatchedResource>
<WatchedResource>
WEB-INF/faces-config.xml
</WatchedResource>
…
Miage SID
38
Download Eclipse
• http://www.eclipse.org/downloads/moreinfo/jee.php
– Eclipse IDE for Java EE Developers
– Contient les plugins adéquats
Miage SID
39
Install
• Décompresser la dist dans le répertoire
d’installation
– Exemple c:\
Miage SID
40
Configurer le serveur de
développement
• Démarrer Eclipse
• Onglet Servers (menu contextuel):
– > New > Server…
• Recopier les fichiers :
– context.xml,
– server.xml,
– web.xml
à partir des originaux de <Tomcat>/conf
Miage SID
41
Test
• Site de téléchargement :
– http://www.coreservlets.com/Apache-TomcatTutorial/tomcat6.0-files/intro-app-eclipse.zip
– Ou intro-app-eclipse.zip
• Démarrer Eclipse :
– File>Import>General>Archive…
• Ajouter l’application intro au serveur
– Onglet Servers>Tomcat…>Menu contextuel>Add an remove
project
• Démarrer le serveur
– Onglet Servers>Tomcat…>Menu contextuel>
• Tester à partir d’un navigateur
– http://localhost/intro/Hello.jsp
Miage SID
42
Déploiement
• Le déploiement consiste à transférer l’application
vers le serveur TomCat d’exploitation
• Solution simple : recopier le contenu de
WebContent dans :
– <TomCat>/webapps/<context>
• NB: généralement, on ne déploie pas les sources
• Solution alternative : compresser et archiver le
contenu de WebContent avant la recopie
• Solution à distance : utiliser le deployeur (ant)
Miage SID
43
Exercice
• Déployer l’application intro
Miage SID
44
Miage SID
45
Miage SID
46
Miage SID
47
Téléchargement