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 :

Réaction dingue de Eclipse après changement du contenu d'une JSP.


Sujet :

Servlets/JSP Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Réaction dingue de Eclipse après changement du contenu d'une JSP.
    Incroyable...

    Voilà, je crée une JSP dans Ecplise en suivant ce tuto :

    http://blog.paumard.org/tutoriaux/eclipse-tomcat/

    Voici donc ma JSP qui marche bien lorsque je fais "RUN AS ON SERVEUR" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                          "http://www.w3.org/TR/html4/loose.dtd">
    <html>
       <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Insert title here</title>
       </head>
       <body>
          Bonjour le monde, il est <%=new java.util.Date() %>
       </body>
    </html>

    Le truc de malade, c'est que je modifie cette JSP, en ajoutant 1 ou deux mots de plus...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                          "http://www.w3.org/TR/html4/loose.dtd">
    <html>
       <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>Insert title here</title>
       </head>
       <body>
          Bonjour le monde qui est bien gentil, il est <%=new java.util.Date() %>
       </body>
    </html>
    je sauvegarde en faisant controle+S


    Je refais RUNAS /RUN ON SERVER


    Et là, le contenu de la JSP qui s'affiche ne se modifie Même pas, dans le navigateur, c'est toujours la même ancienne jsp qui s'affiche !! ! Bravo Javaee et Eclipse , super, ça me rappelle DOmino/Lotusnotes et les années 1990 (Quoi que amstrad et l''année 1985 ça marchait mieux, on écrivait du code, on le sauvegarde, et ça le sauvegarde au moins!)



    SECOND EXEMPLE DE TRUC QUI NE MARCHE PAS :
    Ensuite, j'essaye de créer une autre JSP qui va se connecter à ma base MYSQL :

    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
     
    <%@ page import="java.io.*,java.util.*,java.sql.*"%>
    <%@ page import="javax.servlet.http.*,javax.servlet.*" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
     
    <html>
    <head>
    <title>SELECT Operation</title>
    </head>
    <body>
     
    <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
         url="jdbc:mysql://localhost/TEST"
         user="root"  password="pass123"/>
     
    <sql:query dataSource="${snapshot}" var="result">
    SELECT * from Employees;
    </sql:query>
     
    <table border="1" width="100%">
    <tr>
       <th>Emp ID</th>
       <th>First Name</th>
       <th>Last Name</th>
       <th>Age</th>
    </tr>
    <c:forEach var="row" items="${result.rows}">
    <tr>
       <td><c:out value="${row.id}"/></td>
       <td><c:out value="${row.first}"/></td>
       <td><c:out value="${row.last}"/></td>
       <td><c:out value="${row.age}"/></td>
    </tr>
    </c:forEach>
    </table>
     
    </body>
    </html>
    Et là, le truc me fait une croix rouge à côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
    Je vois pas du tout ou retrouver ces librairies dans ce gros bordel avec tous leurs sites Internet, c'est impossible à moins de perdre des heures de précieux temps.

    Du coup voilà, une simple connexion à Mysql, le truc méga basique, est impossible dans ce système datant de 1994 , sans parler les erreurs incompréhensibles et l'anglicisation forcée de eclipse, merci j'ai encore le droit de parler mon langage ?

    EDIT : Voilà , là je vais sur le site https://jstl.java.net/download.html# pour télécharger jstl, je clique sur le bouton "download" et RIEN NE SE PASSE ! Truc de fou mais qu'est ce que c'est que cette technologie ? Quand on clique sur un bouton c'est censé marcher non ? Surtout pour télécharger une librairie ! ca veutx dire quoi que c'est à l'abandon ? Rien pas de message, incroyable.


    Voilà finalement j'ai installé JSTL , je n'ai plus les erreurs avec la croix :
    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
    <%@ page import="java.io.*,java.util.*,java.sql.*"%>
    <%@ page import="javax.servlet.http.*,javax.servlet.*" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
     
    <html>
    <head>
    <title>SELECT Operation</title>
    </head>
    <body>
     
    <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
         url="jdbc:mysql://localhost/TEST"
         user="root"  password="pass123"/>
     
    <sql:query dataSource="${snapshot}" var="result">
    SELECT * from Employees;
    </sql:query>
     
    <table border="1" width="100%">
    <tr>
       <th>Emp ID</th>
       <th>First Name</th>
       <th>Last Name</th>
       <th>Age</th>
    </tr>
    <c:forEach var="row" items="${result.rows}">
    <tr>
       <td><c:out value="${row.id}"/></td>
       <td><c:out value="${row.first}"/></td>
       <td><c:out value="${row.last}"/></td>
       <td><c:out value="${row.age}"/></td>
    </tr>
    </c:forEach>
    </table>
     
    </body>
    </html>
    Mais bien sur, quand je fais "RUN AS ON SERVER" : J'ai une erreur INCOMPREHENSIBLE, comme d'hab( ça ne marche jamais de toute façon )

    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
    86
    87
    88
    89
    90
    91
    Etat HTTP 500 - java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/sql/SQLExecutionTag
     
    --------------------------------------------------------------------------------
     
    type Rapport d'exception
     
    message java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/sql/SQLExecutionTag
     
    description Le serveur a rencontré une erreur interne qui l'a empêché de satisfaire la requête.
     
    exception 
     
    javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/sql/SQLExecutionTag
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
     
     
    cause mère 
     
    java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/sql/SQLExecutionTag
    	java.lang.ClassLoader.defineClass1(Native Method)
    	java.lang.ClassLoader.defineClass(Unknown Source)
    	java.security.SecureClassLoader.defineClass(Unknown Source)
    	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)
    	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	java.lang.ClassLoader.defineClass1(Native Method)
    	java.lang.ClassLoader.defineClass(Unknown Source)
    	java.security.SecureClassLoader.defineClass(Unknown Source)
    	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)
    	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1196)
    	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
    	org.apache.jasper.compiler.Parser.parse(Parser.java:130)
    	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
    	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
     
     
    cause mère 
     
    java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.sql.SQLExecutionTag
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	java.lang.ClassLoader.defineClass1(Native Method)
    	java.lang.ClassLoader.defineClass(Unknown Source)
    	java.security.SecureClassLoader.defineClass(Unknown Source)
    	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)
    	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	java.lang.ClassLoader.defineClass1(Native Method)
    	java.lang.ClassLoader.defineClass(Unknown Source)
    	java.security.SecureClassLoader.defineClass(Unknown Source)
    	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)
    	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    	org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1196)
    	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
    	org.apache.jasper.compiler.Parser.parse(Parser.java:130)
    	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
    	org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.45.
     
     
    --------------------------------------------------------------------------------
     
    Apache Tomcat/6.0.45
    C'est vraiment tordu et old school, avec des messages d'erreurs trop chiant. Avec angularJs, notepad en français et n'importe quel back end, j'aurais fait la connexion depuis 30 ans avec $http et en français, là c'est les années 90 , de l'anglo saxon , bref ça fait du bien de critiquer des trucs bizarres alambiqués l'après midi. tant pis j'arréte là, je referai demain. On se sent dégouté intérieurement d'être freiné par des outils anglo-saxons , alambiqués et outdated. On comprends bien que ce langage n'est pas fait pour le web aussi, lorsqu'on voit que cela ne marche jamais et qu'il faut 3 jours pour écrire un HELLO WORLD.
    Dernière modification par Invité ; 08/05/2016 à 16h11.

Discussions similaires

  1. Changement du contenu d'une div
    Par Zineb1987_UNI dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/08/2009, 11h23
  2. [AJAX] Changement de contenu dans une div.
    Par tinoudu01 dans le forum AJAX
    Réponses: 10
    Dernier message: 01/05/2009, 12h22
  3. Réponses: 11
    Dernier message: 10/06/2008, 10h31
  4. [SWING] Jtable changement du contenu d'une cellule
    Par tchoukapi dans le forum Composants
    Réponses: 5
    Dernier message: 07/11/2007, 03h03
  5. Charger Macro apres changement de valeur d'une cellule
    Par jackfred dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/07/2007, 14h51

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