想实现一个功能,tomcat初始化时,自动把网站信息保存监听器的session里,供其他页面调取。或者各位大师有没有更好的方法?
copy的项目里的,稍微改了下不相关的,以下,仅供参考吧
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class InitListener implements ServletContextListener, HttpSessionListener {
private static ApplicationContext ctx = null;
private static HttpSession session = null;
public InitListener() {}
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
session = httpSessionEvent.getSession();
session.setAttribute("", ""); // init something...
}
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {}
public static HttpSession getSession() {
return session;
}
public void contextInitialized(ServletContextEvent evt) {
ctx = WebApplicationContextUtils.getWebApplicationContext(evt.getServletContext());
}
public void contextDestroyed(ServletContextEvent paramServletContextEvent) {}
public static ApplicationContext getCtx() {
return ctx;
}
}
记得在web.xml里边添加一个监听:
<listener>
<description>系统初始化监听器</description>
<listener-class>com.xxx.xxxx.InitListener</listener-class>
</listener>