1.servlet什么时候会被垃圾回收?
The servlet container calls the destroy method before removing a servlet instance from service. This normally happens when the servlet container is shut down or the servlet container needs some free memory. This method is called only after all threads within the servlet's service method have exited or after a timeout period has passed. After the servlet container has called the destroy method, it will not call the service method again on the same servlet。
2.我们经常说web.xml和struts.xml等配置文件都是通过容器启动的时候加载到内存,读取xml内存到内存静态list变量或者返回一个对象。对象中包含了路径信息
//web.xml 配置文件
com.InitListener
//加载数据的Action类
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class InitListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent sce) {
}
public void contextInitialized(ServletContextEvent sce) {
//初始化地区信息
Test.initTest();//要加载数据的方法
}
}
//类的方法
public class Test extends CreateSpringContext{
public static void initTest(){
//加入你的获取数据的操作方法!
}
}
//加载spring的配置文件至内存
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CreateSpringContext {
private static ApplicationContext context;
static{
if(context ==null){
context = new ClassPathXmlApplicationContext("applicationContext*.xml");
}
}
public static ApplicationContext getContext(){
return context;
}
}