JSP : problème pour instancier une classe Java

Résolu/Fermé
Milly7534
Messages postés
26
Date d'inscription
jeudi 12 juin 2014
Statut
Membre
Dernière intervention
27 avril 2015
- 27 juin 2014 à 16:35
Milly7534
Messages postés
26
Date d'inscription
jeudi 12 juin 2014
Statut
Membre
Dernière intervention
27 avril 2015
- 6 août 2014 à 16:14
Bonjour,

Je programme en J2EE et j'essaye d'exécuter les fonctions de mes classes dans une page JSP.
Pour ce faire, je crée une instance de chaque classe dans la page mais pour une d'entre elles, j'ai cette erreur :

Etat HTTP 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/openrdf/repository/Repository

type Rapport d''exception
message javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/openrdf/repository/Repository
description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/openrdf/repository/Repository org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
controleur.OXeean_page.doGet(OXeean_page.java:59)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
...
...

Je précise que cette classe permet une connexion au triplestore Sesame et d'exécuter des requêtes SPARQL.
Dans ma classe, j'importe le package correspondant qui semble être le sujet de l'erreur :

import org.openrdf.repository.Repository;

Je comprends pas pourquoi cela pose problème.

Merci d'avance pour votre aide !

1 réponse

KX
Messages postés
16596
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2022
2 973
27 juin 2014 à 18:51
Bonjour,

Faire un import ne suffit pas, il faut aussi que la classe importée soit dans le classpath à l'exécution, généralement on mettra donc le jar de la bibliothèque dans le war de l'application web.
0
Milly7534
Messages postés
26
Date d'inscription
jeudi 12 juin 2014
Statut
Membre
Dernière intervention
27 avril 2015

27 juin 2014 à 22:49
Excuse-moi mais je ne vois pas trop ce que tu veux dire par là
0
KX
Messages postés
16596
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2022
2 973
27 juin 2014 à 23:00
Ce que je veux dire, c'est que lors de l'exécution, Java ne retrouve pas la classe org.openrdf.repository.Repository, celle-ci était sûrement disponible lorsque tu as compilé le code (configurée dans Eclipse par exemple) mais elle n'est pas disponible sur le serveur, il faut la rajouter.

Il faudrait en savoir plus sur la manière dont tu as fait ton déploiement. Le plus simple est d'utiliser Maven mais tu as sûrement fait autrement, si bien que si tu regardes les fichiers sur ton serveur, tu dois avoir ton code, mais pas la bibliothèque openrdf (un jar sans doute) qu'il faudrait rajouter.
0
Milly7534
Messages postés
26
Date d'inscription
jeudi 12 juin 2014
Statut
Membre
Dernière intervention
27 avril 2015

Modifié par Milly7534 le 27/06/2014 à 23:13
Merci pour ta réponse ! J'ai copié tous mes JAR dans le répertoire /lib de WEB-INF et j'ai de nouveau accès à ma page web. Maintenant, je cherche désespérément comment exécuter mes fonctions...
0
KX
Messages postés
16596
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2022
2 973
27 juin 2014 à 23:39
Et bien dans ta page jsp tu dois faire un formulaire html, qui enverra tous les paramètres à ta servlet, qui les récupérera et les enverra à la couche métier pour traitement, celui-ci te renverra le résultat que tu pourras afficher dans une jsp résultat.

Tu peux regarder un de mes codes pour t'en inspirer (il est fait pour ça) :
Exemple simple d'application JSTL
0
Milly7534
Messages postés
26
Date d'inscription
jeudi 12 juin 2014
Statut
Membre
Dernière intervention
27 avril 2015

30 juin 2014 à 15:07
Bonjour ! Merci pour ton code :) Ca m'a aidé mais du coup je me demande : mon application n'a besoin que d'une seule page, est-ce que je dois quand même avoir un servlet et une JSP pour chaque traitement ?
0