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 :

Passer un objet en argument d'une servlet


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut Passer un objet en argument d'une servlet
    Bonjour,

    je souhaiterais qu'à la création de la servlet, il y ait non seulement les objets HttpRequest et HttpResponse qui soient envoyés mais également d'autres objets. Le but étant que la servlet utilise ces objets, les mettent en forme et renvoie une page HTML.

    La réponse est peut-être toute simple mais je ne l'ai pas trouver.

  2. #2
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    slt

    Et d'ou viendraient ces objets additionnels ?

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Citation Envoyé par vahid
    Et d'ou viendraient ces objets additionnels ?
    En fait, j'ai une interface graphique avec plusieurs fenêtre dont une afficherait les servlets. Dans les autres fenêtres, j'ai des objets qui sont dessinés et j'aimerai que lorsque je clique sur un de ces objets, ça lance une servlet qui connait l'objet sur lequel j'ai cliqué afin d'afficher en HTML les propriétés de cet objet.

  4. #4
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    Quelques précisions encore :

    tu as une interface -> HTML ? Autre ?
    Elle est générée Server Side ?
    si oui, tes objets sont créés à runtime ou sont générés par le server ?

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Citation Envoyé par vahid
    Quelques précisions encore :

    tu as une interface -> HTML ? Autre ?
    Elle est générée Server Side ?
    si oui, tes objets sont créés à runtime ou sont générés par le server ?
    Que de questions compliquées...

    Je sais pas trop quoi répondre. Pour préciser un peu plus, j'utilise la version 5.5 de tomcat embedded, donc tout est en local. J'ai un navigateur d'intégré dans mon application à l'aide d'une API (JDIC). Mes objets sont générés par l'utilisateur indépendamment de la servlet (pour simplifier, on va dire que l'utilisateur dessine dans un JPanel) puis lorsque l'utilisateur clique sur un des objet (un cercle par exemple), j'aimerai que dans le navigateur une page HTML soit générée avec les paramètres de l'objet sélectionné (cercle, vert, périmètre noir). En gros, je veux que l'objet sélectionné soit accessible à la servlet.

    L'exemple du logiciel de dessin reste un exemple "pédagogique". Mon application est plus compliquée mais le principe reste le même.

    C'est plus clair comme ça ?

  6. #6
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    oui c est plus clair

    Malheursement, je me trompte peut etre mais je ne pense pas que tu puisse envoyer des objets additionnels de ton client à ton server à travers une servlet. Les données transmissibles sont les paramètres envoyés par POST ou GET et sont récupérables par ton Httpservletrequest.

    Cela dit, il existe des framework te permettant d'envoyer des objets par marshalling et RPC. Tout dépend de quel type de client envoi.

  7. #7
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Citation Envoyé par vahid
    oui c est plus clair

    Malheursement, je me trompte peut etre mais je ne pense pas que tu puisse envoyer des objets additionnels de ton client à ton server à travers une servlet. Les données transmissibles sont les paramètres envoyés par POST ou GET et sont récupérables par ton Httpservletrequest.

    Cela dit, il existe des framework te permettant d'envoyer des objets par marshalling et RPC. Tout dépend de quel type de client envoi.
    Merci vahid pour ton aide.

    Autrement, chaque objet à un numéro. Comment faire pour envoyer du post depuis java. En fait, le truc c'est que je veux pas avoir une page HTML statique, je veux que du dynamique. Deux questions se posent :
    • A partir de tomcat 5.5, on peut mettre une servlet en welcome-file. J'ai essayé de mettre le servlet-name dans la liste mais ça marche pas. Comment faire ?
    • Je voudrais que le post soit fait directement depuis java, sans passer par un formulaire HTML. En fait, j'ai un listener et au clic sur l'objet, je lance ma servlet en post avec comme argument du post l'entier caractérisant mon objet. Comment faire ?
    Merci de votre aide

  8. #8
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    pour l'utilisation d'une servlet comme welcome-file, regarde la (sans la partie generation, juste celle de la structure web.xml)
    http://renaud91.free.fr/Plugins/wServlet.html

    Je voudrais que le post soit fait directement depuis java, sans passer par un formulaire HTML. En fait, j'ai un listener et au clic sur l'objet, je lance ma servlet en post avec comme argument du post l'entier caractérisant mon objet. Comment faire ?
    Il faut que tu effectue un appel server depuis ta classe Java cliente avec comme parametre le numero de ton objet (je ne connais pas bien les appli lourdes java) vers la servlet de ton server tomcat (celle ci n'a pas à etre lancée, elle est en general démarrée au lancement du server). La methode service() de cette servlet récupère l'info et effectue le traitement.

    Une servlet n'est qu'un point d'entrée d'un server d'application qui répond aux requetes. A toi de voir quoi répondre...

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    Citation Envoyé par vahid
    Il faut que tu effectue un appel server depuis ta classe Java cliente avec comme parametre le numero de ton objet
    De quel numéro d'objet parles-tu ? Si c'est du numéro de référence de l'objet, je ne suis pas sûr que ca marche vu que ses deux applis utilisent des VM différentes (mais j'avoue que je suis pas expert, peut-être que ces numéros ne sont pas spécifiques à une seule VM).
    Je pense plutôt qu'il faut passer par de la sérialization, ou par une transformation de l'objet en série de attribute/value passables en paramètres postés.

    Zetes pas d'accord ?

  10. #10
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    non pas la référence c'est sur mais comme ses objets on l'air d'etre numérotés il peuvent etre reconnaissable par cette manière sur le server... du moins je suppose.
    Le marshalling et le RPC n'a pas l'air de le tenter dommage

  11. #11
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Merci vahid, je vais tester tout ça

  12. #12
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Citation Envoyé par vahid
    pour l'utilisation d'une servlet comme welcome-file, regarde la (sans la partie generation, juste celle de la structure web.xml)
    http://renaud91.free.fr/Plugins/wServlet.html
    Ca ne fonctionne pas
    Mon web.xml est le suivant :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
     
    <web-app>
    <display-name>Servlet test</display-name>
     
    <servlet>
        <servlet-name>Start</servlet-name>
        <servlet-class>ServletStart</servlet-class>
    </servlet>
     
    <servlet>
        <servlet-name>Servlet</servlet-name>
        <servlet-class>Servlet</servlet-class>
    </servlet>
     
    <servlet>
        <servlet-name>JSP</servlet-name>
        <servlet-class>ServletJSP</servlet-class>
    </servlet>
     
    <servlet-mapping>
        <servlet-name>Start</servlet-name>
        <url-pattern>/Start</url-pattern>
    </servlet-mapping>
     
    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/Servlet</url-pattern>
    </servlet-mapping>
     
    <servlet-mapping>
        <servlet-name>JSP</servlet-name>
        <url-pattern>/JSP</url-pattern>
    </servlet-mapping>
     
    <context-param>
        <param-name>applicationName</param-name>
        <param-value>MyAppli</param-value>
    </context-param>
     
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
     
    <welcome-file-list>
        <welcome-file>/Start</welcome-file>
    </welcome-file-list>
    </web-app>
    Quand le serveur se lance, il me fournit l'arborescence des dossiers. J'ai l'impression qu'il cherche un dossier Start alors que moi, je veux qu'il aille dans WEB-INF puis dans src et qu'il lance la classe ServletStart.

    Quelqu'un connaîtrait-il la manière de résoudre ce problème ?

  13. #13
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    ton tomcat va chercher ta servlet dans WEB-INF/classes/

    l'arborescence de ton war doit etre au minimum WEB-INF/classes/ServletStart.class, je te conseille d'ailleurs de rajouter un package

    A savoir pourquoi ca ne fonctionne pas je ne sais pas, je n'ai pas l'habitude d'architecturer ainsi ainsi.

    a+

  14. #14
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Citation Envoyé par vahid
    ton tomcat va chercher ta servlet dans WEB-INF/classes/

    l'arborescence de ton war doit etre au minimum WEB-INF/classes/ServletStart.class, je te conseille d'ailleurs de rajouter un package
    J'ai écrit src mais je pensais classes. Ma servlet est bien à sa place. c'est bizarre que ça ne fonctionne pas, je continue à chercher.

  15. #15
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    le dernier post semble poser un probleme :
    http://forum.java.sun.com/thread.jsp...sageID=3923374

    allez sur ce bon courage a+

  16. #16
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 80
    Par défaut
    Merci pour ton aide vahid

  17. #17
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut Exemple d'appel a une servlet via une interface graphique java (client lourd)
    Salut...
    Je sais pas si c'est ca que tu veux faire en tout cas en client lourd pour envoyer un objet dans ta servlet tu peux aire ca...
    J suis plus tres sur (a verifier dsl) mais ca doit etre un truc du genre.. En toute logique je ferai comme ca...


    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
    public static void EnvoiCercleSVR(MonCercle c){
    try{
    URL url = new URL("http:monUrlServlet?param1=valeurParam1&param2=valeurParam2");
    URLConnection con = url.openConnection();
    con.setDoOutput(true);
    con.setDoInput(true);
    con.setUseCaches(false);
    con.setDefaultuseCaches(false);
    con.setRequestProperty("Content-Type", "text/html");
    ObjectOutputStream req = new ObjectOutputStream(con.getOutputStream());
    req.writeObject(c);
    ObjectInputStream rep = new ObjectInputStream(con.getInputStream());
    c=(monCercle)rep.readObject();
    }catch(Exception e1){
    System.out.println("ERREUR!");
    e1.printStackTrace();
    }
    }

    pour l'appeler c'est simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonCercle c = new MonCercle(diametre, couleur, ...);
    EnvoiCercleSVR(c);
    Cordialement... (L'exemple date un peu)

Discussions similaires

  1. Passer un objet en paramètre d'une servlet
    Par PoichOU dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 20/10/2014, 11h38
  2. Passer un attribut ou parametre d'une servlet vers jsp
    Par Titeuf82 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/04/2008, 23h07
  3. passer un objet en parametre d'une methode RMI
    Par Dryss51 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 22/02/2008, 02h10
  4. Réponses: 4
    Dernier message: 20/06/2007, 17h34
  5. [variadic] passer un objet en argument variable
    Par Spartan03 dans le forum C++
    Réponses: 3
    Dernier message: 30/04/2006, 11h31

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