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

Spring Java Discussion :

Erreur HTTP 400


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut Erreur HTTP 400
    Bonjour tout le monde,

    je reviens vers vous. Cette fois-ci il s'agit de l'erreur http 400.

    Je suis entrain de vouloir inserer les donnés dans une table dans ma base de données. Cette table a une foreign key parmi ses colonnes. Elle a une relation manytoone avec la table dont elle possède la foreign key.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Quand je lance l'application,je reçois cette erreur: 
     
    HTTP Status 400 -
     
    type Status report
     
    message
     
    description The request sent by the client was syntactically incorrect.
    Apache Tomcat/7.0.34
    Voici les codes et la configuration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Classe de service: SpettacoloServices.java du package starcinema.services
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package starcinema.services;
     
    import java.util.List;
    import javax.annotation.Resource;
     
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    import starcinema.model.Film;
    import starcinema.model.Spettacolo;
     
     
    /**
     *
     * @author simon
     */
    @Service("spettacoloService")
     @Transactional
    public class SpettacoloServices 
    {
         @Autowired
         @Resource(name="sessionFactory")
         private SessionFactory sessionFactory;
     
            Session session= null;
     
     public List<Spettacolo> getAllspettacolo(Integer idfilm) {
     
       session = sessionFactory.getCurrentSession();
       Query query = session.createQuery("FROM  Spettacolo WHERE idf=" +idfilm);
       return  query.list();
     }
     
     
     public List<Spettacolo> getAll() {
     
       session = sessionFactory.getCurrentSession();
     
     
      Query query = session.createQuery("FROM  Spettacolo");
       return  query.list();
     }
     
     
     public Spettacolo get( Integer idspettacolo ) 
     {
     session = sessionFactory.getCurrentSession();
     
     
      Spettacolo spettacolo = (Spettacolo) session.get(Spettacolo.class, idspettacolo);
     
     
      return spettacolo;
     }
     
     
     public void addspettacolo(Integer idfilm, Spettacolo spettacolo) {
     
     
     
     session = sessionFactory.getCurrentSession();
     
     
      Film existingFilm = (Film) session.get(Film.class, idfilm);
     
     
      spettacolo.setFilm(existingFilm);
     
     
      session.save(spettacolo);
     }
     
     
    }
    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
     
     
     
    @Controller
     
    public class ControllerServlet 
    {
    @Resource(name="spettacoloService")
        private SpettacoloServices spettacoloService;
    .....
    ......
     
    @RequestMapping(value = "admin.do", method=RequestMethod.GET)
        public String getAdd(@RequestParam("idfilm") Integer idfilm, Model model)
            {
                Spettacolo spettacolos  = new Spettacolo();
                 spettacolos.setFilm(filmService.getfilm(idfilm));
                 model.addAttribute("spettacolo", spettacolos);
                return "admin";
            }
     
            @RequestMapping(value = "listspettacolo.do")
             public String insertspettacolo(Model model)
          {
            spettacoloService.getAll();
                return "listspettacolo";
          }
        @RequestMapping(value = "insertspettacolo.do", method=RequestMethod.POST)
       public String insertspettacolo(@ModelAttribute() Spettacolo spettacolos, @RequestParam("idfilm") Integer idfilm,  Model model)
          {
            spettacoloService.addspettacolo(idfilm, spettacolos);
                return "listspettacolo";
          }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%--
    Views should be stored under the WEB-INF folder so that
    they are not accessible except through controller process.
     
    This JSP is here to provide a redirect to the dispatcher
    servlet but should be the only JSP outside of WEB-INF.
    --%>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <% response.sendRedirect("admin.do"); %>
    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
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Starcinema</title>
        </head>
     
        <body>
           <table border="0">
          <tr><th>Titolo del film per qui si vuole inserire lo spettacolo</th></tr>
              <c:forEach var="film" items="${films}">
            <tr>
     
                <td><a href="listspettacolo.do?idfilm=${idfilm}"><ul>${film.titolo}</ul></a></td>
            </tr>
          </c:forEach>
        </table>
        </body>
    </html>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listspettacolo.jsp: dans ceci j'ai deux tables, une pour m'afficher les spettacles qui sont déjà dans la base de données et une autre pour me permettre d'y inserer les données
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title><img src="images/img/admin.jpg"/> ADMIN </title>
        </head>
        <body>
               <h1>Titolo Film: ${film.titolo}</h1>
        <br/>
     
        <table border="2">
          <tr><th>Prezzo</th><th>Ora</th><th>Data</th><th>Sala</th></tr>
              <c:forEach var="spettacolo" items="${spettacolos}">
            <tr>
              <td>${spettacolo.prezzo}</td>
              <td>${spettacolo.ore}</td>
              <td>${spettacolo.data}</td>
              <td>${spettacolo.numsala}</td>
            </tr>
          </c:forEach>
        </table>
     
        <br/>
     
        <h2>Add spettacolo</h2>
     
        <form name="spettacoloInsertForm" action="insertspettacolo.do" method="post">
     
          <table border="2">
     
            <tr>
              <td>Prezzo</td>
              <td><input type="text" name="prezzo" value=""</td>
            </tr>
     
            <tr>
              <td>Ora</td>
              <td><input type="text" name="ore" value=""</td>
            </tr>
            <tr>
              <td>Data</td>
              <td><input type="text" name="data" value=""</td>
            </tr>
            <tr>
              <td>Sala</td>
              <td><input type="text" name="numsala" value=""</td>
            </tr>
        </table>
     
          <input type="hidden" name="idfilm" value="${idfilm}"/>
     
          <input type="submit" value="ok"/>
     
        </form>
     
     
     
     
         </body>
    </html>
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
     
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>2</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>redirect.jsp</welcome-file>
        </welcome-file-list>
    </web-app>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application Context.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
    16
    17
    18
    19
    20
    21
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <!--property name="dataSource"><ref local="dataSource"/></property-->
          <property name="configLocation">
              <value>classpath:hibernate.cfg.xml</value>
          </property>
      </bean>
     
     
     
     
    </beans>
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:p="http://www.springframework.org/schema/p"
           xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:tx="http://www.springframework.org/schema/tx"
           xmlns:context="http://www.springframework.org/schema/context"
     
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
     
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
     
    ">
     
      <context:component-scan base-package="starcinema"/>
      <context:annotation-config/>
     
     
     
      <bean id="viewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver"
            p:prefix="/WEB-INF/jsp/"
            p:suffix=".jsp" />
    </beans>

    J'utilise toujours netbeans, apache Tomcat 7.0.34 spring 3.1.1 et hibernate
    3.2.5.

    Pouriez-vous me donner encore un coup de main?
    Je ne comprends pas pourquoi je dois avoir cette erreur pourtant me sembre ok.
    Merci d'avance!

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    1- Prend l'habitude de mettre un "/" pour les chemins dans le RequestMapping et le lien dans le jsp.
    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="listspettacolo.do?idfilm=${idfilm}">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="listspettacolo.do?idfilm=${film.idfilm}">
    3-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public String insertspettacolo(Model model)
          {
            spettacoloService.getAll();
                return "listspettacolo";
          }
    Tu dois mettre la valeur retournée par spettacoloService.getAll() dans le model
    4-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="idfilm" value="${idfilm}"/>
    Tu dois mettre aussi idfilm dans le model.


    A+.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    The request sent by the client was syntactically incorrect.
    Dans tout ce code posté, c'est quoi le client? Parce que le problème c'est que le client envoie n'importe quoi et je ne vois que le code du serveur là

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Dans tout ce code posté, c'est quoi le client? Parce que le problème c'est que le client envoie n'importe quoi et je ne vois que le code du serveur là
    Le client ce sont ces deux page jsp: admin.jsp et listspettacolo.jsp.

    admin.jsp demande au server de lui donner les id des films et les titres correspondant. Ils apparaitront sous forme de lien. Quand je cliquerai dessus, j'irai à la page listspettacoloj.sp qui me fera voir les spettacles correspondant à l'id et au titre du film. J'ai la possibilité d'en inserer d'autre. Et c'est ce que je voudrais justement faire. Mais je n'y arrive pas.

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    As-tu corrigés les erreurs cités précédemment? Ce que tu nous as donné sont du coté serveur, ce que tchize_ te demande c'est du coté client (navigateur).

    A+.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par noumedem Voir le message
    Le client ce sont ces deux page jsp: admin.jsp et listspettacolo.jsp.
    A moins que tes JSP ne se connectent à un autre serveur HTTP, genre un web service, ce ne sont pas des clients, c'est le serveur.


    Ton client (navigateur), c'est quoi? Il a envoyé quoi comme requête à ton serveur? Eventuellement, fait un sniff de la connexion avec wireshark et envoie nous le fichier dump que tu obtiens.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut
    Bonjour Tchize et Andry.aime,

    @Tchize

    j'utilise comme navigateur Firefox. Il envoie cette la requete suivante au serveur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     http://localhost:8084/starcinema/admin.do
    -starcinema c'est le nom de mon projet que j'ai defini dans netbeans
    -admin c'est le fichier jsp que le serveur est censé avoir.

    Mais après a requete le client me fait voir ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    HTTP Status 400 -
     
    type Status report
     
    message
     
    description The request sent by the client was syntactically incorrect.
    Apache Tomcat/7.0.34
    admin doit me renvoyer les titres des films sous forme de lien comme j'ai defini dans le fichier jsp. Si je clique sur un titre de film je dois voir les spettacles correspondant à ce titre et la possibilité d'inserer d'autres spettacles.

    @Andry.aime

    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1- Prend l'habitude de mettre un "/" pour les chemins dans le RequestMapping et le lien dans le jsp.
    Je ne comprends pas bien. Peux-tu m'illustrer cela avec un exemple?

    -2
    J'ai corrigé ce que tu m'as demandé de faire.
    ça ne marche pas.
    C'est en regardant bien le code que je me suis rendu compte que je demandais à la base de données de me faire voir toute la liste des spettacles. En fait ce n'est pas ce que je veux.
    Je voudrais plutot voir la liste des spettacles correspondant à un idfilm ou titre de film.
    Par consequent je ne dois pas utiliser le getAll()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      @RequestMapping(value = "listspettacolo.do")
             public String insertspettacolo(Model model)
          {
            spettacoloService.getAll();
                return "listspettacolo";
          }
    mais plutot getAllspettacolo(idfilm)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      @RequestMapping(value = "listspettacolo.do", method=RequestMethod.GET)
             public String listspettacolo(@RequestParam("idfilm") Integer idfilm, Model model)
          {
              List<Spettacolo> spettacolos;
            spettacolos = spettacoloService.getAllspettacolo(idfilm);
            model.addAttribute("spettacolos", spettacolos);
     
                return "listspettacolo";
          }
    Je reçois la meme erreur.

    Je redis ce que je voudrais faire:

    En fait j'ai deux tables dans ma base de données. L'une s'appelle film et à pour clé: idfilm. Elle contient les colonnes idfilm, description, lientrailer... L'autre s'appelle spettacolo. Elle a pour clé idspettacolo. Elle a pour colonnes idspettacolo, date, heure et 'la clé externe idf' qui est en fait la clé de la table film. J'ai à faire à une relation manytoone. Dans le table spettacolo, je peux avoir plusieurs spettacles qui correspondent à un seul film.

    Je voudrais inserer les données dans la table spettacolo en tenant compte du film pour lequel j'insère le spettacle.

    C'est cela mon cauchemar depuis plus d'une semaine

    Je vous prie de m'aider, je suis debutant.

    Merci encore

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 22
    Par défaut
    Merci deja pour la reponse. Actuellement je ne peux pas mettre les mains sur le code car machine a des problèmes. Je vous direz comment les choses evolues dès que possible. Merci encore

Discussions similaires

  1. [Erreur HTTP 400] Bad request.
    Par ZeKiD dans le forum Subversion
    Réponses: 0
    Dernier message: 16/08/2011, 15h36
  2. Erreur HTTP 400 avec mechanize, proxy et https
    Par poupoune2001 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 26/05/2008, 13h38
  3. [Tomcat] Erreur HTTP 500
    Par gandalf_le_blanc dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/08/2004, 15h26
  4. [Tomcat][Eclipse] erreur http 404 à l'exécution de servlet
    Par mayjo dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 30/07/2004, 18h19
  5. [Htaccess] Gérer les erreurs HTTP du type 404...
    Par Marshall_Mathers dans le forum Apache
    Réponses: 4
    Dernier message: 01/07/2004, 10h29

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