Création d'une classe param en JAVA????

[Résolu/Fermé]
Signaler
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
-
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
-
Bonjour,

je suis un grand débutant en JAVA (et en programmation) et je dispose d'une application java web qui a été créée. Cette application dispose donc de fichiers jsp (contenant du HTML pour les pages sous forme de formulaires) et des classes java permettant d'intéragir et de traiter les infos entrées dans ces formulaires, informations stockées dans une BDD.

Je dois créer un fichier de configuration (ou une classe...) permettant de reprendre toutes les chaines de caractères pointant sur des répertoires en dur et de les intégrer à ce fichier (classe) pour permettre le déploiement de l'application sur windows, linux....sans problème. J'ai compris le principe mais je ne sais malheureusement pas par où commencer et "comment faire au sens programmation" n'ayant pas d'expérience dans ce domaine et en JAVA.

Pourriez vous m'orienter svp??
Merci

3 réponses

Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
333
Salut little_titi,
En général pour ce genre de problèmatique on utilise des fichiers properties en java (c'est notamment utilisé par les frameworks quand tu veux faire de l'internationalisation...).
Le principe : t'as un fichier texte dans lequel tu mets des associations clé/valeur, que tu vas chargé dans une instance de Properties. Ensuite, tu vas pouvoir récupérer les chaines que tu veux en utilisant la méthode getProperty.

Par contre, tu dis que tu dois pointer vers des chemins de ton file system. Tu es sûr que ton application est portable? Si tu as des fichiers importants, il vaut peut-être mieux les ajouter dans ton projet et utiliser des chemins absolus.

Cordialement,
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
333
Salut little_titi,
En général pour ce genre de problématique on utilise des fichiers properties en java (c'est notamment utilisé par les frameworks quand tu veux faire de l'internationalisation...).
Le principe : t'as un fichier texte dans lequel tu mets des associations clé/valeur, que tu vas chargé dans une instance de Properties. Ensuite, tu vas pouvoir récupérer les chaines que tu veux en utilisant la méthode getProperty.

Par contre, tu dis que tu dois pointer vers des chemins de ton file system. Tu es sûr que ton application est portable? Si tu as des fichiers importants, il vaut peut-être mieux les ajouter dans ton projet et utiliser des chemins absolus.

Cordialement,
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
4
Salut Marco ! merci pour ta réponse ! Alors voila : j'ai crée une classe qui s'appelle Param et un fichier de config.properties. Cette classe regroupe les différents attributs qui sont entre autres mes chemins d'accès relatifs et sera en relation avec mon fichier de config. Par exemple quand j'ai besoin d'une connexion à la base de données, j'appelle en fait une méthode get de cette classe pour récupérer par exemple l'url de connexion à ma base donnée qui sera stockée dans le fichier de config.

Le souci c'est pour mes chemins relatifs/absolu car ils sont nombreux et répartis dans des fichiers jsp pour la plupart et j'ai peur d'en oublier...Y a t-il quelque chose qui me permettrait de pourvoir changer les chemins"en une fois" dans les différents fichiers où ils sont utilisés et de les renommer avec mon attribut choisi pour définir ce type de chemin?

Pour répondre à ta question,si les chemins sont stockés dans un fichier de config, il est plus facile de migrer l'appli vers d'autres platform d'OS puisque les changements à effectuer seront moindres...
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
333
Hello little_titi,
Pour ta classe Param, perso je créerais un singleton immuable, ça conviendrait à mon avis parfaitement à la situation.

En ce qui concerne ta crainte d'oublier une jsp, je pense qu'il n'y a pas vraiment de solution.
La meilleure des méthodes reste la plus classique : elle consiste à faire une recherche sur toute ton arborescence de la chaîne en question, puis de traiter tous les fichiers un par un. En principe tu ne devrais pas en oublier.

La seconde méthode, c'est d'écrire une petite application qui prend 3 arguments :
- un répertoire
- une chaîne
- une seconde chaîne
et qui lis récursivement tous les fichiers de ton répertoire pour remplacer chaîne en ta seconde chaîne. Par contre si tu fais ça, teste bien ton programme avant (ce serait dommage de pourrir toutes tes sources à cause d'un simple bug).

Perso je préfère la première, mais bon, la deuxième peut être un bon investissement pour les futurs développements.

Cordialement,
Messages postés
242
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
23 novembre 2009
4
salut Marco !

Merci pour ta réponse! justement j'ai crée un singleton dans ma classe car je pense aussi que c'est le mieux!je pense que j'ai vais choisir la première solution aussi pour rechercher mes chemins...et en avant les changements!! :)

Bon je te remercie bien, je pense que ça va allez cette fois !merci de ton aide et à une prochaine !
little_titi.