第三周03

今天学习了 Servlet 监听器,它用于监听 Web 应用中的事件,如 ServletContext 的创建和销毁、HttpSession 的创建和销毁、ServletRequest 的创建和销毁等。通过监听器,可以在事件发生时执行相应的业务逻辑。​
以监听ServletContext的创建为例,创建一个实现ServletContextListener接口的类:​

import javax.servlet.ServletContext;​
import javax.servlet.ServletContextEvent;​
import javax.servlet.ServletContextListener;​
import java.io.FileInputStream;​
import java.io.IOException;​
import java.util.Properties;​

public class ContextLoaderListener implements ServletContextListener {​
@Override​
public void contextInitialized(ServletContextEvent sce) {​
ServletContext context = sce.getServletContext();​
String configFile = context.getInitParameter("configFile");​
try {​
Properties properties = new Properties();​
FileInputStream fis = new FileInputStream(configFile);​
properties.load(fis);​
fis.close();​
context.setAttribute("configProperties", properties);​
} catch (IOException e) {​
e.printStackTrace();​
}​
}​

@Override​
public void contextDestroyed(ServletContextEvent sce) {​
// 清理资源​
}​
}​

在web.xml文件中配置该监听器:​


ContextLoaderListener


configFile
/WEB-INF/config.properties


当 Web 应用启动时,contextInitialized方法会被调用,它会读取指定的配置文件并将其属性存储到ServletContext中,以便在整个 Web 应用中使用。监听器为 Web 应用提供了一种灵活的事件驱动编程方式,方便在不同生命周期阶段执行特定操作。

posted @ 2025-01-29 00:07  Echosssss  阅读(16)  评论(0)    收藏  举报