24. L’internationalisation.
24.1. Les objets de type Locale
24.1.1. La création d’un objet Locale
24.1.2. L’obtention de la liste des Locales disponibles.
24.1.3. L’utilisation d’un objet Locale.
24.2. La classe ResourceBundle.
24.2.1. La création d’un objet ResourceBundle
24.2.2. Les sous classes de ResourceBundle
24.2.2.1. L’utilisation de PropertyResourceBundle.
24.2.2.2. L’utilisation de ListResourceBundle.
24.2.3. L’obtention d’un texte d’un objet ResourceBundle
24.3. Des chemins guidés pour réaliser la localisation
24.3.1. L’utilisation d’un ResourceBundle avec un fichier propriétés.
24.3.2. Des exemples de classes utilisant PropertiesResourceBundle
24.3.3. L’utilisation de la classe ListResourceBundle.
24.3.4. Des exemples de classes utilisant ListResourceBundle
24.3.5. La création de sa propre classe fille de ResourceBundle
25. Les composants Java beans
25.1. La présentation des Java beans
25.2. Les propriétés
25.2.1. Les propriétés simples.
25.2.2. Les propriétés indexées (indexed properties)
25.2.3. Les propriétés liées (Bound properties)
25.2.4. Les propriétés liées avec contraintes (Constrained properties).
25. Les composants Java beans
25.3. Les méthodes.
25.4. Les événements.
25.5. L’introspection.
25.5.1. Les modèles (designs patterns).
25.5.2. La classe BeanInfo
25.6. Paramétrage du bean ( Customization )
25.7. La persistance
25.8. La diffusion sous forme de jar.
26. Logging
26.1. La présentation du logging
26.1.1. Des recommandations lors de la mise en oeuvre
26.1.2. Les différents frameworks
26.2. Log4j.
26.2.1. Les premiers pas
26.2.1.1. L’installation
26.2.1.2. Les principes de mise en oeuvre.
26.2.1.3. Un exemple de mise en oeuvre.
26.2.2. La gestion des logs avec les versions antérieures à la 1.2.
26.2.2.1. Les niveaux de gravités : la classe Priority.
26.2.2.2. La classe Category
26.2.2.3. La hiérarchie dans les Categorys
26.2.3. La gestion des logs à partir de la version 1.2
26.2.3.1. Les niveaux de gravité : la classe Level
26.2.3.2. La classe Logger.
26.2.3.3. La migration de Log4j antérieure à 1.2 vers 1.2.
26.2.4. Les Appenders.
26.2.4.1. AsyncAppender.
26.2.4.2. JDBCAppender.
26.2.4.3. JMSAppender.
26.2.4.4. LF5Appender
26.2.4.5. NTEventLogAppender
26.2.4.6. NullAppender
26.2.4.7. SMTPAppender
26.2.4.8. SocketAppender
26.2.4.9. SocketHubAppender.
26.2.4.10. SyslogAppender
26.2.4.11. TelnetAppender.
26.2.4.12. WriterAppender
26.2.4.13. ConsoleAppender
26.2.4.14. FileAppender.
26.2.4.15. DailyRollingFileAppender
26.2.4.16. RollingFileAppender
26.2.4.17. ExternalyRolledFileAppender
26.2.5. Les layouts
26.2.5.1. SimpleLayout
26.2.5.2. HTMLLayout
26.2.5.3. XMLLayout
26.2.5.4. PatternLayout
26.2.6. L’externalisation de la configuration
26.2.6.1. Les principes généraux.
26.2.6.2. Le chargement explicite d’une configuration
26.2.6.3. Les formats des fichiers de configuration.
26.2.6.4. La configuration par fichier properties.
26.2.6.5. La configuration via un fichier XML
26.2.6.6. log4j.xml versus log4j.properties
26.2.6.7. La conversion du format properties en format XML
26.2.7. La mise en oeuvre avancée.
26. Logging
26.2.7.1. La lecture des logs
26.2.7.2. Les variables d’environnement
26.2.7.3. L’internationalisation des messages
26.2.7.4. L’initialisation de Log4j dans une webapp.
26.2.7.5. La modification dynamique de la configuration.
26.2.7.6. NDC/MDC
26.2.8. Des best practices
26.2.8.1. Le choix du niveau de gravité des messages
26.2.8.2. L’amélioration des performances
26.3. L’API logging
26.3.1. La classe LogManager
26.3.2. La classe Logger.
26.3.3. La classe Level
26.3.4. La classe LogRecord.
26.3.5. La classe Handler
26.3.6. La classe Filter
26.3.7. La classe Formatter.
26.3.8. Le fichier de configuration
26.3.9. Exemples d’utilisation.
26.4. Jakarta Commons Logging (JCL).
26.5. D’autres API de logging
27. La sécurité.
27.1. La sécurité dans les spécifications du langage
27.1.1. Les contrôles lors de la compilation.
27.1.2. Les contrôles lors de l’exécution.
27.2. Le contrôle des droits d’une application
27.2.1. Le modèle de sécurité de Java 1.0.
27.2.2. Le modèle de sécurité de Java 1.1.
27.2.3. Le modèle Java 1.2
27.3. JCE (Java Cryptography Extension).
27.3.1. La classe Cipher
27.4. JSSE (Java Secure Sockets Extension).
27.5. JAAS (Java Authentication and Authorization Service).
28. JNI (Java Native Interface)
28.1. La déclaration et l’utilisation d’une méthode native
28.2. La génération du fichier d’en-tête
28.3. L’écriture du code natif en C.
28.4. Le passage de paramètres et le renvoi d’une valeur (type primitif).
28.5. Le passage de paramètres et le renvoi d’une valeur (type objet).
29. JNDI (Java Naming and Directory Interface).
29.1. La présentation de JNDI
29.1.1. Les services de nommage.
29.1.2. Les annuaires.
29.1.3. Le contexte
29.2. La mise en oeuvre de l’API JNDI
29.2.1. L’interface Name.
29.2.2. L’interface Context et la classe IntitialContext.
29.3. L’utilisation d’un service de nommage
29.3.1. L’obtention d’un objet
29.3.2. Le stockage d’un objet.
29.4. L’utilisation avec un DNS.
29.5. L’utilisation du File System Context Provider de Sun
29.6. LDAP
29.6.1. L’outil OpenLDAP
29.6.2. LDAPBrowser.
29. JNDI (Java Naming and Directory Interface)
29.6.3. LDIF
29.7. L’utilisation avec un annuaire LDAP
29.7.1. L’interface DirContext.
29.7.2. La classe InitialDirContext.
29.7.3. Les attributs.
29.7.4. L’utilisation d’objets Java
29.7.5. Le stockage d’objets Java
29.7.6. L’obtention d’un objet Java
29.7.7. La modification d’un objet
29.7.8. La suppression d’un objet
29.7.9. La recherche d’associations.
29.7.10. La recherche dans un annuaire LDAP
29.8. JNDI et J2EE.