Create a java class such named 'AppUtils.java' with following contents:
package com.pkm.maven.common; import javax.servlet.ServletContext; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class AppUtils implements ApplicationContextAware { private static ApplicationContext ctx; private static ServletContext __servletContext; @Override public void setApplicationContext(ApplicationContext ctx) { AppUtils.ctx = ctx; } public static ApplicationContext getApplicationContext() { return ctx; } public static ServletContext getServletContext() { if (__servletContext == null) { __servletContext = (ServletContext) ctx.getBean("servletContext"); } return __servletContext; } }
Now make a entry to 'applicationContext.xml'
<bean id="contextApplicationContextProvider" class="com.pkm.maven.common.AppUtils"></bean>
Finally access application context/servlet context from everywhere like this:
package com.pkm.maven.app; import com.pkm.maven.common.AppUtils; import javax.servlet.ServletContext; import org.springframework.context.ApplicationContext; public class AppHandler { public static String getContextPath() { try { ApplicationContext applicationContext = AppUtils.getApplicationContext(); ServletContext servletContext = AppUtils.getServletContext(); return servletContext.getContextPath(); } catch (Exception ex) { return "<b>ERROR</b>"; } } }