Para melhor o desempenho de aplicações é interessante colocarmos um servidor de conteúdo estático, como o Apache, para trabalhar com os conteúdos que não precisam ser dinâmicos, como imagens, folhas de estilos, javascripts e afins.
No Java normalmente esse conteúdo, quando empacotado fica dentro de arquivo WAR interno a um arquivo EAR. Para extrair esse conteúdo estático e disponibilizá-lo no apache, criei um pequeno script que automatiza essa tarefa:
unzip <NOMEDOPACOTE>.ear -d tmp/ > /dev/null && unzip tmp/*.war `unzip -l tmp/*.war | grep '.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$' | awk '{print $4}'` -d static && rm -rf tmp
Se você utiliza somente o WAR sem o EAR, basta utilizar o seguinte script:
unzip <NOMEDOPACOTE>.war `unzip -l tmp/*.war | grep '.js$\|.jpg$\|.jpeg$\|.png$\|.gif$\|.htm$\|.html$\|.css$' | awk '{print $4}'` -d static
Esse script irá criar uma pasta static com todo o conteúdo a ser mapeado no Apache. Com isso, o seu servidor de aplicações ficará mais leve, com menos requisições e o trabalho de disponibilizar os conteúdos estáticos fica a cargo do Apache, que realiza essa atividade com muita eficiência.