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-config_1_3.dtd et data source


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 18
    Points : 23
    Points
    23
    Par défaut struts-config_1_3.dtd et data source
    Bonjour tout le monde

    Je suis entrain de suivre le tuto de Serge Tahé sur Struts

    Dans son exemple, il utilise comme balises xml pour struts-config.xml, la version 1.1 de la dtd struts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    en voulant exécuter le même exemple, mais avec une dtd 1.3:

    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
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
    <struts-config>
        <data-sources>
            <data-source type="org.apache.commons.dbcp.BasicDataSource" key = "dbarticles">
                <set-property property="driverClassName" value="org.postgresql.Driver"/>
                <set-property property="url" value="jdbc:postgresql://localhost:5432/strutsarticle"/>
                <set-property property="username" value="strutsarticle" />
                <set-property property="password" value="strutsarticle" />
                <set-property property="maxActive" value="10" />
                <set-property property="maxWait" value="5000" />
                <set-property property="defaultAutoCommit" value="false" />
                <set-property property="defaultReadOnly" value="false" />
            </data-source>
        </data-sources>
    J'ai cette exception:
    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
    Parse Error at line 6 column 19: Element type "data-sources" must be declared.
    org.xml.sax.SAXParseException: Element type "data-sources" must be declared.
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
            at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
            at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
            at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1929)
            at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2740)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
            at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
            at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
            at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    Il semble que la version 1.3 ne prend plus en compte <data-source>....C'est ce que j'ai pu comprendre

    Alors je voudrais savoir SVP si quelqu'un peut confirmer cela car je n'ai trouvé sur la doc officielle aucune mention de cela.

    Si c'est le cas, est ce que quelqu'un sait comment faire pour exploiter une data source avec struts 1.3

    merci beaucoup!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Oui, la version 1.3 n'a plus le tag data-sources, ce qui paraît normal...
    Généralement, la data-source est définie sur le serveur et liée à un nom JNDI.
    Par exemple, avec un serveur Tomcat, tu peux utiliser un fichier context.xml placé dans le répertoire META-INF du projet et contenant quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <Context antiJARLocking="true" path="/simulateurTBOD">
     
        <Resource name="jdbc/tbod" auth="Container" type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@dev-dii-3:1521:xe"
            username="xxxx" password="xxxx" maxActive="20" maxIdle="10"
            maxWait="-1" />
     
    </Context>

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 18
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Oui, la version 1.3 n'a plus le tag data-sources, ce qui paraît normal...
    Généralement, la data-source est définie sur le serveur et liée à un nom JNDI.
    Par exemple, avec un serveur Tomcat, tu peux utiliser un fichier context.xml placé dans le répertoire META-INF du projet et contenant quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <Context antiJARLocking="true" path="/simulateurTBOD">
     
        <Resource name="jdbc/tbod" auth="Container" type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@dev-dii-3:1521:xe"
            username="xxxx" password="xxxx" maxActive="20" maxIdle="10"
            maxWait="-1" />
     
    </Context>
    Merci beaucoup OButterlin pour votre aide. Ca marche, j'arrive à accéder à ma data source.

    En effet j'ai suivi votre conseil et j'ai accédé à la page d'administration de mon serveur d'application glassfich(http://localhost:4848/login.jsf avec admin/admiadmin). Tout est "automatisé" et je n'ai pas eu besoin de modifier un fichier xml.

    J'ai choisi comme DataSource javax.sql.DataSource. j'ai également fourni mon login de connexion, mot de passe, nom de la base,etc..

    ensuite j'ai choisi comme JNDI "jdbc/strutsArticleTest" et j'ai pingué avec réussite.

    Au niveau de ma classe, j'ai ajouté ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Context ctx = new InitialContext();
    DataSource datasource =  (DataSource) ctx.lookup("jdbc/strutsArticleTest");
    le fichier struts-config.xml n'a aucun role dans l'accès à la datasource.

    Ecore une fois, merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2011, 10h45
  2. struts et connexion data-source
    Par duke666 dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/04/2008, 17h31
  3. Utilisation de Data source avec struts
    Par menzlitsh dans le forum Struts 1
    Réponses: 5
    Dernier message: 26/06/2007, 11h06
  4. [Data-sources] Questions de conception
    Par xfacq dans le forum Général Java
    Réponses: 1
    Dernier message: 02/06/2006, 01h32
  5. [WSAD5][DATA SOURCE][MYSQL]
    Par scape dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 02/02/2005, 10h50

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