本文将详细解释如何在Tomcat中清理缓存。边肖觉得很实用,就分享给大家参考。希望你看完这篇文章能有所收获。
一、关于Tomcat“缓存”的介绍
很多时候,人们喜欢调用tomcat工作目录缓存中的东西。其实不太合适。工作目录只是tomcat的工作目录,也就是tomcat将jsp转换为类文件的工作目录,这就是为什么称之为工作目录而不是缓存目录的原因。jsp和tomcat的工作原理是,当浏览器访问一个jsp页面时,tomcat会将jsp页面转换成工作目录中的. java文件,比如将index.jsp转换成index_jsp.java文件,然后编译成index_jsp.class文件。最后,tomcat容器通过ClassLoader类将这个index_jsp.class类加载到内存中,以响应客户端的工作。
Tomcat将定期跟踪容器中的jsp文件,并读取每个文件的属性。当发现一个jsp文件发生了变化(文件的最后一次修改时间与最后一次跟踪时间不同)时,tomcat会重新转换并编译该jsp文件。但是tomcat的绘制是定时的,不是实时的,这就是为什么修改后的jsp文件需要几分钟才能生效。当然,为了立即生效,许多老前辈会建议在修改jsp页面后立即清除工作目录中的文件。
另外,在tomcat容器中,转换后的java文件(例如index_jsp.java)的编译最多只能支持64k,所以当其他容器中的jsp移植到tomcat容器中时,大的jsp文件是无法编译的。所以建议将jsp中的业务逻辑编写到单独的类中,调用这个类的静态方法在jsp中执行,从jsP页面中提取js放入单独的JS文件中。
二、Tomcat“缓存”的清理
,因为很多次我们修改jsp的内容后,我们希望它会立即生效,所以自然我们不希望等待几分钟tomcat自动刷新(根据我过去的经验,它在大多数情况下会立即生效)。然后我们来介绍三种清洗方法:
方法1:
conf/server.xml文件
可重新加载路径='true '
示例:context path=' docbase=' reload able=' true '
方法2:
删除工作目录中的缓存文件
可以删除卡特琳娜目录;
注意:不能删除整个工作目录,否则tomcat重启时会删除conf/web.xml,这样启动时日志会提示:NoDefaultweb.xml,访问页面会显示404错误;
方法3:
将下面的代码添加到jsp页面的顶部,这样就可以实时加载jsp,并且jsp页面将被转换成。每次访问java文件时,它都会再次出现。
metahttp-equiv='Expires '内容='0 '
meta http-equiv=' kiben ' content=' no-cache '
这篇关于“如何清理Tomcat中的缓存”的文章就分享到这里。希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143275.html