我正在开发一个Java站点(jQuery,Wicket,Maven,Spring,Hibernate),我们刚刚开始使用CDN在我们的生产服务器上提供静态文件。我们为CDN域使用占位符,并将其添加到引用静态文件的每个静态文件中。占位符由Maven通过Maven的属性过滤器替换。
因此,对于CDN提供的每个静态文件,我们都有类似的内容:
<img src="${placeholder}/images/dogs/rex.jpg"/>
对于生产,$ {placeholder}替换为“http://cdn.com”,对于开发环境,它将替换为空白。
......有更好的方法吗?全局向静态文件本身添加特定于Maven的占位符似乎很不寻常。还需要为每个新图像添加它。此外,对静态文件的更改必须在浏览器中显示这些更改之前通过Maven构建,这会降低某些环境中的开发速度。这可能是可以避免的,但首先似乎没有必要。
答案 0 :(得分:0)
当我们以前做过这种事情时,我们会让cdn url成为应用程序范围的spring bean公开的属性,然后你可以在applicationContext.xml中注入这个属性,然后你将它替换为maven过滤器。然后我们在jsps中引用具有该属性的EL表达式。