我有一个java服务器,当我在JSP
代码中更改某些内容,并且我再次从浏览器调用该页面时,我的更改未显示,服务器返回旧的JSP
。< / p>
任何人都知道为什么?
答案 0 :(得分:11)
The Jasper How-to告诉conf/web.xml
,您需要org.apache.jasper.servlet.JspServlet
:
development
- Jasper是否用于开发模式?如果为true,则可以通过modificationTestInterval parameter.true或false指定检查JSP以进行修改的频率,默认为true。checkInterval
- 如果开发为false且checkInterval大于零,则启用后台编译。 checkInterval是检查JSP页面(及其相关文件)是否需要重新编译之间的时间(以秒为单位)。默认为0秒。 The <Context>
element具有以下属性:
reloadable
- 如果除了jsp文件之外还希望热部署类和库,则设置为true antiResourceLocking
- 应该是假的以上所有内容都与服务器有关。客户端缓存是您可能看不到更新版本页面的另一个原因。只需点击CTRL + R / CTRL + F5即可。
决定你的缓存策略是不同的,还有一个不同的主题 - 你会告诉浏览器缓存什么资源,以及持续多长时间。您最好将缓存标题 - Expires
和Cache-Control
(以及Pragma
)放在应用程序的公共位置,以便快速更改。
答案 1 :(得分:4)
您也可以停止应用程序(使用Tomcat WebApp Manager),并删除tomcat目录中应用程序的“work”文件夹。这将强制tomcat使用新的JSP重建缓存文件。
包含缓存文件的文件夹的路径如下所示: 的的/ usr / Apache的Tomcat的XXX /工作/卡塔利娜/本地主机/ 强>
只需使用您应用的名称删除该文件夹,然后重新启动该应用。
答案 2 :(得分:-1)
您可以尝试做两件事:
在web.xml中设置<context-param>
标记
<context-param>
<param-name>weblogic.jsp.pageCheckSeconds</param-name>
<param-value>0</param-value>
</context-param>
在你顶部的Jsp页面中:
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0);
%>