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 1 Java Discussion :

Struts,Spring et Eclipse


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 74
    Par défaut Struts,Spring et Eclipse
    Bonjour,

    je souhaiterais intégrer mes beans Spring(IService...) dans mes Actions de Struts.

    J'ai lu l'explication sur developpez.com qui dit de rajouter ça dans struts-config.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/action-servlet.xml.xml,/WEB-INF/applicationContext.xml"/>
    </plug-in>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <controller>
    	<set-property property="processorClass"
    	value="org.springframework.web.struts.DelegatingRequestProcessor"/>
    </controller>

    Comme je travaille avec Eclipse, je ne possède pas les fichiers :
    action-servlet.xml.xml et applicationContext.xml.
    Que dois-je faire?

    Pour le moment, j'ai toujours l'erreur suivante:
    La servlet action est actuellement indisponible


    Voici mon fichier: Spring-config.xml

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
     
    	<!-- la source de donnéees DBCP -->
    	 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    	 destroy-method="close">
    	 <property name="driverClassName">
    	 <value>com.mysql.jdbc.Driver</value>
    	 </property>
    	 <property name="url">
    	 <value>jdbc:mysql://localhost/enduro_db</value>
    	 </property>
    	 <property name="username">
    	 <value>root</value>
    	 </property>
    	 <property name="password">
    	 <value></value>
    	 </property>
    	 </bean>
     
    	 <!-- sessionFactory -->
    	 <bean id="sessionFactory"
    	 class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    	 <property name="dataSource">
    	 <ref local="dataSource"/>
    	 </property>
    	  <property name="configLocation">
                <value>hibernate.cfg.xml</value>
            </property>
    	 </bean>
     
    	 <!-- la classes d'accès à la couche [dao] -->
    	 <bean id="daoEnduro" class="com.enduro.dao.DaoEnduro">
    	 <property name="sessionFactory">
    	 <ref local="sessionFactory"/>
    	 </property>
    	 </bean>
    	 <bean id="daoPrise" class="com.enduro.dao.DaoPrise">
    	 <property name="sessionFactory">
    	 <ref local="sessionFactory"/>
    	 </property>
    	 </bean>
     
    	<!-- la classe serviceEnduro -->
    	<bean id="serviceEnduro" class="com.enduro.service.ServiceEnduro">
    		<property name="daoEnduro">
    		<ref local="daoEnduro" />
    		</property>
    	</bean>
     
    	<!-- la classe servicePrise -->
    	<bean id="servicePrise" class="com.enduro.service.ServicePrise">
    		<property name="daoPrise">
    		<ref local="daoPrise" />
    		</property>
    	</bean>
     
    	<!-- Les controleurs 
    	<bean id="/ListEnduro" class="com.enduro.ui.ListEnduroAction">
    		<property name="serviceEnduro">
    		<ref local="serviceEnduro" />
    		</property>
    	</bean>
    	-->
    </beans>
    Mon fichier struts-config.xml
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
                                   "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
     <data-sources/>
     <form-beans>
      <form-bean name="GetEnduroForm" type="com.enduro.ui.GetEnduroForm"/>
      <form-bean name="GetNouvellePeseeForm" type="com.enduro.ui.GetNouvellePeseeForm"/>
      <form-bean name="GetNouvelleEquipeForm" type="com.enduro.ui.GetNouvelleEquipeForm"/>
     </form-beans>
     <global-exceptions/>
     <global-forwards/>
     <action-mappings>
      <action name="GetEnduroForm" path="/NouveauEnduro" scope="request" type="com.enduro.ui.NouveauEnduroAction">
       <forward name="index" path="/NouvelleEquipe.jsp"/>
      </action>
      <action name="GetNouvellePeseeForm" path="/NouvellePesee"
       scope="request" type="com.enduro.ui.NouvellePeseeAction">
       <forward name="index" path="/NouvellePesee.jsp"/>
      </action>
      <action name="GetNouvelleEquipeForm" path="/NouvelleEquipe"
       scope="request" type="com.enduro.ui.NouvelleEquipeAction">
       <forward name="index" path="/NouvelleEquipe.jsp"/>
      </action>
      <action path="/ListEnduro" scope="request" type="com.enduro.ui.ListEnduroAction">
       <forward name="index" path="/ListEnduro.jsp"/>
      </action>
      <action path="/ChargerEnduro" scope="request" type="com.enduro.ui.ChargerEnduroAction">
       <forward name="index" path="/index.jsp"/>
      </action>
     </action-mappings>
     <!-- <set-property property="processorClass"
    	value="org.springframework.web.struts.DelegatingRequestProcessor"/>
    	 -->
     <controller/>
     <message-resources null="false" parameter="Resources_fr"/>
    <!-- <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/action-servlet.xml.xml,/WEB-INF/applicationContext.xml"/>
    </plug-in> -->
    </struts-config>
    J'ai fait un essai seulement pour /ListEnduro


    Je prends toutes vos idées

    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Citation Envoyé par gazier20
    Comme je travaille avec Eclipse, je ne possède pas les fichiers :
    action-servlet.xml.xml et applicationContext.xml.
    Que dois-je faire?
    Tu mets le nom exact du fichier dans lequel tu as défini tes beans spring (spring-config.xml). Il faut juste savoir que action-servlet.xml n'est qu'un nom de fichier quelconque et que tu peux appeler ton fichier comme tu veux, pourvu de spécifier le bon fichier au bon emplacement.
    Bon courage.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 74
    Par défaut
    J'ai essayé çà: (en copiant spring-config.xml dans le dossier WEB-INF car à la base il est dans mon dossier src qui est à l'extérieur de WEB-INF)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/spring-config.xml"/>
    </plug-in>
    J'ai toujours cet erreur d'action servlet non disponible.

    Je tiens à préciser que toute mes servlets fonctionnes lorsque j'injecte directement mes services et dao directement dans la page comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    serviceEnduro = (IServiceEnduro) new XmlBeanFactory(new ClassPathResource("spring-config.xml")).getBean("serviceEnduro");
    J'aimerais cependant vraiment faire le plus propre possible.

    J'attends vos idées avec impatience

    MERCI

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Je crois que tu dois vérifier que tu déclares de manière correcte le <plug-in> et <controller> dans le fichier struts-config.xml. Dans ton premier post je vois que ce n'est pas le cas et en plus ces éléments sont entre commentaires. C'est de là que vient probablement le problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <controller>
    	<set-property property="processorClass"
    	value="org.springframework.web.struts.DelegatingRequestProcessor"/>
    </controller>
     
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
         <set-property property="contextConfigLocation"
                   value="/WEB-INF/spring-config.xml"/>
    </plug-in>
    Et vérifies bien que pour une action donnée, la correspondance est bien faite entre sa définition dans struts-config.xml et celle dans spring-config.xml, c'est-à-dire que si dans struts-config.xml tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action path="/listEnduro" ... />
    dans spring-config.xml tu dois définir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean name="/listEnduro" .../>
    Voilà, si toutes ces précautions sont prises, il n'y a aucune raison pour que ça ne fonctionne pas, sauf si le problème viendrait totalement d'ailleurs.

  5. #5
    Invité de passage
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Par défaut spring, struts, eclipse
    merci d'avoir ouvrir cette discussion,

    moi aussi j ai le probleme mai le pire c est que lorsque je mai le code des deux balise pug-in et controller dans le fichier struts-config.xml, les deux balises ne somble pa etre reconu il me declare une erreur.

    je ne sai pa comment faire

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/02/2006, 09h04
  2. [Struts]Taglib et eclipse
    Par MicroPuce dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/02/2006, 08h48
  3. [struts][spring] creation objet
    Par mlequim dans le forum Struts 1
    Réponses: 2
    Dernier message: 13/01/2006, 12h05
  4. [AJAX][STRUTS][SPRING] Comment faire ?
    Par nighma dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 22/12/2005, 12h26

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