pb servlet java pour alivePdf - Java - Programmation
Marsh Posté le 01-12-2009 à 14:36:51
Dans le web.xml, tu dois définir ta servlet :
Code :
|
Ensuite tu dois définir un mapping qui fait le lien entre l'url appelée et la servlet définie.
Code :
|
Marsh Posté le 01-12-2009 à 14:54:27
Merci,
mon web.xml est fait ainsi:
Code :
|
Je pense que le pb vient de ce fichier, mais je ne vois pas d'où...
Marsh Posté le 01-12-2009 à 15:00:22
Et elle ressemble à quoi l'url que tu essayes ?
http://localhost:8080/moncontexte/CreatePDFServlet
ou
http://localhost:8080/CreatePDFServlet ?
PS : tu veux aussi virer le mapping sur la servlet "invoker" qui n'est plus disponible par défaut depuis Tomcat 5 ou 6
Marsh Posté le 01-12-2009 à 19:06:07
Là il te manque le contexte de la webapp à moins que tu ais défini explicitement / comme racine
Marsh Posté le 02-12-2009 à 10:56:49
Bidem a écrit : Là il te manque le contexte de la webapp à moins que tu ais défini explicitement / comme racine |
Merci,
mais saurais-tu comment je dois le définir dans mon web.xml? Ou dans mon adresse?
Marsh Posté le 02-12-2009 à 11:52:33
Dans Eclipse, dans la perspective Server si tu "ouvres" ton serveur (double clic ou F3), ça affiche l'éditeur de conf du serveur.
L'onglet "Modules" permet de gérer les différents contexte (webapps) lancés par ce serveur.
Fait un Edit... et change le Path à /
Marsh Posté le 02-12-2009 à 12:10:54
Bidem a écrit : Dans Eclipse, dans la perspective Server si tu "ouvres" ton serveur (double clic ou F3), ça affiche l'éditeur de conf du serveur. |
Merci, mais je ne trouve pas de perspective "server" dans Eclipse?
Marsh Posté le 02-12-2009 à 14:56:54
Citation : Je développe sous Eclipse Ganymède, avec Tomcat 6. Je n'ai pas de problème pour générer mon fichier WAR, ni pour le déployer via l'interface Manager de Tomcat |
Au temps pour moi, je pensais que tu lançais ton tomcat directement dans Eclipse.
Dans le manager de tomcat, tu dois voir le nom du contexte (c'est le nom de ton war normalement)
Ajoute le contexte dans l'url que tu testes, ça devrait mieux marcher.
PS un peu de doc à lire : Tomcat : Configuration du contexte
Marsh Posté le 02-12-2009 à 15:07:24
Bidem a écrit :
|
En fait, depuis Eclipse, j'exporte mon WAR vers le bureau. Puis depuis Tomcat je le sélectionne et fais "déployer". Il apparait bien dans la liste, mais avec "running" à false, et si je fais "start", il me dit :
FAIL - Application at context path /CreatePDFServlet could not be started
Marsh Posté le 02-12-2009 à 15:30:13
Oulà, j'ai peur. Il s'appelle comment ton war ?
S'il s'appel CreatePDFServlet alors tu m'as enduis d'erreur depuis le début (je croyais bêtement que c'était une servlet)
Sinon, regarde dans le fichier <tomcat>/logs/catalina.out, il y des chances que tu ais des erreurs empéchant le démarage du contexte.
Marsh Posté le 02-12-2009 à 15:37:32
Bidem a écrit : Oulà, j'ai peur. Il s'appelle comment ton war ? S'il s'appel CreatePDFServlet alors tu m'as enduis d'erreur depuis le début (je croyais bêtement que c'était une servlet) Sinon, regarde dans le fichier <tomcat>/logs/catalina.out, il y des chances que tu ais des erreurs empéchant le démarage du contexte. |
Mon WAR s'appelle bien CreatePDFServlet, c'est pas bon?
j'ai trouvé ça:
02/12/2009 03:05:07 م org.apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndilocalhost/CreatePDFServlet/WEB-INF/web.xml
java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name invoker
pourtant mon web.xml me semble correct???
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>CreatePDFServlet</display-name>
<description>
</description>
<!-- Define servlets that are included in the example application -->
<servlet>
<servlet-name>
CreatePDFServlet
</servlet-name>
<servlet-class>
com.CreatePDFServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
CreatePDFServlet
</servlet-name>
<url-pattern>
/CreatePDFServlet
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>role1</role-name>
</security-role>
<security-role>
<role-name>tomcat</role-name>
</security-role>
</web-app>
Marsh Posté le 02-12-2009 à 16:44:43
Citation : java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name invoker |
Citation : PS : tu veux aussi virer le mapping sur la servlet "invoker" qui n'est plus disponible par défaut depuis Tomcat 5 ou 6 |
Donc, c'est bien le mapping sur invoker qu'il faut virer.
Et comme tu as nommé ton appli de la même façon que ta servlet, l'url à appeler c'est
http://localhost:8080/CreatePDFServlet/CreatePDFServlet
Marsh Posté le 02-12-2009 à 16:54:36
Bidem a écrit :
Et comme tu as nommé ton appli de la même façon que ta servlet, l'url à appeler c'est |
ok, merci.
J'ai viré ce mapping, désormais l'appli est démarrée dans le manager Tomcat.
Néanmoins j'ai toujours ce message d'erreur lorsque je clique dessus dans le manager: type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NegativeArraySizeException
com.CreatePDFServlet.doGet(CreatePDFServlet.java:25)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
Marsh Posté le 02-12-2009 à 17:12:45
Citation : java.lang.NegativeArraySizeException |
Lis avec ton doigt
Surement qu'à la ligne 25 de CreatePDFServlet.java tu créés un tableau en lui spécifiant une taille négative...
Marsh Posté le 02-12-2009 à 17:33:48
Bidem a écrit :
|
oui, j'ai bien compris... Le pb est désormais du côté de mon code ActionScript, qui ne doit pas envoyer à manger à l'appli, car ligne 25 je ne fais que récupérer les données binaires de mon fichier flash.
Encore merci pour ton aide précieuse!
Marsh Posté le 01-12-2009 à 13:43:36
Bonjour,
j'essaie d'utiliser alivePdf pour ... générer des pdfs, eh oui, ça marche très bien avec le script php fourni, par contre je me casse les dents depuis plusieurs jours en essayant de créer une servlet java... Je développe sous Eclipse Ganymède, avec Tomcat 6. Je n'ai pas de problème pour générer mon fichier WAR, ni pour le déployer via l'interface Manager de Tomcat, par contre, quand j'essaie de l'atteindre, j'ai le message d'erreur suivant: "HTTP Status 404 - /CreatePDFServlet/
type Status report
message /CreatePDFServlet/
description The requested resource (/CreatePDFServlet/) is not available."
Je ne sais vraiment pas d'où vient cette erreur. Je suppose que la source en est mon web.xml, mais je suis total nioubie en java, et je ne vois pas où est l'erreur.
Merci par avance si quelqu'un peut m'aider!
Cyrill