47
TomCat M2 – MIAGE/SID [email protected]

TomCat M2 – MIAGE/SID [email protected]

Embed Size (px)

Citation preview

Page 1: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

TomCat

M2 – MIAGE/[email protected]

Page 2: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 2

Sommaire

• Applications distribuées et web

• Tomcat

• Environnement de développement

Page 3: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 3

Genèse

Applicationinformatique

Page 4: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 4

Genèse

Composant

Composant

Page 5: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 5

Genèse

Présentation

Logique applicative

Accès aux données

Page 6: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 6

Client/Serveur

Présentation

Logique applicative

Données

ServeurClient « Client lourd »

Page 7: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 7

n-tier

PrésentationLogique

applicativeDonnées

ServeurClient Archite

cture

multiniveaux

Serveur

Page 8: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 8

Web dynamique

NavigateurWeb Logique

applicativeDonnées

ServeurClient Client «

 léger »

Serveur

Page 9: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 9

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

Page 10: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 10

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

Page 11: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 11

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

Page 12: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 12

Serveur J2EE

Conteneur WEB

Servlets Pages JSP

RM

I/IIOP

JavaM

ail

JND

I

JTA

JDB

C

JAA

S

JMS

Conteneur EJB

EJB

RM

I/IIOP

JavaM

ail

JND

I

JTA

JDB

C

JAA

S

JMS

Page 13: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 13

Conteneurs WEB

• Jakarta Tomcat

• Jetty (intégré à JBoss et à JOnAS)

• Caucho Resin

• BEA WebLogic

• IBM WebSphere

• Macromedia JRUN

• Oracle Application Server…

Page 14: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 14

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 »

Page 15: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 15

Exercice

• Installation d’un serveur Tomcat

• Mise en place d’un environnement de développement– (Java )– Tomcat – Eclipse

Page 16: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 16

Download Tomcat

• http://tomcat.apache.org/– Installateur windows– Distribution « normale »– Déployeur

Page 17: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Installation du serveur de déploiement

(service Windows)

Page 18: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 18

Page 19: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 19

Page 20: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 20

Page 21: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 21

Page 22: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 22

Page 23: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 23

Page 24: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 24

Page 25: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Test du serveur

Page 26: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 26

Page 27: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 27

Page 28: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 28

Page 29: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Installation du serveur de développement

pour un usage local

Page 30: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 30

Install

• Décompresser la dist « normale » dans le répertoire d’installation – Exemple c:\

• (pas besoin d’un service windows)

Page 31: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 31

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

Page 32: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Configuration

Page 33: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 33

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

Page 34: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 34

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" />

Page 35: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 35

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>

Page 36: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 36

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>-->

Page 37: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 37

web.xml

<!— <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>

-->

Page 38: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 38

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>

Page 39: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 39

Download Eclipse

• http://www.eclipse.org/downloads/moreinfo/jee.php– Eclipse IDE for Java EE Developers – Contient les plugins adéquats

Page 40: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 40

Install

• Décompresser la dist dans le répertoire d’installation – Exemple c:\

Page 41: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 41

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

Page 42: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 42

Test

• Site de téléchargement :– http://www.coreservlets.com/Apache-Tomcat-

Tutorial/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

Page 43: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 43

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)

Page 44: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 44

Exercice

• Déployer l’application intro

Page 45: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 45

Page 46: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 46

Page 47: TomCat M2 – MIAGE/SID Azim.Roussanaly@univ-nancy2.fr

Miage SID 47