Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Tomcat
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/11/2012, 22h59   #1
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
Par défaut Déploiement d'une application

Bonjour,

Je veux déployer une application web sans passer par un IDE.

J'ai donc placé dans le dossier webapps de Tomcat un dossier moncotexte.
Dans moncontexte, il y a les 2 dossiers WEB-INF et META-INF.
A l'intérieur de WEB-INF y a les 2 dossiers classes et lib et web.xml.
A l'intérieur de classes il y a la classe HelloWorld.class
et dans le lib j'ai mis servlet-api.jar

Le truc c'est que quand tomcat est lancé, et que quand je tape l'URL http://localhost:8080/moncontexte, ça ne marche pas. J'ai oublié de faire quelque chose?

Merci bien.
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 00h58   #2
hasalex
Membre Expert
 
Avatar de hasalex
 
Homme Alexis Hassler
Inscription : janvier 2009
Messages : 769
Détails du profil
Informations personnelles :
Nom : Homme Alexis Hassler
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2009
Messages : 769
Points : 1 092
Points : 1 092
Premièrement, tu ne dois pas mettre servlet-api.jar dans ton application. C'est Tomcat qui fournit cette API.

Ensuite qu'entends-tu par "ne marche pas" ? Quelle ressource penses-tu atteindre avec ta requête ? D'après son format, tu veux avoir la ressource par défaut de ton application. C'est-à-dire une page index.html ou index.jsp. D'après ta description, tu n'as pas de tel fichier.
__________________
Alexis Hassler, Consultant, formateur indépendant - mon entreprise, mon wiki, mon blog java
hasalex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 09h05   #3
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
Merci pour la réponse
Pour moi quand je fais l'URL http://localhost:8080/moncontexte, je dois avoir la page HelloWorld, qui est une servlet java. Je me trompe?
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 12h53   #4
hasalex
Membre Expert
 
Avatar de hasalex
 
Homme Alexis Hassler
Inscription : janvier 2009
Messages : 769
Détails du profil
Informations personnelles :
Nom : Homme Alexis Hassler
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2009
Messages : 769
Points : 1 092
Points : 1 092
Tu te trompes probablement Relis tes docs sur les servlets... Et revois ton web.xml : est-ce que ta servlet a été définie comme welcome-page ? Si ce n'est pas le cas, il faut ajouter un morceau à ton URL, pour appeler ta servlet.

Au passage, j'insiste sur une partie de ma réponse : "qu'entends-tu par ne marche pas ?"
__________________
Alexis Hassler, Consultant, formateur indépendant - mon entreprise, mon wiki, mon blog java
hasalex est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 13h25   #5
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 277
Points : 1 277
si tu n'as pas une page JSP d'accueil ou une servlet qui "écoute" sur * à déclarer dans le web.xml ... ça ne fontionnera pas.

Quel est le log de déploiement de ton appli par Tomcat ?
Elle se déploie ?
Ta classe HelloWorld est bien une servlet ?

Tu as une erreur 404 ? 500 ?
Il faut que tu donnes plus de détails (logs, etc.)
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 19h42   #6
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
Alors, voici mon HelloWorld.java
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
 
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class HelloWorld extends HttpServlet {
 
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 
    { 
        // type mime du résultat retourné 
        res.setContentType("text/html"); 
        // récupère le flux de sortie vers le client 
        PrintWriter out = res.getWriter( ); 
        out.println("<html>"); 
        out.println("<head><title>Hello World</title></ head >");
        for (int i=0; i<3; i++)
        {
            out.println("<font size=\"+3\">Hello World<br/></font>"); 
        }
        out.println("<body>"); 
        out.println("</ body >"); 
        out.println("</ html >"); 
    }
}
et mon web.xml:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
J'ai une erreur 404 not found.
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2012, 21h17   #7
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 277
Points : 1 277
404 : contexte non déployé ou servlet/jsp non trouvée.

Ca peut vouloir dire que ton web.xml est pas pris en compte.
tu l'as bien mis dans ton WEB-INF ?

il faut que tu fasses attention aux majuscules / minuscules.

enfin, ta servlet, il manque out.close() à la fin
puis il vaut la mettre dans un package (et ne pas oublier le package dans la déclaration de la servlet dans web.xml)

mais je crois que j'ai trouvé la vraie raison : il faut que tu appelles ta servlet avec un "/" à la fin
ou alors ne mets que "*" dans le mapping et pas "/*" car "/*" impose à ce que ton URL après le contexte commence par "/"

Code :
http://localhost:8080/moncontexte/
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 11h12   #8
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
J'ai pris en considération toutes remarques mais ça ne marche toujours pas
Le message d'erreur c'est: Erreur 404: La ressource demandée n''est pas disponible..
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 11h29   #9
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 277
Points : 1 277
poste le log de démarrage de Tomcat.
ainsi que le ZIP de ton application Web et je jetterai un coup d'oeil.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 11h42   #10
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
Voilà, tout est dans le zip.
Merci
Fichiers attachés
Type de fichier : zip Desktop.zip (3,5 Ko, 6 affichages)
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 17h19   #11
hasalex
Membre Expert
 
Avatar de hasalex
 
Homme Alexis Hassler
Inscription : janvier 2009
Messages : 769
Détails du profil
Informations personnelles :
Nom : Homme Alexis Hassler
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2009
Messages : 769
Points : 1 092
Points : 1 092
A la lecture de tes logs, ton fichier web.xml est mal encodé :

Code :
1
2
3
4
GRAVE: Erreur d'évaluation (parse) dans le fichier web.xml de l'application à jndi:/localhost/moncontexte/WEB-INF/web.xml
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
Je l'ai modifié, et ça semble fonctionner. Au passage, l'url-pattern * est interdit, il faut mettre /*.
Fichiers attachés
Type de fichier : xml web.xml (541 octets, 7 affichages)
__________________
Alexis Hassler, Consultant, formateur indépendant - mon entreprise, mon wiki, mon blog java
hasalex est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2012, 17h46   #12
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
ça fonctionne, merci beaucoup!
Par contre, t'as changé quoi exactement mise à part le '/*"?
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 18h55   #13
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 277
Points : 1 277
Citation:
Envoyé par hasalex Voir le message
Au passage, l'url-pattern * est interdit, il faut mettre /*.
Exact, oubli de ma part, et c'est ma faute c'est moi qui lui ai dit de le mettre.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2012, 22h07   #14
hasalex
Membre Expert
 
Avatar de hasalex
 
Homme Alexis Hassler
Inscription : janvier 2009
Messages : 769
Détails du profil
Informations personnelles :
Nom : Homme Alexis Hassler
Âge : 43
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2009
Messages : 769
Points : 1 092
Points : 1 092
J'ai changé l'encodage du fichier (UTF8) et le caractère de fin de ligne. Je pense qu'il devait y avoir un caractère caché un peu anormal.
__________________
Alexis Hassler, Consultant, formateur indépendant - mon entreprise, mon wiki, mon blog java
hasalex est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2012, 23h32   #15
fxrobin
Membre Expert
 
Avatar de fxrobin
 
Homme
Formateur JAVA / XML
Inscription : novembre 2007
Messages : 849
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur JAVA / XML
Secteur : Service public

Informations forums :
Inscription : novembre 2007
Messages : 849
Points : 1 277
Points : 1 277
Je pense plutôt au BOM (Byte Order Mark) qui est un préfixe optionnel d'UTF-8, vu le message d'erreur.
__________________
Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...
fxrobin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/11/2012, 13h42   #16
daydream123
Membre confirmé
 
Femme
Développeur Web
Inscription : juin 2011
Messages : 412
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : juin 2011
Messages : 412
Points : 203
Points : 203
Ok, merci pour toutes les réponses
daydream123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h30.


 
 
 
 
Partenaires

Hébergement Web