2017-07-06 1 views
1

j'ai des fichiers dans un paquet lib que je travaille actuellement. Il doit être utilisé par plusieurs projets, donc je ne peux pas mettre les fichiers directement sur mon serveur web.projet d'accès externe des ressources Web statiques depuis un serveur web Struts2.5

Je veux que mon serveur web Struts2.5 pour pouvoir servir des fichiers statiques de mon package Lib. Je cherchais en utilisant une solution web-fragment.xml, mais de what I gather from oracle, ce ne va fonctionner que si je compile mon paquet de la bibliothèque et le mettre dans mon META-INF répertoire quelque part. C'est bien et tout, mais vraiment gênant pour tout type de développement ou de test, car je devrai faire une nouvelle compilation et la copier là chaque fois que j'apporterai des changements au html/js. Cela me semble être la mauvaise solution.

S'il y a un moyen de le faire avec la configuration xml, il n'a pas été clairement de ce que je l'ai lu. Si je pouvais être indiqué dans la bonne direction, ce serait utile.

Sinon, s'il y a une façon de le faire dans Eclipse d'une certaine manière ce serait aussi acceptable. Pour l'anecdote, ce projet est référencé par l'autre projet dans eclipse en tant que projet requis dans mon Java Build Path.

Répondre

1

Mettre les fichiers statiques sous Contenu Web Root (/). Si vous voulez que Struts serve votre contenu statique, placez-le sous /static. Struts peut aussi servir du contenu statique du classpath, mais cela ne vous semble pas une option.

Lire ma réponse pour Load image in jsp from different URL but same domain:

Vous pouvez en savoir plus sur chargeur contenu statique et les paramètres de configuration dans la documentation pour Static Content.


Vous pouvez réutiliser les mêmes fichiers statiques à partir d'autres applications Web si vous Packager et déployer des fichiers statiques dans un autre fichier .war et spécifiez un chemin contextuel pour accéder à ces fichiers depuis votre application. Il pourrait être servi à partir du même domaine ou d'un domaine différent.

Vous pouvez déployer une application Web avec des fichiers statiques lors de l'éclatement d'une archive Web. Vous n'avez donc pas besoin de les empaqueter chaque fois que vous déployez l'application et vous n'avez pas besoin de redéployer d'autres applications. à moins qu'ils ne soient affectés par le chemin d'accès aux fichiers. Une autre approche consiste à partager le projet avec du contenu statique avec d'autres projets dans Eclipse, car Eclipse copie les fichiers du projet dans la version finale .war pendant la construction, et chaque application Web possède sa propre copie des fichiers partagés. Si vous souhaitez modifier certains fichiers partagés, vous devez reconstruire/redéployer uniquement le projet sur lequel vous travaillez. D'autres projets qui ont ce projet comme dépendance pourraient être reconstruits/redéployés à la demande. Cela semble la solution la plus fiable, car la modification d'une application Web n'affecte pas les autres applications Web en cours d'exécution.

+0

Merci beaucoup pour cela, la deuxième approche ressemble à la route que je veux prendre. Je verrai si je peux obtenir quelque chose à partir de ces recommandations. –