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>";
}
}
}
No comments:
Post a Comment