IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Impossible d'etablir une connexion avec le serveur à l'adresse localhost:8443"


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 33
    Points : 28
    Points
    28
    Par défaut Impossible d'etablir une connexion avec le serveur à l'adresse localhost:8443"
    Bonjour,


    Dans le cadre d'un stage, je dois améliorer un servlet existant (j'ai découvert le mot servlet hier, il s'agit de mon premier projet java, autrement j'ai l'habitude de bidouiller apache,programmer en php/c++).

    Mon 1er objectif est donc de tester en local le servlet.

    J'ai donc installé tomcat 6 (apache tourne via wampserver) en service windows.

    Ma servlet se trouve dans le dossier "C:\tomcat\webapps\redemo". Quand je tape dans mon navigateur "http://localhost:8080/redemo/", firefox affiche:
    Firefox ne peut établir de connexion avec le serveur à l'adresse localhost:8443.
    Je précise que l'accès aux pages http://localhost:8080/examples fonctionne parfaitement.

    J'imagine que la redirection vers le port 8443 est provoquée par cette ligne du server.xml:
    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
    mais je ne sais pas comment résoudre ce pb.
    Dans mon fichier redemo/web-inf/web.xml, j'ai trouvé ces qques lignes qui ressemblent à une connexion à une db:
    <resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/cmredemo</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    Apparemment dans C:\tomcat\conf\Catalina, j'ai un fichier redemo.xml qui s'est créé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <?xml version="1.0" encoding="UTF-8" ?> 
    - <Context>
      <Resource name="jdbc/cmredemo" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="cmd01" password="cmd007" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://cmdatabase:15432/cmd01?useUnicode=true&characterEncoding=utf-8" /> 
      </Context>
    Du coup j'ai installé postgresql mais apres je suis un peu perdu quand à la démarche à suivre (1ere fois que j'utilise postgresql). Le probleme vient-il de mon server.xml ? faut-il que j'installe des composants jdbc ?

    J'ai passé pas mal de tps déjà dessus et j'espère que des gens plus expérimentés pourront me donner qques pistes.

    Par avance merci

    Nb: je suis à disposition pr de plus amples informations, je dév sous win7.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par teto Voir le message
    j'ai découvert le mot servlet hier, il s'agit de mon premier projet java,.
    Sort les rames, parce que tu va souffrir, c'est un peu comme devoir réussir à servir un repas gastronomiques pour 25 personnes endéans la demi-heure en découvrant aujourd'hui ce qu'est une cuisinière . JavaEE, c'est "VASTE". Si en plus t'a repris un projet mal foutu, tu as gagné le supplément "il n'y a pas d'étiquette sur aucun produit dans aucune des armoire et on a volé le livre de recettes" :p


    Ma servlet se trouve dans le dossier "C:\tomcat\webapps\redemo".
    C'est la webapp qui se trouve là. La servlet, c'est juste une classe java, qui se trouve dans la webapp, quelque part dans WEB-INF/classes ou dans WEB-INF/lib. Utilisons les bons termes directement...

    Quand je tape dans mon navigateur "http://localhost:8080/redemo/", firefox affiche:
    Ta servlet a un security constraint qui exige la confidentialité des données et probablement aussi l'authentification (c'est configuré dans web.xml), ce qui amène tomcat à te rediriger vers sa page SSL qui... n'est pas configurée par défaut. La t'as deux possibilités
    1) la plus simple: tu va dans le web.xml et tu vire CONFIDENTIAL dans le TRANSPORT-GUARANTEE, comme ça plus de SSL. Pas oublier de remettre le SSL en prod sinon aie aie aie
    2) tu configure le SSL dans ton tomcat local (créer un certificat, l'installer et tout le bordel, y a des docs spécifique, bon amusement)

    Dans mon fichier redemo/web-inf/web.xml, j'ai trouvé ces qques lignes qui ressemblent à une connexion à une db:
    indirectement, ca dit que ton application va utiliser une datasource appelée
    "jdbc/cmredemo"
    Apparemment dans C:\tomcat\conf\Catalina, j'ai un fichier redemo.xml qui s'est créé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <?xml version="1.0" encoding="UTF-8" ?> 
    - <Context>
      <Resource name="jdbc/cmredemo" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="cmd01" password="cmd007" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://cmdatabase:15432/cmd01?useUnicode=true&characterEncoding=utf-8" /> 
      </Context>
    C'est la configuratin de la datasource en question. tomcat crée automatiquement ce fichier en copiant le contenu de META-INF/context.xml de ta webapp. Maintenant, comme dit plus haut, t'en es pas encore là Quand t'aura des erreurs dûes à la datasource, t'aura pas de doutes, ce sera clairement indiqué.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Merci bcp pour ton message qui m'a offert pas mal de pistes mais je galère encore (bcp moins certes).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    1) la plus simple: tu va dans le web.xml et tu vire CONFIDENTIAL dans le TRANSPORT-GUARANTEE, comme ça plus de SSL. Pas oublier de remettre le SSL en prod sinon aie aie aie
    2) tu configure le SSL dans ton tomcat local (créer un certificat, l'installer et tout le bordel, y a des docs spécifique, bon amusement)
    Pour l'instant j'ai opté pour la version 1. Je verrai plus tard si j'ai le temps pour la version 2 (ce sera un autre topic ^^)

    Du coup mon navigateur me demande username et mot de passe (mode BASIC, c'est normal d'apres ce que j'ai lu sur le web).
    Mais je n'arrive pas à me connecter car je ne sais pas ou il va chercher les identifiants (.htaccess, tomcat-users.xml ). Est-ce qu'il faut que ca corresponde à certains roles ? (ici une partie de mon web.xml )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	<login-config>
    		<auth-method>BASIC</auth-method>
    		<realm-name>Campaign Master's Authenticator</realm-name>
    		<!--ajout perso <realm-name>admin</realm-name>-->
    	</login-config>
     
    	<security-role>
    		<description>Basic access right</description>
    		<role-name>REDemo</role-name>
    	</security-role>
    	<security-role>
    		<description>Allow sending messages</description>
    		<role-name>REDemoHttpGet</role-name>
    	</security-role>
    -Vis-à vis du context.xml:
    Pk tomcat copie mon context.xml dans un de ces dossiers ? Si je modifie celui dans META-INF/ , ca modifie celui dans catalina/ ? et inversement ? ( en gros lequel faut-il qu je modifie)

    Je le remets mon context.xml (password modifie)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <?xml version="1.0" encoding="UTF-8" ?> 
    - <Context>
      <Resource name="jdbc/cmredemo" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="cmd01" password="monmdp" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://cmdatabase:15432/cmd01?useUnicode=true&characterEncoding=utf-8" /> 
      </Context>
    D'apres ca:
    http://tomcat.apache.org/tomcat-6.0-...tml#PostgreSQL
    cmdatabase est l'hote (je l'ai remplacé par localhost en local), username et password sont les identifiants de connexion à la db postgresql,.

    15432 le port d'écoute de postgresql ? (je l'ai changé dans la config de postgres car c'est pas le port par défaut).
    A la fin de l'url "cmd01?useUnicode=true&characterEncoding=utf-8", cmd01 designe le nom de la table ? ou bien c'est un chemin vers un fichier ? la query string est traitée par qui ?

    Je suis conscient que mon post est long dsl

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par teto Voir le message
    Mais je n'arrive pas à me connecter car je ne sais pas ou il va chercher les identifiants (.htaccess, tomcat-users.xml ).
    Il va les chercher dans le realm, qui est configuré via uh balise <realm> présente dans le context.xml. Un realm peut être base sur du ldap, un fichier brut, une base de donnée, une domaine windows, etc. http://tomcat.apache.org/tomcat-5.5-...alm-howto.html

    Les roles aussi sont récupérés par le realm une fois l'authentification faite. Les droits d'accès sont effectivement gérés par des roles.

    -Vis-à vis du context.xml:
    Pk tomcat copie mon context.xml dans un de ces dossiers ? Si je modifie celui dans META-INF/ , ca modifie celui dans catalina/ ? et inversement ? ( en gros lequel faut-il qu je modifie)
    si tu modifie celui de catalina, c'est certain, il est pris en compte. Car c'est le ficheir que tomcat doit utiliser. Maintenant, tomcat a une "facilité" qui permet d'éviter de devoir manuellement aller y placer ce fichier, en le fournissant dans le war, via le META-INF. C'est pour ça qu'il y a copie.

    Celui du META-INF est donc copié lors du déploiement d'un nouveau war. Si le tocmat est configuré pour surveiller aussi les ressources de la webapp à la recherche de changements, il fera aussi la copie à chaque changement dans le META-INF/ Suffit de tester pour savoir si ça a été pris en compte
    A la fin de l'url "cmd01?useUnicode=true&characterEncoding=utf-8", cmd01 designe le nom de la table ? ou bien c'est un chemin vers un fichier ? la query string est traitée par qui ?
    La string est traitée par le driver psotgresql chaque driver a ses propres paramètres. Ici, cmd01 est le nom de la base de données à utiliser dans le serveur de base de données.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    J'ai essayé de configurer l'accès à jdbc mais au final j'ai grugé en donnant accès au bon rôle (il me semble) via le tomcat-users.xml ce qui fait qu'apres 4 jours j'ai pu avoir accès à l'index.html Hourra ! ( bon je vous rassure je bosse sur d'autres trucs à côté ).

    Evidemment j'ai de nouveaux pb: quand je clique sur le lien (au départ relatif mais que j'ai mis en absolu puisque sur certains forums ca paraissait etre la source du pb): http://localhost:8080/redemo/createAgency.view j'ai le message d'erreur 404:
    Servlet NavigationServlet n'est pas disponible.
    alors que j'ai ce mapping défini dans mon web.xml est que j'ai verifie plusieurs fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	<servlet>
    		<servlet-name>NavigationServlet</servlet-name>
    		<servlet-class>com.mobads.cm.redemo.servlets.NavigationServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>NavigationServlet</servlet-name>
    		<url-pattern>*.view</url-pattern>
    	</servlet-mapping>
    et que le Servlet NavigationServlet est bien disponible dans ce dossier (copier/coller de l'explorateur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\Tomcat\webapps\redemo\WEB-INF\classes\com\mobads\cm\redemo\servlets
    J'imagine que c'est une directive à changer qque part ?
    Encore merci pr ton aide.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    On oublie le post précédent, j'ai relancé tomcat et ca a marché, je vais ptet pvr commencer à développer dessus ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Etablir une connexion sur un serveur en telnet
    Par ThomasMC dans le forum C++
    Réponses: 5
    Dernier message: 15/12/2011, 12h28
  2. Réponses: 12
    Dernier message: 25/05/2011, 16h47
  3. impossible d'etablir une connexion
    Par Arsofts dans le forum Windows XP
    Réponses: 10
    Dernier message: 21/04/2009, 17h06
  4. Etablir une connexion avec JDataStore
    Par wissam dans le forum JDBC
    Réponses: 6
    Dernier message: 07/09/2006, 13h20
  5. Etablir une connexion permanete avec dbi
    Par cryptorchild dans le forum SGBD
    Réponses: 2
    Dernier message: 28/11/2005, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo