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 Web Java Discussion :

Spring avec Gradle : Utiliser Ajax


Sujet :

Spring Web Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut Spring avec Gradle : Utiliser Ajax
    Bonjour,

    Je suis en train d'apprendre à faire un web service et je comprends pas grand chose. Quand je cherche sur internet "Spring ajax example" j'ai plein de propositions qui sont différentes... et on me propose surtout du Maven et pas gradle...

    J'aimerai faire un service de location et j'ai déjà la structure Java pour le back end. Il faut que je trouve un moyen rapide et facile à comprendre pour faire le front end.

    Comment utiliser Ajax svp ? J'ai déjà fait un peu d'ajax avec php sur mon site perso donc je connais, mais avec java je comprends pas du tout comment l'utiliser...

    Est-ce que vous auriez des tutos (avec gradle donc) svp ? Ceux que j'ai trouvés sont pas du tout complets...

    Dans mon code j'ai les packages domain, message, service, springconfig, web ... Je sais pas du tout quel code mettre où pour faire fonctionner mon appli de location avec Ajax par exemple !

    Aidez moi svp

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Quel intérêt à utiliser Gradle plutôt que Maven? Si tu n'as pas de besoin absolu à faire du Gradle, autant rester en Maven, tu trouveras plus facilement du support... Mais même du Ant pourrais très bien faire le job... Ce n'est qu'un outil de build & gestion des dépendances

    Vu du côté backend, la mise en place d'ajax consiste surtout à exposer des endpoints (rest). Qu'ils soient ensuite exploité en "mode ajax" (terme qui veut pas dire grand chose...) ou autrement est un détail...

    Pour les endpoints, soit tu fais du Spring Web, soit tu fais du JaxRS (avec Jersey par exemple). En environnement Spring, autant rester sur du Spring, même si j'aurais tendance à préférer l'api JaxRS.
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Expert confirmé Avatar de yildiz-online
    Homme Profil pro
    Architecte de domaine
    Inscrit en
    Octobre 2011
    Messages
    1 444
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de domaine

    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 444
    Points : 4 563
    Points
    4 563
    Par défaut
    Citation Envoyé par Anonyme1784 Voir le message
    Bonjour,

    rapide et facile à comprendre pour faire le front end
    Ca tombe bien, c'est la même chose qu'en PHP, ajax c'est juste mettre une url, un verbe et un callback, que le backend soit en php, java, python, ruby ou brainfuck n'a aucune incidence sur le code client.
    PXL le retro-gaming facile: Essayez-le

    Yildiz-Engine an open-source modular game engine: Website
    Yildiz-Online a 3D MMORTS in alpha: Facebook page / Youtube page

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    Quel intérêt à utiliser Gradle plutôt que Maven? Si tu n'as pas de besoin absolu à faire du Gradle, autant rester en Maven, tu trouveras plus facilement du support... Mais même du Ant pourrais très bien faire le job... Ce n'est qu'un outil de build & gestion des dépendances

    Vu du côté backend, la mise en place d'ajax consiste surtout à exposer des endpoints (rest). Qu'ils soient ensuite exploité en "mode ajax" (terme qui veut pas dire grand chose...) ou autrement est un détail...

    Pour les endpoints, soit tu fais du Spring Web, soit tu fais du JaxRS (avec Jersey par exemple). En environnement Spring, autant rester sur du Spring, même si j'aurais tendance à préférer l'api JaxRS.
    Merci,

    J'ai pas compris grand chose dsl :p
    Mais mon prof veut qu'on utilise gradle...

    Du coup j'ai déjà mes classes en Java, et je doit juste afficher un fichier html dans un dossier view ?
    Dans le fichier je mets de l'ajax avec comme url les mêmes terminaisons que dans mon Controller et ça fonctionnera par magique ? C'est ce qu'à fait un ami apparemment ça fonctionne comme ça :/
    Apparemment on doit utiliser un plugin pour navigateur en plus...

  5. #5
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Mais mon prof veut qu'on utilise gradle...
    Ha bah commence par là...

    Gradle je peux pas t'aider désolé, et perso je préfère pas dire ce que j'en pense vraiment... Mais en vrai ce n'est qu'un détail, tu peux très bien récupérer un projet Maven et le convertir en Gradle.

    Ensuite, effectivement, si tu as déjà des Controller, il suffit que dans ton html (que tu poses où tu veux du moment qu'il est déployé et accessible avec ton navigateur, mais c'est un autre sujet), tu lances une requête vers l'url définie dans le controlleur (encore une fois, la manière de déclencher une requête à destination d'une url en javascript dépend de la librairie utilisée: aucune, ou jquery, ou angular, ou autre chose etc...).

    Vu du serveur, Ajax n'existe pas vraiment. Tout ce qu'il sait faire, c'est fournir des données lorsqu'il reçoit une requête. C'est le client, et surtout la partie javascript, qui va décider de "faire de l'ajax" ou pas (eg. ton client pourrait très bien être un outil genre curl ou wget, et dans ce cas-là, bien que ça exécute le même code serveur que si ça avait été fait en javascript, on ne parlerait plus d'ajax).

    Pour le plugin de navigateur. Heu bin heureusement qu'on doit pas en installer pour faire de l'ajax sinon y'a pas beaucoup de sites qui fonctionneraient ^^
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    il suffit que dans ton html tu lances une requête vers l'url définie dans le controlleur
    Merci beaucoup

    Ca fonctionne maintenant, mais j'ai un soucis, dans le constructeur du controller j'ai défini trois voitures puis j'ai modifié les valeurs des plaques etc... Mais quand je relance les requêtes et bien je reçois les anciennes valeurs et pas celles qui ont été modifiées Comment ça se fait ? Alors que j'ai redémarré mon ordi entre temps ! C'est enregistré et tout...

    Ps : on utilise le plugin Allow control Allow Origin

  7. #7
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut


    Cache-Control : No-Cache: https://developer.mozilla.org/fr/doc.../Cache-Control

    Ou alors la version évoluée: If-Modified-Since : https://developer.mozilla.org/fr/doc...Modified-Since

    Pour le plugin, penses juste que c'est quelque chose que les autres utilisateurs n'auront pas: tu devrais plutôt le désinstaller et contrôller finement les header CORS.
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Merci ! a quel endroit de mon code je peux mettre no cache ? Je suis sur Chrome par Mozilla. Meme en cochant ne pas garder le cache quand les dev tools sont ouverts (avec F12 > network) ca marche pas...

    Si on a pas de plugin on a une erreur, ce serait stylé que je le fasse sans plugin en effet mais je n'ai peut-être pas le temps de me renseigner sur "header CORS" je dois finir mon projet pour la semaine prochaine

  9. #9
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Le Cache Control ça se met dans les réponses (pas en javascript donc, mais côté spring donc) et ça sert à indiquer aux clients qu'il ne faut pas qu'ils conservent la réponse dans leur cache.

    PS: si ça marche pas avec la case à cocher dans les devtools (F12), alors je saurais pas trop d'où peut venir la vieille info.... Es-tu 100% sûr que tu as bien recompilé tout le binz?

    Tu as plus d'une semaine pour setter un header, ça devrait être largement suffisant... Quand tu sauras comment setter Cache-Control, tu sauras aussi comment setter Access-Control-Allow-Origin... c'est le même principe (indice: au moins 3 manières différentes de le faire sont dispo ici: https://stackoverflow.com/questions/...origin-missing)

    PS: ton plugin là, pour moi, c'est une énorme faille de sécu...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    Le Cache Control ça se met dans les réponses (pas en javascript donc, mais côté spring donc) et ça sert à indiquer aux clients qu'il ne faut pas qu'ils conservent la réponse dans leur cache.

    PS: si ça marche pas avec la case à cocher dans les devtools (F12), alors je saurais pas trop d'où peut venir la vieille info.... Es-tu 100% sûr que tu as bien recompilé tout le binz?

    Tu as plus d'une semaine pour setter un header, ça devrait être largement suffisant... Quand tu sauras comment setter Cache-Control, tu sauras aussi comment setter Access-Control-Allow-Origin... c'est le même principe (indice: au moins 3 manières différentes de le faire sont dispo ici: https://stackoverflow.com/questions/...origin-missing)

    PS: ton plugin là, pour moi, c'est une énorme faille de sécu...
    Merci je vais tester ça

    Mais pti problème, maintenant ma variable car est undefined quand je la GET en Ajax ^^' alors que j'ai rien changé...

    En ajax j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var cars;
        	$.ajax({
    		type: "GET",
    		url: "http://localhost:8080/cars",
    		dataType: 'json',
    		async: false, 
    		success: function(data){
    			cars = data;			
    		}
    	});
    alert(cars);
    Voici mon controller :
    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
    83
    84
    85
    package com.example.FirstSpringProject.web;
     
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.ResponseStatus;
     
    import com.example.FirstSpringProject.domain.Car;
     
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
     
    import org.springframework.http.HttpStatus;
    import org.springframework.stereotype.Controller;
     
     
    @Controller
    public class CarController {
     
    	public static List<Car> cars = new ArrayList<>();
     
    	public CarController(){
    		Car car1 = new Car("AA33BB", false, 0, null, null, "Nice BMW");
    		cars.add(car1);
    		Car car2 = new Car("AA34ND", true, 0, null, null, "Red Ferrari");
    		cars.add(car2);
    		Car car3 = new Car("FR00SS", false, 0, null, null, "Blue Mini");
    		cars.add(car3);
    		Car car4 = new Car("FR11SS", false, 0, null, null, "Blue Mini 2");
    		cars.add(car4);
    	}
     
    	@RequestMapping(value = "/cars", method = RequestMethod.GET)
    	@ResponseStatus(HttpStatus.OK)
    	@ResponseBody
    	public List<Car> getAllCars(){
    		List<Car> cars2 = new ArrayList<>();
    		for(Car car: cars){
    			if(car.isRented() == false){
    				cars2.add(car);
    			}
    		}
    		return cars2;
    	}
    	@RequestMapping(value = "/cars/{plateNumber}", method = RequestMethod.GET)
    	@ResponseStatus(HttpStatus.OK)
    	@ResponseBody
    	public Car aCar(@PathVariable("plateNumber") String plateNumber) throws Exception{
    		for(Car car: cars){
    			if(car.getPlateNumber() == plateNumber){
    				return car;
    			}
    		}
    		throw new IOException("Car not found");
    	}
    	@RequestMapping(value = "/cars/{plateNumber}", method = RequestMethod.DELETE)
    	@ResponseStatus(HttpStatus.OK)
    	public void getBack(@PathVariable("plateNumber") String plateNumber) throws Exception{
    	}
    	@RequestMapping(value = "/cars/{plateNumber}", method = RequestMethod.PUT)
    	@ResponseStatus(HttpStatus.OK)
    	public void rent(@PathVariable("plateNumber") String plateNumber) throws Exception{
    		for(Car car: cars){
    			if(car.getPlateNumber() == plateNumber){
    				car.setRented(true);
    			}
    		}
    		throw new IOException("Car not found");
    	}
    	@RequestMapping(value = "/voiture/{plateNumber}", method = RequestMethod.PUT)
    	@ResponseStatus(HttpStatus.OK)
    	public void rentAndGetBack(@PathVariable("plateNumber") String plateNumber,
    	@RequestParam(value="rent", required = true)boolean rent) throws Exception{
    	}
    	@RequestMapping(value = "/index", method = RequestMethod.GET)
    	@ResponseStatus(HttpStatus.OK)
    	@ResponseBody
    	public String send(){
    		return "hello";
    	}
     
    }

  11. #11
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Côté jquery, tu n'as pas de handler pour les cas d'erreur...

    Et quand tu as ce genre de soucis, pense à regarder le traffic http avec un outil genre fiddler ou firebug ou autres
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    Côté jquery, tu n'as pas de handler pour les cas d'erreur...

    Et quand tu as ce genre de soucis, pense à regarder le traffic http avec un outil genre fiddler ou firebug ou autres
    Ah zut ca doit etre à cause de ca..
    jquery-3.2.1.min.js:4 Failed to load http://localhost:8080/cars: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
    send @ jquery-3.2.1.min.js:4
    ajax @ jquery-3.2.1.min.js:4
    (anonymous) @ index.html:24

    C'est bon j'ai résolu en redémarrant le plugin mais j'ai toujours les anciens objets....

  13. #13
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    les anciens objets sont soit issus du cache du navigateur, soit d'une vieille version de ton code source qui n'a pas été recompilé depuis...

    Assure-toi à 200% que le code est bien recompilé (conseil: cherche tous les fichiers *.class de ton projet et efface les manuellement)

    Assure-toi aussi à 200% que ton browser a bien vidé son cache (Effacer mes donneés de navigation ou Navigation en mode privé)

    Sinon bah là faudra brûler un cierge et faire une incantation a Chtuhlu (utiliser un pentacle, une poule noire un soir de pleine lune et lire des passages du Necronomicon)
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    les anciens objets sont soit issus du cache du navigateur, soit d'une vieille version de ton code source qui n'a pas été recompilé depuis...

    Assure-toi à 200% que le code est bien recompilé (conseil: cherche tous les fichiers *.class de ton projet et efface les manuellement)

    Assure-toi aussi à 200% que ton browser a bien vidé son cache (Effacer mes donneés de navigation ou Navigation en mode privé)

    Sinon bah là faudra brûler un cierge et faire une incantation a Chtuhlu (utiliser un pentacle, une poule noire un soir de pleine lune et lire des passages du Necronomicon)
    Merci bcp,


    Je galère vraiment, je trouve pas d'aide concrète sur le Allow machin là... Je sais pas quel code ajouter où dans mon code ! Ca m'aurait vraiment bcp aidé parce que je peux pas faire de navigation privée avec le plugin...

    Ca veut dire quoi "recompliler" ? Je pensais que compiler c'est cliquer sur la fleche verte donc oui... Mais sérieux quand je redémarre mon ordi ça suffit pas ?

    Bref il faudrait que je code surtout les fonctionnalités de l'appli, notre prof nous a juste filé un tuto pour installer Spring c'est nul

    Je crois que je vais partir sur l'incantation...

  15. #15
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par Anonyme1784 Voir le message
    Ca veut dire quoi "recompliler" ?
    ça veut dire transformer toutes tes sources (fichiers java) en fichier de bytecode (fichiers .class). Souvent c'est fait automatiquement par ton IDE (Eclipse ou autre), mais des fois ça peut partir en cacahuète donc c'est pas plus mal de tout virer à la main de temps en temps (surtout quand tu as des problèmes inexplicables autrement)

    Citation Envoyé par Anonyme1784 Voir le message
    Je pensais que compiler c'est cliquer sur la fleche verte donc oui...
    Nan ça c'est "lancer"

    Citation Envoyé par Anonyme1784 Voir le message
    Mais sérieux quand je redémarre mon ordi ça suffit pas ?
    Nan non plus, les fichiers .class ils s'en battent les steacks des reboots

    Citation Envoyé par Anonyme1784 Voir le message
    Je crois que je vais partir sur l'incantation...
    Faut que la poule soit vierge sinon ça marchera pas


    Sinon dans ton contrôlleur spring:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        @RequestMapping(value = "/uneurl", method = RequestMethod.GET)
        @ResponseBody
        public String someServiceAccessControllAllowAll(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws Exception {
            httpResponse.setHeader("Cache-Control", "no-cache");
            httpResponse.setHeader("Access-Control-Allow-Origin", "*");
            return "blabla";
        }
    ça devrait le faire (j'ai pas testé)... et surtout ça te permet de virer ton plugin tout moche.
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Merci bcp bcp

    Ajout de ton code, suppression des .class, suppression du cache navigateur à la main, désactivation du plugin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jquery-3.2.1.min.js:4 Failed to load http://localhost:8080/cars: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
    J'irai à la ferme demain alors ... :'(

    Comment on recompile sur eclipse ? J'ai décoché un truc dans Project pour build et je fais ctrl B mais ce passe pas des masses de trucs... Bref sans le plugin ça plante et j'ai toujours les anciens objets...............

  17. #17
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    heu comment dire... dans Eclipse -> Project -> Clean puis -> Build all (ou Build Automatically), puis stop/start Tomcat, ça devrait marcher...

    Sinon bah essaie de committer ça sur github et je regarde... parce que j'ai pas d'idée là, franchement que les anciennes ressources restent à ce point quelque part ça défie toute logique...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Bon... après avoir clean je peux plus run... Erreur : impossible de trouver ou charger la classe principale com.example.FirstSpringProject.FirstSpringProjectApplication

    J'ai donc restauré les .class supprimés mais ça donne le même message...

    Voici le projet https://drive.google.com/file/d/19YA...ew?usp=sharing

    EDIT : https://drive.google.com/file/d/1OQL...ew?usp=sharing

  19. #19
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par Anonyme1784 Voir le message
    Bon... après avoir clean je peux plus run... Erreur : impossible de trouver ou charger la classe principale com.example.FirstSpringProject.FirstSpringProjectApplication
    et ça ça te donne pas l'impression que t'as des erreurs et/ou problèmes de compilation?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  20. #20
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Heu dans ton code là y'a pas de contrôlleur?

    T'aurais pas effacé un fichier sans faire exprès?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Utilisation de ajax avec struts
    Par edogawa dans le forum Struts 1
    Réponses: 2
    Dernier message: 23/01/2008, 10h37
  2. Faut-il combiner Spring avec Struts ou utiliser Spring MVC ?
    Par micanti dans le forum Frameworks Web
    Réponses: 3
    Dernier message: 23/04/2007, 16h31
  3. Utiliser Spring avec EJB
    Par rOmAle dans le forum Spring
    Réponses: 5
    Dernier message: 03/04/2007, 17h30
  4. Utilisation de Spring avec un client lourd
    Par speedster dans le forum Spring
    Réponses: 30
    Dernier message: 15/03/2007, 14h23

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