Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1072 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Comment créer une requete HttpServletRequest ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment créer une requete HttpServletRequest ?

n°221225
touflb
Posté le 27-09-2002 à 11:51:23  profilanswer
 

Dans mon servlet je veux créer une nouvelle requete et la redirigé vers un url :
 
HttpServletRequest request = new ....
 //le pb c'est que c'est une interface et pas une classe ...
 
request.setAttribute("xml",xml);
RequestDispatcher rd = request.getRequestDispatcher("monurl" );
rd.forward(request,res);

mood
Publicité
Posté le 27-09-2002 à 11:51:23  profilanswer
 

n°221226
darklord
You're welcome
Posté le 27-09-2002 à 11:53:41  profilanswer
 

bin t'as pas besoin d'en créer une nouvelle pour faire un forward.  :heink:  C'est quoi un forward à ton avis ?
 
Un forward c'est transférer à qqun d'autre (dans le cas du mail par exemple) LE MEME CONTENU + des trucs additionnels
 
Dans ton cas tu prends la requete que tu veux, tu lui ajoutes ce que tu as envie d'ajouter et puis tu fais ton forward ...


Message édité par darklord le 27-09-2002 à 11:54:10

---------------
Just because you feel good does not make you right
n°221227
--greg--
Posté le 27-09-2002 à 11:55:57  profilanswer
 

tu peux meme virer des attributs et en changer stu veux :)

n°221228
touflb
Posté le 27-09-2002 à 11:56:20  profilanswer
 

En l'occurence si j'ajoute qqchose a la requete cela ne fonctionne pas.
 
code :
 
request.setAttribute("xml",xml);
RequestDispatcher rd = request.getRequestDispatcher("ValidateXML" );
rd.forward(request,res);

n°221230
darklord
You're welcome
Posté le 27-09-2002 à 11:57:05  profilanswer
 

touflb a écrit a écrit :

En l'occurence si j'ajoute qqchose a la requete cela ne fonctionne pas.
 
code :
 
request.setAttribute("xml",xml);
RequestDispatcher rd = request.getRequestDispatcher("ValidateXML" );
rd.forward(request,res);




 
Génial. Attends je vais chercher ma boule de cristal et je reviens.  
 
Tu sais pas donner des détails des fois?


---------------
Just because you feel good does not make you right
n°221231
touflb
Posté le 27-09-2002 à 11:57:45  profilanswer
 

quand je récupere la requete dans mon servlet "ValidateXML" par :
 
        String xml=request.getParameter("xml" );
 
Et bien y aque tchi dedans inside

n°221234
touflb
Posté le 27-09-2002 à 11:59:48  profilanswer
 

détail ? ok comme tu veux :
 
public class ServletMasse extends HttpServlet
{
 
public void doPost(HttpServletRequest request,HttpServletResponse res)throws ServletException,IOException {    
 
    String client = request.getParameter("client" );
    String compte = request.getParameter("compte" );
    String pass = request.getParameter("pass" );
    String from = request.getParameter("tfrom" );
    String to = request.getParameter("tto" );
    String message = request.getParameter("tmessage" );
    String classe = request.getParameter("tclasse" );
    String xml = new String ("" );
     
     System.err.println("tclient : "+client);
     System.err.println("compte : "+compte);
     System.err.println("tpass : "+pass);
     System.err.println("tfrom : "+from);
     System.err.println("tto : "+to);
     System.err.println("tmessage : "+message);
     System.err.println("tclasse : "+classe);
         
    try {
            Connection conn = null;
            Class.forName("oracle.jdbc.driver.OracleDriver" ).newInstance();
            String url = "qqchose";
            String username = "untruc";
            String password = "fopasrever";
            conn = DriverManager.getConnection(url, username, password);
 
            CallableStatement stmt = conn.prepareCall("select nb from list_members where recipient_list_id = ?" );
            int k = Integer.parseInt(to);
            stmt.setInt(1,k);  
            ResultSet rs = stmt.executeQuery();
             
            String listeto = new String("" );
             
            while (rs.next()) {
                listeto += "<to>"+rs.getString("nb" )+"</to>\n";
            }
            System.err.println("Liste des to : "+listeto);
             
            xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
                        "<session xmlns=\"http://statsms.jetmultimedia.fr\" "+
                        "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
                        "xsi:schemaLocation=\"http://statsms.jetmultimedia.fr http://statsms.jetmultimedia.fr/sms_session.xsd" "+
                        "client=\""+client+"\" "+
                        "account=\""+compte+"\" "+
                        "password=\""+pass+"\">\n"+
                        "<message type_id=\"1\" class_type=\""+classe+"\" from=\""+from+"\" validity=\"P200Y\">\n"+
                        "<gsm_content>"+message+"</gsm_content>\n"+
                        listeto+
                        "</message>\n"+
                        "</session>\n";
             
 
             
     
    } catch(Exception e){
        System.err.println("Error" );
    }
     
     System.err.println("Message XML : "+xml);
 
     request.setAttribute("xml",xml);
     
     RequestDispatcher rd = request.getRequestDispatcher("ValidateXML" );
     rd.forward(request,res);
}
     
public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException {
    doPost(req,res);
}
 
}

n°221241
darklord
You're welcome
Posté le 27-09-2002 à 12:08:08  profilanswer
 

mais je m'en fous de ta servlet bordayl. Je veux voir la stacktrace. C'est quoi l'erreur et ca concerne quel partie du code.


---------------
Just because you feel good does not make you right
n°221242
--greg--
Posté le 27-09-2002 à 12:09:11  profilanswer
 

touflb a écrit a écrit :

 

Code :
  1. request.setAttribute("xml",xml);
  2. RequestDispatcher rd = request.getRequestDispatcher("ValidateXML" );
  3. rd.forward(request,res);


-----------------------------
quand je récupere la requete dans mon servlet "ValidateXML" par :

Code :
  1. String xml=request.getParameter("xml" );


 
Et bien y aque tchi dedans inside




 
y'a pas un truc qui te choque là?


Message édité par --greg-- le 27-09-2002 à 12:09:31
n°221245
touflb
Posté le 27-09-2002 à 12:11:19  profilanswer
 

Calm down fellas.
 
Y a pas d'erreur. Juste que dans mon Servlet "ValidateXML" l'attribut "xml" est null.

mood
Publicité
Posté le 27-09-2002 à 12:11:19  profilanswer
 

n°221246
--greg--
Posté le 27-09-2002 à 12:13:03  profilanswer
 

mais si y'a une erreur
 
setAttribute  
getParameter
 
....

n°221248
darklord
You're welcome
Posté le 27-09-2002 à 12:15:55  profilanswer
 

--greg-- a écrit a écrit :

mais si y'a une erreur
 
setAttribute  
getParameter
 
....




 
bien vu!


---------------
Just because you feel good does not make you right
n°221249
touflb
Posté le 27-09-2002 à 12:16:48  profilanswer
 

for sure...
 
Mais le pb c'est que je dois laisser un getparameter() car mon appli n'est pas la seule a faire des requete sur "validateXML", alors comment faire ?

n°221250
darklord
You're welcome
Posté le 27-09-2002 à 12:17:40  profilanswer
 

:heink:


---------------
Just because you feel good does not make you right
n°221251
touflb
Posté le 27-09-2002 à 12:17:50  profilanswer
 

Et puis c'est koi la différence entre un attribut et un parametre ? (facultatif ;o) )

n°221254
--greg--
Posté le 27-09-2002 à 12:19:56  profilanswer
 

et bien tu fais
 

Code :
  1. String truc = req.getParameter(machin);
  2. if (truc==null) truc = (String) req.getAttribute(machin);
  3. if (truc==null) throw new ServletException("Houston, we have a problem" );


 
La difference entre attribut et paramètre:
 
un param fait partie de la requete envoyée par le browser, et sera tjs une String
un attribut est setté par toi et ta servlet, et est un Object.
 
Y'a surement plus à en dire mais l'essentiel est là je pense.
 
 
edit: pq mon 2e if est indenté? :heink:


Message édité par --greg-- le 27-09-2002 à 12:20:35
n°221255
touflb
Posté le 27-09-2002 à 12:20:25  profilanswer
 

Reprenons le pb à la base.
 
De maniere plus générale.
 
Je suis dans une servlet java, je veux créer une nouvelle requete HTTP. lui ajouter des trucs et la renvoyer.
 
Comment fais t'on puisque HttpServletrequest est une interface et HttpServlet aussi.
 
 
 
Do not panic.

n°221256
touflb
Posté le 27-09-2002 à 12:20:53  profilanswer
 

Cool raoul

n°221257
touflb
Posté le 27-09-2002 à 12:22:06  profilanswer
 

evidement un test à la con marche aussi.
 
 
Je vous remerçie bien pour votre attention et vos conseils.
 
Bonne journée.
 
Tlb.

n°221258
--greg--
Posté le 27-09-2002 à 12:22:18  profilanswer
 

tu ne peux pas instancier un objet implementant HttpServletRequest, à moins de l'implementer toi meme (bonne chance)
Les instances de HttpServletRequest que tu utilises dans tes servlets sont des "versions" implementées par ton serveur, qui lui sont propres. (l'objet implementant HttpServletRequest dans Tomct n'est pas "compatible" avec celui de Resin par exemple)

n°221259
--greg--
Posté le 27-09-2002 à 12:23:51  profilanswer
 

j't'en foutrai moi des "test à la con" :D

n°221263
darklord
You're welcome
Posté le 27-09-2002 à 12:29:22  profilanswer
 

touflb a écrit a écrit :

Reprenons le pb à la base.
 
De maniere plus générale.
 
Je suis dans une servlet java, je veux créer une nouvelle requete HTTP. lui ajouter des trucs et la renvoyer.
 
Comment fais t'on puisque HttpServletrequest est une interface et HttpServlet aussi.
 
 
 
Do not panic.




 
 [:w3c compliant]


---------------
Just because you feel good does not make you right
n°221265
--greg--
Posté le 27-09-2002 à 12:34:27  profilanswer
 

DarkLord a écrit a écrit :

 
 
 [:w3c compliant]  



moi je dirais: tain le mec on lui apprend son métier, il va se faire des briques sur notre dos maintenant [:w3c compliant], en faisant croire à son boss que ouais, j2ee, il assure.

n°221266
darklord
You're welcome
Posté le 27-09-2002 à 12:34:49  profilanswer
 

[:seyar]


---------------
Just because you feel good does not make you right
n°221268
--greg--
Posté le 27-09-2002 à 12:36:32  profilanswer
 

[:--greg--]


Message édité par --greg-- le 27-09-2002 à 12:36:50
n°221269
darklord
You're welcome
Posté le 27-09-2002 à 12:37:14  profilanswer
 

[:super chinois]


---------------
Just because you feel good does not make you right
n°221277
--greg--
Posté le 27-09-2002 à 12:46:11  profilanswer
 

il s'est vraiment cassé en plus hein... :(
 
enfin bon, il a dit merci c'est deja ça :D

n°221279
darklord
You're welcome
Posté le 27-09-2002 à 12:47:19  profilanswer
 

n'empeche je ne suis pas sur qu'il ait compris la stupidité de vouloir créer une nouvelle requete dans le cas d'un forward ...


---------------
Just because you feel good does not make you right
n°221304
--greg--
Posté le 27-09-2002 à 13:45:36  profilanswer
 

bah je suis passé par la aussi moi :o
 
c'est pas completement stupide mais ça n'a guère d'interet, et puis une requete étant ce qu'elle est, il ne serait pas logique d'en créer :)


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Comment créer une requete HttpServletRequest ?

 

Sujets relatifs
requete SQL... petite question toute simple... Help pleaseACCESS requète qui me prends la tête please HELP !!!
Comment creer un timer qui fait une action toutes les 5 minutes ?Problème de somme dans requête SQL
[MYSQL] De la longueur de la requête et son incidence sur les perfsComment on fait pour savoir si le résultat d une requete est vidE ?
Probleme d'écriture de requete en SQL :Requête SQL : clause avec 2 valeurs, c'est possible ?
Oracle : requête qui ne termine plus (Résolu )[MySQL]Créer des comptes avec authorisation sur certaines tables
Plus de sujets relatifs à : Comment créer une requete HttpServletRequest ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR