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 du Club
    Inscrit en
    Décembre 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 74
    Points : 48
    Points
    48
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    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 du Club
    Inscrit en
    Décembre 2005
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 74
    Points : 48
    Points
    48
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    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
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1
    Points : 1
    Points
    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