2010-12-11 2 views
1

Je souhaite créer un fichier d'initialisation dans mon projet web spring-mvc. Quelle est la meilleure façon de le faire afin que je puisse obtenir cette valeur dans mes fichiers java et aussi dans mes fichiers jsp? Merci pour tout conseil!Quelle est la meilleure façon de créer et d'utiliser un fichier initializaion avec des paramètres tout en faisant un projet web springmvc?

MISE À JOUR

si je baguette pour charger thoses paramètres de fichier permet de dire un Init.ini et les rendre disponibles tout le temps alors que l'application est en cours?

Répondre

0

Si vous souhaitez que ces paramètres soient disponibles pour tous les fichiers et contrôleurs jsp, vous pouvez créer un intercepteur.

public class ParametersInterceptor extends HandlerInterceptorAdapter { 


    Object parameters = null; 
    public void loadParameters(){ 
     parameters = //Read from database or properties file. 
    } 

    public boolean preHandle(HttpServletRequest request, 
      HttpServletResponse response, Object handler) throws Exception { 

      request.setAttribute("parameters", parameters); 
      return true; 
    } 

} 

Puis définissez votre intercepteur comme un haricot.

<bean name="parametersInterceptor" 
    class="com.zzz.zzz.ParametersInterceptor" 
    init-method="loadParameters" > 
</bean> 

Ensuite, dans votre grain de urlMappping vous pouvez ajouter à dire au printemps que vous voulez une liste des intercepteurs à exécuter pour les applications définies.

<property name="interceptors"> 
    <list> 
    <ref bean="parametersInterceptor" /> 
    </list> 
</property> 

Here est un exemple en utilisant des intercepteurs

+0

merci pour votre réponse, mais de cette façon, dans chaque demande, je vais devoir faire la même action, je peux perdre des performances. Et si je devais charger ces paramètres à partir d'un fichier init.ini et les rendre disponibles tout le temps pendant que l'application est en cours d'exécution? –

+0

@stunaz Vous avez raison. J'ai mis à jour ma réponse. Notez la init-method = "loadParameters" et la nouvelle méthode loadParameters. – Enrique

0

La plupart des webapps de printemps, je travaille sur avoir un fichier de propriétés dans src/main/ressources que nous accédons à la fois du code Java, ainsi que les fichiers JSP.

Nous utilisons un taglib personnalisé pour charger la propriété d'intérêt comme celui-ci:

<foo:propertyLoader bundle="bar" property="googleKey"/> 

mais il y a plusieurs façons de lire un fichier de propriétés dans JSP. Voir cette question stackoverflow:

JSP/servlet read parameters from properties file?

Nous avons tendance à stocker des choses comme des clés GoogleAPI, clé Google Analytics, URIs à d'autres applications Web, etc là-dedans.

Questions connexes