Use CDN Service in Spring MVC

A few days ago, I created TestZilla on Aliyun Elastic Compute Service.

However, with the increment of PV, I decided to use CDN to cache static files(images, CSS, and javascript).

But there's no information on how to use CDN with Spring MVC, so I asked a question on StackOverflow.

Setup Spring Configuration

First of all, you need to use PropertyPlaceholderConfigurer in Spring Configuration(such as dispatcher-servlet.xml)

<!-- Property File Location -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
<util:properties id="propertyConfigurer" location="classpath:/"/>
<context:property-placeholder properties-ref="propertyConfigurer" />

Of course, you need to add XML Namespaces:

<beans xmlns=""

Create Properties File

As I was declared in the Spring configuration, there is a file named in the classpath.
You need to create the file and add the following lines to it:

Of course, you can add extra properties if needed:


Use CDN Property in JSP

Now, we can get the URL of CDN in JSP as follows:

<%@ taglib prefix="spring" uri="" %>
<spring:eval expression="@propertyConfigurer.getProperty('cdn.url')" var="cdnUrl" />
<!DOCTYPE html>
<html lang="${language}">
    <meta charset="UTF-8">
    <title>Home | TestZilla</title>
    <link rel="stylesheet" type="text/css" href="${cdnUrl}/css/semantic.min.css" />


Contact Us
  • Nanyang Technological University, Singapore
  • root [at] haozhexie [dot] com