Hallo,
I have a java server, when I change somethin within the JSP code, and I call the page again from the browser, my changes are not shown, the server returns the old JSP.
Do you have any idea why?
Hallo,
I have a java server, when I change somethin within the JSP code, and I call the page again from the browser, my changes are not shown, the server returns the old JSP.
Do you have any idea why?
You can try doing 2 things:
Set <context-param>
tag in web.xml
<context-param>
<param-name>weblogic.jsp.pageCheckSeconds</param-name>
<param-value>0</param-value>
</context-param>
In you Jsp page at the top:
<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0);
%>
The Jasper How-to tells that in conf/web.xml
, for your org.apache.jasper.servlet.JspServlet
you need:
development
- Is Jasper used in development mode? If true, the frequency at which JSPs are checked for modification may be specified via the modificationTestInterval parameter.true or false, default true.checkInterval
- If development is false and checkInterval is greater than zero, background compiles are enabled. checkInterval is the time in seconds between checks to see if a JSP page (and its dependent files) needs to be recompiled. Default 0 seconds.The <Context>
element has the following properties:
reloadable
- set to true if you want hot-deployment of classes and libs in addition to jsp filesantiResourceLocking
- should be falseAll the above was about the server. Client-side caching is another reason why you may not see newer version of pages. Simply hitting CTRL+R / CTRL + F5 often suffices.
Deciding your cache strategy is something different, and a different topic - what resources would you tell the browser to cache, and for how long. Preferably you should put the cache headers - Expires
and Cache-Control
(and Pragma
) in a common location in your application, where you can change it quickly.