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">
<list>
<value>classpath:/testzilla.properties</value>
</list>
</property>
</bean>
<util:properties id="propertyConfigurer" location="classpath:/testzilla.properties"/>
<context:property-placeholder properties-ref="propertyConfigurer" />
Of course, you need to add XML Namespaces:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.1.xsd">
</beans>
Create Properties File
As I was declared in the Spring configuration, there is a file named testzilla.properties in the classpath.
You need to create the file and add the following lines to it:
[plain]cdn.url=//cdn.testzilla.org/[/plain]
Of course, you can add extra properties if needed:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/testzilla?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=
Use CDN Property in JSP
Now, we can get the URL of CDN in JSP as follows:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:eval expression="@propertyConfigurer.getProperty('cdn.url')" var="cdnUrl" />
<!DOCTYPE html>
<html lang="${language}">
<head>
<meta charset="UTF-8">
<title>Home | TestZilla</title>
<link rel="stylesheet" type="text/css" href="${cdnUrl}/css/semantic.min.css" />
</head>
</html>
Reference
- http://stackoverflow.com/questions/18915975/jsp-spring-mvc-and-cdn
- http://stackoverflow.com/questions/3933862/how-to-use-property-from-property-file-specified-in-propertyplaceholderconfigure
- http://stackoverflow.com/questions/15111260/how-to-show-values-from-property-file-in-jsp-in-a-spring-mvc-app
- http://www.mytechnotes.biz/2012/11/serving-static-resources-with-spring-mvc.html
The Disqus comment system is loading ...
If the message does not appear, please check your Disqus configuration.