package org.dio.util;
import java.io.IOException;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class SpringHelperFilter implements Filter {
private static Logger log = Logger.getLogger(SpringHelperFilter.class);
private WebApplicationContext webApplicationContext;
public void destroy() {}
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
// init singleton beans
String[] sa = webApplicationContext.getBeanDefinitionNames();
for (String s : sa) {
if (!webApplicationContext.isSingleton(s)) {
log.trace("get bean " + s);
webApplicationContext.getBean(s);
}
}
chain.doFilter(req, resp);
}
public void init(FilterConfig conf) throws ServletException {
webApplicationContext =
WebApplicationContextUtils.getWebApplicationContext(conf.getServletContext());
}
}
and configure it in web.xml
<filter>
<filter-name>SpringHelperFilter</filter-name>
<filter-class>org.dio.util.SpringHelperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SpringHelperFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
Now we can use beans from application context in our .jsp files
Комментариев нет:
Отправить комментарий