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 :

requêtes http et iniatialisation des variables


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 48
    Points
    48
    Par défaut requêtes http et iniatialisation des variables
    Salut à tous

    Je suis entrain de développer une application web et je veux que l'utilisateur sur une page de cette application puisse afficher quelques informations concernant le navigateur, ...
    J'ai fais quelques recherche sur internet et j'ai pu trouvé que ça peut être fait en utilisant des requêtes HTTP

    voici un exemple de code que j'ai pu trouver:

    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
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;
     
    public class ShowRequestHeaders extends HttpServlet {
      public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
          throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        String title = "Servlet Example: Showing Request Headers";
        out.println(ServletUtilities.headWithTitle(title) +
                    "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                    "<H1 ALIGN=CENTER>" + title + "</H1>\n" +
                    "<B>Request Method: </B>" +
                    request.getMethod() + "<BR>\n" +
                    "<B>Request URI: </B>" +
                    request.getRequestURI() + "<BR>\n" +
                    "<B>Request Protocol: </B>" +
                    request.getProtocol() + "<BR><BR>\n" +
                    "<TABLE BORDER=1 ALIGN=CENTER>\n" +
                    "<TR BGCOLOR=\"#FFAD00\">\n" +
                    "<TH>Header Name<TH>Header Value");
        Enumeration headerNames = request.getHeaderNames();
        while(headerNames.hasMoreElements()) {
          String headerName = (String)headerNames.nextElement();
          out.println("<TR><TD>" + headerName);
          out.println("    <TD>" + request.getHeader(headerName));
        }
        out.println("</TABLE>\n</BODY></HTML>");
      }
     
      public void doPost(HttpServletRequest request,
                         HttpServletResponse response)
          throws ServletException, IOException {
        doGet(request, response);
      }
    }
    puisque je connaissais rien des servlets et des requêtes Http, je me permet de vous poser la question suivante comment exécuter ce code dans une classe main, c'est à dire les variables request et response je les initialise à quelles valeurs pour que ça marche ?

    Merci d'avance.

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    Toujours pas de réponse !!

  3. #3
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Tu peux détailler un peu plus ce que tu veux faire.

    quand tu dis classe main tu veux dire methode main ?

    la portion de code que tu executes ici ne peut s'executer dans un main puisque tu n'as pas d'objet HttpServletRequest.

    Mais si c'est le code de ta servlet que tu veux utiliser pour voir le contenu des informations de ton navigateur :

    tu déclares ta servlet dans ton web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <servlet>
            <servlet-name>ShowRequestHeaders </servlet-name>
            <servlet-class>chemin.vers.la.servlet.ShowRequestHeaders </servlet-class>
    </servlet>
     
    <servlet-mapping>
        	<servlet-name>ShowRequestHeaders </servlet-name>
        	<url-pattern>/ShowRequestHeaders </url-pattern>
    </servlet-mapping>
    et tu tape dans ton navigateur une url qui ressemble à cela :
    http:localhost:9080/context/ShowRequestHeaders?a=frfr&b=45

  4. #4
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Effectivement je pense que tu n'as pas bien assimilé le principe des servlets.
    Les objets request et response te sont fournis par un conteneur d'application, tel que Tomcat, JBoss, etc.
    Ces objets sont initialisés en fonction d'une requête HTTP, généralement envoyée au serveur d'application par un navigateur (firefox, IE...).
    Il faut donc être dans un contexte d'application web pour que ton code aie un sens.

    Donc tu ne peux à priori pas utiliser de main pour tester cette fonction (à moins d'écrire une classe qui te fournirait des objets request et response mais je te déconseille très fortement de partir la dessus).

    Comme l'as dit Link, le plus simple pour tester est d'installer un serveur web (comme tomcat par exemple) et d'y déployer ta servlet, puis ensuite d'y accéder via un navigateur.
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/08/2012, 18h10
  2. [AC-2003] creer une requête en VBA avec des variables
    Par qung88 dans le forum VBA Access
    Réponses: 14
    Dernier message: 23/02/2011, 15h19
  3. Requête HTTP pour récupérer des quotations.
    Par Pierre8r dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 18/01/2008, 16h41
  4. Réponses: 3
    Dernier message: 05/07/2007, 13h31
  5. [SQL] Récupérer des variables de formulaire dans une requête SQL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/11/2005, 18h44

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