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 :

intégration rmi dans jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut intégration rmi dans jsp
    Bonjour !

    J'ai développé avec Eclipse une application RMI qui fonctionne. Maintenant est-ce possible de l'intégrer à du code JSP ? Et si oui, comment faire ? Evitez de me répondre de chercher sur le net, je n'ai rien trouvé. Evitez aussi de me répondre qu'on peut intégrer directement des classes Java dans JSP, j'ai essayé bien sûr (refus de compiler la classe). Pour lancer l'application il faut rajouter plein de paramètres (policies, codebase, etc.). Donc si quelqu'un avait une idée de comment utiliser RMI avec JSP, ça m'aiderait beaucoup, merci.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  2. #2
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    C'est encore moi. Mon application RMI fonctionne. Le serveur tourne, le client marche quand je le lance comme Java Application sous Eclipse. Je l'ai intégré comme Bean dans un fichier JSP (j'ai mis la classe ClientRMI dans WEB-INF/classes). Voici les fichiers :

    D'abord le main de mon appli clientRMI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void main(String[] args) {
    	ClientRMI cr = new ClientRMI();
    	cr.ajouterLog("localhost", "06/05/07", "12:00:00", "bidon");
    }
    Et ça marche. Le log est bien instancié et les résultats s'affichent dans la console. C'est une Java application simple, sans rajouter de paramètres. Maintenat le fichier jsp :

    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
    16
    17
    18
     
    <%@page language="java" contentType="text/html" %>
     
    <jsp:useBean id="client" class="client.ClientRMI" scope="page" />
     
    <html>
    <head>
    	<title>Test 1</title>
    </head>
     
    <body>
     
    <%
            client.ajouterLog("j","pojk","poij","poij");
    %>
     
    </body>
    </html>
    Vous remarquerez que c'est exactement le même code, mis à part que l'allocation se fait par un Bean.

    L'objet ClientRMI est bien instancié, mais le log n'est pas reçu. Je n'y comprends rien.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  3. #3
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Et tu n'as aucune erreur dans les logs ? Comme tu le disais, c'est peut être un problème de policies... Tu es sous quel serveur d'appli ?

  4. #4
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    J'utilise Tomcat 6.0. Les policies servent juste à établir des droits pour la sécurité. Je n'instancie aucun SecurityManager, donc y'en a pas besoin. Le plus étonnant est que ça marche avec Eclipse sans rajouter de paramètres (comme si on lançait directement l'appli en lign de commande par java ClientRMI). On dirait que l'objet GestionLogs que je place dans le registre n'est pas trouvé.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  5. #5
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Citation Envoyé par chtig
    Et tu n'as aucune erreur dans les logs ?
    La puissance de Java, c'est à mon sens d'abord et avant tout la gestion d'exceptions .... Passé le vieux temps du C et de ses "Core dump"

  6. #6
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    J'y ai pensé. Il ne retourne aucune exception. J'ai pourtant mis des catch partout.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  7. #7
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Ok ... admettons que tu n'aies pas d'eexception de générée. Mais alors mets un tracing dans le code de ton ajouterLog pour voir s'il passe bien dedans et dans toutes les lignes ...

  8. #8
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    L'appel à la méthode fonctionne. Voici ma fonction ajouterLog :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void ajouterLog(String adresseIP, String date, String heure, String uri){
    		try{
    			IGestionLogs service = (IGestionLogs)Naming.lookup("rmi://192.168.1.129/GestionLogs");
    			service.ajouterLog(adresseIP, date, heure, uri);
    			service.ecrireLog("bidon.log");
    		}
    		catch(Exception e){
    			e.printStackTrace();
    		}
    	}
    Dans mon fichier GestionLogs qui implémente IGestionLogs, j'effectue une entrée nommée GestionLogs dans le registre RMI. Mon adresse IP est bien celle passée dans lookup.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  9. #9
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Quand tu dis que ça fonctionne tu as mis des traces et vu que toutes les lignes étaient bien exécutées ?

  10. #10
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Ok. Je vois ce qui va pas. Je n'ai pas mis de RMISecurityManager, ce qui empêche RMI de télécharger les stubs que j'ai mis dans un .jar. Alors j'en ai mis un, mais maintenant, il faut utiliser un fichier policy. Comment modifie-t-on en Java la proriété java.security.policy (comme dans la ligne de commandes java -Djava.security.policy=security.policy clientRMI) ? J'ai un fichier security.policy, comment faire pour le définir comme policy pour l'appli ? J'ai essayé System.getProperty, mais le Security Manager me le refuse.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  11. #11
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    C'est bon. Je vous remercie. J'ai fait mon boulet. C'est mieux quand on fait un setProperty AVANT de définir un SecurityManager. Problème résolu. J'en ai chié, mais merci de votre aide à tous.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Slt comment as tus fait pour résoudre ton problème ? Je galère depuis des jours à mettre mon client rmi dans une servlet. Et j'ai toujours l'erreur du stub qui semble être absent pour le classloader de RMI. Et pourtant j'ai mi le stub dans WEB-INF/classes comme je l'ai vu dans d'autres forums. Aurais tu une idée ?
    Merci d'avance

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

Discussions similaires

  1. Intégration 3DS dans OPENGL
    Par clara dans le forum OpenGL
    Réponses: 3
    Dernier message: 28/12/2004, 17h39
  2. [débutante]Probleme de liens image dans JSP/Servlet
    Par celine31 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/11/2004, 15h51
  3. [EJB] [JSP] Méthode EJB non reconnue dans jsp
    Par stago dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/07/2004, 09h52
  4. probleme d'afichage dans JSP
    Par Zorgz dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 16/06/2004, 15h20
  5. [Debutant][Struts] Pb de forward dans jsp
    Par muim dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2004, 11h02

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