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...
je sauvegarde en faisant controle+S
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 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 :
Et là, le truc me fait une croix rouge à côté de
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>
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.
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"%>
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 :
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 <%@ 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>
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.
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.45On 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.
Partager