1、在客户端关闭页面时,通过onunload事件,向服务器发送一个get请求,然后服务器就去删除;
2、服务器启动一个检测线程,隔段时间检查一下,session状态,将无效的session找出,删除相关文件;
3、服务器端每天指定时间去删除,因为一般很少有人连续请求服务器超过一天时间
根据你的需要,用不同的方式,个人认为第一种实现和理解起来简单。
<body onunload="alert('客户端准备关闭了')">
</body>
在onunload事件中写form名submit(),这个form名代表提交请求的表单,它的action指向删除文件的servlet1:选择文件菜单——点击帐户设置下拉列表——选择帐户设置
2:选择邮箱帐户,单击更改。
3:单击其他设置
4:选择高级
取消勾选在服务器上保留邮件的副本,确定。import javaioFile;
import orgapachelog4jLogger;public class ClearTempImg { private static final Logger logger = LoggergetLogger(ClearTempImgclass);
private final static String FS = SystemgetProperty("fileseparator");
private static String TOMCAT_HOME = SystemgetProperty("catalinahome");
private static String PATH = "temp";
private static final String TEMP_PATH = TOMCAT_HOME + FS + PATH + FS;
private static boolean isRunning = false;
/
说明:由于用户查询报表后非正常退出,JfreeChart产生的将存留在tomcat/temp/文件夹下
删除tomcat/temp/文件夹下面的无效的文件
/
public void run() {
if (!isRunning) {
loggerdebug("删除/Tomcat/Temp/目录下过期执行开始");
isRunning = true;
loggerdebug("开始执行删除tomcat下temp文件夹png文件任务");
loggerdebug("要删除文件所在路径为" + TEMP_PATH);
File fileTemp = new File(TEMP_PATH);
// 判断文件是否存在
boolean falg = false;
falg = fileTempexists();
if (falg) {
loggerdebug("temp文件存在");
if (true == fileTempisDirectory()) {
loggerdebug("temp文件是个目录");
String[] png = fileTemplist();
for (int i = 0; i < pnglength; i++) {
if (true == png[i]endsWith("png")) {
File file = new File(TEMP_PATH + FS + png[i]);
if (true==fileisFile()) {
boolean flag = false;
flag = filedelete();
if (flag) {
loggerdebug("成功删除无效文件:" + filegetName());
}
}
}
}
} } else {
loggerdebug("未找到tomcat/temp文件夹,执行失败,请手动删除temp下所有png文件");
}
isRunning = false;
loggerdebug("删除/Tomcat/Temp/目录下过期执行结束"); } }
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)