User:PhilippeRenevierGonin

De $1

Table des matières
aucun titre

Version de 22:25, 16 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

 

Lien vers le TP JEE en TechnoWeb (reprise de celui de Michel Buffa) : GestionnaireLivreJEE

 

 

Lien vers un autre TP JEE (s'il vous reste du temps, il ne s'agit pas d'en faire le projet... juste la partie tp-tutoriel) sur JPA de Michel Buffa: TP2 Technologies Web M1 Miage 2016-2017 
Pour ce deuxième tp, laissé "brut", écrit pour NetBeans, voici quelques indications pour IntelliJ :

  1. dans IntelliJ faire new project > java entreprise (version JEE 6): cliquez sur web application , cliquez sur CDI (il faut ré-utiliser celui du tp ci-dessus ou faire Use Library / Create et désigner le jar cdi-api.jar de glassfish) et cliquez sur (JavaEE Persistence) (on peut ajouter après)
  2. faite le tp comme dans le lien mais :
    1. le fichier "sun-resources.xml" s'appelent "glassfish-resources.xml" et se mets dans web/WEB-INF
      1. dans les nom des ressources jdni-name il faut préfixer par "java:app/" :
        <jdbc-resource enabled="true" jndi-name="java:app/BaseUtilisateursMysql" object-type="user" pool-name="maria_net_utilisateurs_appPool"/>

        et dans persistance.xml :
        <jta-data-source>java:app/BaseUtilisateursMysql</jta-data-source>
        
        
        

        source : https://stuetzpunkt.wordpress.com/20...resources-xml/
         
    2. persistence.xml va dans src/META-INF
    3. il faut bien ajouter la librairie jackson au projet
    4. il faut les drivers jdbc (pour myql notamment) pour glassfish : à mettre dans le dossier <intall de glassfish>\glassfish\lib
      1. par défaut glassfish a Derby
    5. l'utilisation d'un BD Derby "embedded" semble compliquée : il faut lancer la bd (MySQL, Derby, etc. à l'extérieur d'intellij)

 

Voici un exemple de persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> <persistence-unit name="turlututu" transaction-type="JTA"> <jta-data-source>java:app/BaseUtilisateursMysql</jta-data-source> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/> </properties> </persistence-unit> </persistence>

et un exemple de glassfish-resources.xml (avec deux configurations possibles de BD)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPEresourcesPUBLIC"-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN""http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources> <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.ClientDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="derby_net_utilisateurs_appPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false"> <property name="serverName" value="localhost"/> <property name="portNumber" value="1527"/> <property name="databaseName" value="myutilisateurs2018"/> <property name="User" value="app"/> <!-- app -->
<property name="Password" value="app"/> <property name="URL" value="jdbc:derby://localhost:1527/utilisateurs2018"/> <property name="driverClass" value="org.apache.derby.jdbc.ClientDriver"/> </jdbc-connection-pool> <jdbc-resource enabled="true" jndi-name="java:app/BaseUtilisateurs" object-type="user" pool-name="derby_net_utilisateurs_appPool"/> <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false"
connection-creation-retry-attempts="0"
connection-creation-retry-interval-in-seconds="10"
connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0"
connection-validation-method="auto-commit"
datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
fail-all-connections="false" idle-timeout-in-seconds="300"
is-connection-validation-required="false" is-isolation-level-guaranteed="true"
lazy-connection-association="false" lazy-connection-enlistment="false"
match-connections="false" max-connection-usage-count="0" max-pool-size="32"
max-wait-time-in-millis="60000" name="maria_net_utilisateurs_appPool"
non-transactional-connections="false" pool-resize-quantity="2"
res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1"
steady-pool-size="8" validate-atmost-once-period-in-seconds="0"
wrap-jdbc-objects="false"> <property name="serverName" value="localhost"/> <property name="portNumber" value="3306"/> <property name="databaseName" value="utilisateurs2018"/> <property name="User" value="app"/> <!-- app -->
<property name="Password" value="app"/> <property name="URL" value="jdbc:mysql://localhost:3306/utilisateurs2018"/> <property name="driverClass" value="com.mysql.jdbc.Driver"/> </jdbc-connection-pool> <jdbc-resource enabled="true" jndi-name="java:app/BaseUtilisateursMysql" object-type="user" pool-name="maria_net_utilisateurs_appPool"/> </resources>