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

Struts 2 Java Discussion :

Problème d'utilisation d'objet venant d'un projet JPA importé dans un projet Struts2 sous Eclipse


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut Problème d'utilisation d'objet venant d'un projet JPA importé dans un projet Struts2 sous Eclipse
    Bonjour à tous.

    C'est la première fois que je post un message sur ce forum, après y avoir lu bon nombre de messages qui m'ont aidé. J'espère que cette fois encore vous pourrez m'aider parce que j'ai beau chercher partout, je trouve pas la solution a mon problème...

    Dans le cadre de la réalisation d'un projet J2EE de gestion client pour l'acquisition de mon diplôme de développeur (je suis débutant, et je suis en stage de validation de compétence), j'ai réalisé un projet JPA-Hibernate ou j'y ai mis mes classes métier et y gère l'accès à une base de données MySQL.
    J'ai ensuite créer un projet Struts2. J'ai mis mon projet JPA dans le build path de mon projet Struts2 (j'utilise Eclipe 3.5).

    Mon problème est le suivant. Lorsque j'essaye d'utiliser un objet venant de mon projet JPA importé, j'ai aucun message d'erreur dans le code, mais quand je test le tout dans mon navigateur, j'ai le message suivant :

    Etat HTTP 500 -

    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    javax.servlet.ServletException: L'exécution du filtre (Filter) a lancé une exception
    cause mère

    java.lang.NoClassDefFoundError: Lutilitaire/Utilisateur;
    java.lang.Class.getDeclaredFields0(Native Method)
    java.lang.Class.privateGetDeclaredFields(Class.java:2291)...
    Je vois pas ce que j'ai mal ou pas configurer pour que ça marche correctement parce que tout le reste à l'air de bien fonctionner...
    Si vous savais me guider...
    Au besoin, je peux vous montrer les codes que j'utilise.

  2. #2
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 36
    Par défaut
    est ce que tu veux nous montrer le code de ton web.xml !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    Je suis content d'avoir une réponse! :) merci moutambo.
    Il me reste une semaine avant la fin de mon stage.

    Si je n'ai pas une solution aujourd'hui, je pense que je vais simplement copier/coller toutes les classes de mon projet JPA dans mon projet Struts. Ça cassera un peu mon architecture N-tiers, mais je pense que ça fonctionnera.

    Sinon voila le code de mon "web.xml":

    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>infoconfig_Struts</display-name>
     
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
      </welcome-file-list>
     
      <filter>
    	<filter-name>struts2</filter-name>
    	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>
      <filter-mapping>
    	<filter-name>struts2</filter-name>
    	<url-pattern>/*</url-pattern>
      </filter-mapping>
     
      <context-param>
    	<param-name> org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG </param-name>
    	<param-value>/WEB-INF/tiles.xml</param-value>
      </context-param>
     
      <listener>
    	<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
      </listener>
    </web-app>

    Ça te parle ?

  4. #4
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 36
    Par défaut
    T'as oublié de déclarer le filtre de Servlet action de Struts.

    Donc il faut déclarer l'ActionServlet de Struts dans le web.xml avec les tlds comme le Tiles... HTML..bean etc.

    Dans le web-inf faut que tu crées ou si tu as déja Struts-Config faut le mettre dans le Web-Inf et aussi les bean.tld + html.tld + tiles.tld + logic.tld + nested.tld au cas ou tu travailles avec eux.

    ensuite essaie de copier coller ce web.xml :
    Code xml : 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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
     
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	version="2.5">
    	<servlet>
    		<servlet-name>action</servlet-name>
    		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    		<init-param>
    			<param-name>config</param-name>
    			<param-value>/WEB-INF/struts-config.xml
    			</param-value>
    		</init-param>
    		<init-param>
    			<param-name>debug</param-name>
    			<param-value>2</param-value>
    		</init-param>
    		<init-param>
    			<param-name>detail</param-name>
    			<param-value>2</param-value>
    		</init-param>
    		<init-param>
    			<param-name>validate</param-name>
    			<param-value>true</param-value>
    		</init-param>
    		<init-param>
    			<param-name>multipartClass</param-name>
    			<param-value>
    				org.apache.struts.upload.CommonsMultipartRequestHandler
    			</param-value>
    		</init-param>
     
    		<load-on-startup>2</load-on-startup>
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>action</servlet-name>
    		<url-pattern>*.do</url-pattern>
    	</servlet-mapping>
    	<session-config>
    		<session-timeout>30</session-timeout>
    	</session-config>
    	<welcome-file-list>
    		<welcome-file>index.jsp</welcome-file>
     
    <jsp-config>
     
    		<taglib>
    			<taglib-uri>/tags/struts-bean</taglib-uri>
    			<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    		</taglib>
     
    		<taglib>
    			<taglib-uri>/tags/struts-html</taglib-uri>
    			<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    		</taglib>
     
    		<taglib>
    			<taglib-uri>/tags/struts-logic</taglib-uri>
    			<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    		</taglib>
     
    		<taglib>
    			<taglib-uri>/tags/struts-nested</taglib-uri>
    			<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    		</taglib>
     
    		<taglib>
    			<taglib-uri>/tags/struts-tiles</taglib-uri>
    			<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    		</taglib>
    </jsp-config>
     
    </web-app>

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    Je ne comprends pas tout ce que tu m'as répondu.
    Je suis débutant...
    Ce que je pense avoir compris, c'est que j'ai oublié le Struts-config?

    Il me semblait que ce fichier était nécessaire avec Struts1 mais pas avec Struts2. Ce n'est pas le cas?

    J'ai mon fichier Struts.xml que j'ai placé dans mon dossier "src"
    dont voila le code:

    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
    	<constant name="struts.devMode" value="false" />
     
    	<include file="application.xml"/>
     
    	<package name="default" namespace="/" extends="struts-default">
    		<default-action-ref name="index" />
    		<action name="index">
    			<result type="redirectAction">
    				<param name="actionName">accueil</param>
    				<param name="namespace">/</param>
    			</result>
    		</action>
    	</package>
    </struts>

    et je définis mes action Struts dans mon fichier application.xml qui se trouve au même endroit.

    J'utilise Tiles pour définir mon layout.

    Qu'est-ce que sont les fichiers .tld? J'en ai pas entendu parlé.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 7
    Par défaut
    Je viens de me renseigner sur les fichier .tld et effectivement, ils ne sont pas nécessaire en struts2.
    Toutes les .tld sont réunit dans un seul: struts-tags.tld .

    Et plus besoin de le mettre dans le web-inf,
    pour les utiliser, je copie juste
    <%@ taglib prefix="s" uri="/struts-tags" %>
    dans mes .jsp

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/05/2015, 23h19
  2. Réponses: 0
    Dernier message: 17/01/2011, 14h39
  3. Réponses: 12
    Dernier message: 03/07/2009, 13h37
  4. Réponses: 4
    Dernier message: 14/03/2009, 02h45

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