ฉันจะป้องกัน Tomcat ไม่ให้แคชได้อย่างไร ฉันมีไฟล์ css และ html พื้นฐานที่ฉันโหลดและใช้ผ่าน ajax และหากฉันรีสตาร์ท Tomcat การเปลี่ยนแปลงจะไม่สะท้อน เครื่องที่แตกต่างกันเบราว์เซอร์ที่แตกต่างกันและฉันไม่ได้รับไฟล์ที่อัปเดต
คิด?
ฉันจะป้องกัน Tomcat ไม่ให้แคชได้อย่างไร ฉันมีไฟล์ css และ html พื้นฐานที่ฉันโหลดและใช้ผ่าน ajax และหากฉันรีสตาร์ท Tomcat การเปลี่ยนแปลงจะไม่สะท้อน เครื่องที่แตกต่างกันเบราว์เซอร์ที่แตกต่างกันและฉันไม่ได้รับไฟล์ที่อัปเดต
คิด?
คำตอบ:
คุณอาจต้องลบโฟลเดอร์แคชแอปพลิเคชันใน / work / Catalina / localhost หลังจากเปลี่ยนการตั้งค่าสถานะ cachingAllowed
การกำหนดค่าสามารถนำมาใช้ใน server.xml เป็น
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="false"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true"
reloadable="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>
chachingAllowed
แท็กที่ไหน
cachingAllowed
เป็นfalse
ไม่พบคุณสมบัติที่ตรงกัน
สำหรับคุณสมบัติ Tomcat 8 / Tomcat 9 ควรเพิ่มใน conf / context.xml ดังนี้
<Context>
<Resources antiResourceLocking="false" cachingAllowed="false" />
...
</Context>
คุณอาจต้องลบโฟลเดอร์แคชแอปพลิเคชันใน / work / Catalina / localhost หลังจากเปลี่ยนการcachingAllowed
ตั้งค่าสถานะ ล้างแคชของ IntelliJ IDEA ด้วย (หากคุณใช้เพื่อเรียกใช้ Tomcat):
Mac: / Users / {: user} / Library / Caches / IntelliJIdea {: version} / tomcat / Linux: /home/{:user}/.IntelliJIdea{:version}/system/tomcat/ Windows: C: \ Users \ {: user} \. IntelliJIdea {: version} \ system \ tomcat \
ดูการอ้างอิงการกำหนดค่า Apache Tomcat 9สำหรับพารามิเตอร์อื่น ๆ
ฉันมีปัญหานี้ใน Tomcat 7 และเหตุผลก็คือฉันได้ตั้งค่า antiResourceLocking เป็นจริง (ฟังดูเหมือนเป็นความคิดที่ดี ... )
ตามเอกสาร ( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ):
โปรดทราบว่าการตั้งค่านี้เป็นจริงมีผลข้างเคียงบางอย่างรวมถึงการปิดใช้งานการโหลด JSP ในเซิร์ฟเวอร์ที่ทำงานอยู่: ดู Bugzilla 37668
ในกรณีของฉันมันทำให้ไฟล์ข้อความแบบคงที่ธรรมดาจะถูกแคช
ดังนั้นโดยสรุปอย่างน้อยสำหรับการพัฒนาอย่างรวดเร็วฉันต้องใช้:
antiResourceLocking="false"
cachingAllowed="false"
คุณได้ตรวจสอบเอกสารนี้แล้ว: Apache Tomcat Configuration Reference ?
cacheMaxSize
- ขนาดสูงสุดของแคชทรัพยากรสแตติกในหน่วยกิโลไบต์ หากไม่ได้ระบุไว้ค่าเริ่มต้นคือ 10240 (10 เมกะไบต์)
cacheTTL
- ระยะเวลาเป็นมิลลิวินาทีระหว่างการตรวจสอบแคชรายการใหม่ หากไม่ได้ระบุไว้ค่าเริ่มต้นคือ 5000 (5 วินาที)
cachingAllowed
- หากค่าของการตั้งค่าสถานะนี้เป็นจริงแคชสำหรับทรัพยากรแบบคงที่จะถูกนำมาใช้ หากไม่ได้ระบุไว้ค่าดีฟอลต์ของแฟล็กจะเป็นจริง
พารามิเตอร์เหล่านี้เหมือนกันสำหรับ Tomcat 5.5 และ Tomcat 6.0