出现这种现象的原因主要是tomcat缓存的原因。
解决办法如下:
在jsp文件头加上
其中,第一行的content="0",是表示过期的时间,如果不是0的话,就必须使用GMT的时间格式。第二行表示不用缓存机制。
删除work目录下的缓存文件。
conf/serverxml 文件Context path 中间加上 reloadable="true"
例如:<Context path="" docBase="E:\MYJSP\" debug="0" reloadable="true" />
在tomcat的startupbat里首部加上批处理命令
rd/s/q "D:\Program Files\tomcat-60\work\Catalina
tomcat路径根据自己情况修改
这样基本可以解决缓存遗留问题。
==========================================
方法1、再当前浏览器,工具里清空一下上网记录(如果你的cookie没那么重要的话,全部选中,清空)。重新打开一个IE浏览器,再打上网址,回车。
如果还不行
方法2、重启tomcat,但是太费时间,有时还不管用。。
方法3、Apache Software Foundation\Tomcat 55\work\Catalina\localhost
有一些发布程序的时候编译的jsp的Java类,可都清空该文件夹,也可以只删除跟当前项目相关的类。
方法3,最直接。。。彻底
不过我常用方法1。方法3,要翻那么多文件夹,我会在方法1实在还是不可以的话。才用方法3
=========================================
方法一:
conf/serverxml文件
Context path中间加上reloadable="true"
例如:
方法二:
删除work目录下的缓存文件
可以把Catalina目录删除; 注意:不能把work整个目录删除,不然重启tomcat时,会把conf/webxml删除掉,这样在启动时,日志会提示:No Default webxml,且访问页面会显示404错误;由于缓存文件是特殊的文件,以及WebBrowser与IE版本有关
因此删除缓存绝对不可能用一些IO函数就总可以解决的
因此我的这些函数在IO *** 作的基础上,又针对环境进行相应的清理。
static class WebCleaner
{
/
7 个静态函数
私有函数
private bool FileDelete() : 删除文件
private void FolderClear() : 清除文件夹内的所有文件
private void RunCmd() : 运行内部命令
公有函数
public void CleanCookie() : 删除Cookie
public void CleanHistory() : 删除历史记录
public void CleanTempFiles() : 删除临时文件
public void CleanAll() : 删除所有
/
//private
///
/// 删除一个文件,SystemIOFileDelete()函数不可以删除只读文件,这个函数可以强行把只读文件删除。
///
/// 文件路径
/// 是否被删除
static bool FileDelete(string path)
{
//first set the File\'s ReadOnly to 0
//if EXP, restore its Attributes
SystemIOFileInfo file = new SystemIOFileInfo(path);
SystemIOFileAttributes att = 0;
bool attModified = false;
try
{
//### ATT_GETnSET
att = fileAttributes;
fileAttributes &= (~SystemIOFileAttributesReadOnly);
attModified = true;
fileDelete();
}
catch (Exception e)
{
if (attModified)
fileAttributes = att;
return false;
}
return true;
}
//public
///
/// 清除文件夹
///
/// 文件夹路径
static void FolderClear(string path)
{
SystemIODirectoryInfo diPath = new SystemIODirectoryInfo(path);
foreach (SystemIOFileInfo fiCurrFile in diPathGetFiles())
{
FileDelete(fiCurrFileFullName);
}
foreach (SystemIODirectoryInfo diSubFolder in diPathGetDirectories())
{
FolderClear(diSubFolderFullName); // Call recursively for all subfolders
}
}
static void RunCmd(string cmd)
{
SystemDiagnosticsProcessStart(\"cmdexe\", \"/c \" + cmd);
}
///
/// 删除历史记录
///
public static void CleanHistory()
{
string[] theFiles = SystemIODirectoryGetFiles(EnvironmentGetFolderPath(EnvironmentSpecialFolderHistory), \"\", SystemIOSearchOptionAllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd(\"RunDll32exe InetCplcpl,ClearMyTracksByProcess 1\");
}
///
/// 删除临时文件
///
public static void CleanTempFiles()
{
FolderClear(EnvironmentGetFolderPath(EnvironmentSpecialFolderInternetCache));
RunCmd(\"RunDll32exe InetCplcpl,ClearMyTracksByProcess 8\");
}
///
/// 删除Cookie
///
public static void CleanCookie()
{
string[] theFiles = SystemIODirectoryGetFiles(EnvironmentGetFolderPath(EnvironmentSpecialFolderCookies), \"\", SystemIOSearchOptionAllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd(\"RunDll32exe InetCplcpl,ClearMyTracksByProcess 2\");
}
///
/// 删除全部
///
public static void CleanAll()
{
CleanHistory();
CleanCookie();
CleanTempFiles();
}
}
这样应该可以删。1webcache的简单介绍
web缓存,是一种 缓存技术 ,用于临时存储(缓存)的网页文件,如HTML页面和图像等静态资源,减少带宽以及后端服务器的压力,通常一个WebCache也是一个 反向代理软件 ,既可以通过缓存响应用户的请求,当本地没有缓存时,可以代理用户请求至后端主机。
WebCache分为正向和反向之分,一般正向WebCache不常用,这次主要以反向WebCache为主。
2webcache的由来
1)由于程序具有局部性,而局部性分为: 时间局部性和空间局部性
A时间局部性是指:在单位时间内,大部分用户访问的数据只是热点数据(热点数据指经常被访问的数据)
B空间局部性是指:某新闻网站突然出来一个重大新闻,此新闻会被被反复访问。
3webcache的变化性
WebCache的新鲜度监测机制 :数据都是可变的,所以缓存中的内容要做新鲜度检测
4缓存相关的>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)