我在jboss中指定的文件夹中保存了一些 .pdf 文件。
现在我想要的是在用户结束应用程序中的会话后删除这些文件。
答案 0 :(得分:2)
只需注册HttpSessionListener并在会话被销毁时以与保存会话相同的方式删除临时文件。
只需将创建的文件/文件夹的绝对路径保留在会话中的某个位置,并删除会话销毁时的完整文件夹/文件。
<web-app ...>
<listener>
<listener-class>com.x.y.z.MySessionListener</listener-class>
</listener>
</web-app>
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class MySessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent e) {
System.out.println("sessionCreated");
}
@Override
public void sessionDestroyed(HttpSessionEvent e) {
System.out.println("sessionDestroyed");
// delete the file in the same way you have saved it there
// String absolutePath = (String) e.getSession().getAttribute("pdfPath");
// File file = new File(absolutePath);
// if(file.exists()){ file.delete(); }
}
}