第三周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文件中配置该监听器:
当 Web 应用启动时,contextInitialized方法会被调用,它会读取指定的配置文件并将其属性存储到ServletContext中,以便在整个 Web 应用中使用。监听器为 Web 应用提供了一种灵活的事件驱动编程方式,方便在不同生命周期阶段执行特定操作。
浙公网安备 33010602011771号