有關JSP緩衝問題.這個問題上網找了好多.其實解答都是差不多的,就是如何設定讓其緩衝清空或者是不使用緩衝.這裡不管是什麼緩衝.當然.都可以用下面的方法來解決.圖片也好.頁面也好.只是地方放對了.下面慢慢分析.
<%<br />response.setHeader("Pragma","No-cache");<br />response.setHeader("Cache-Control","no-cache");<br />response.setDateHeader("Expires", 0);<br />%>
第一:就來說說如何清空緩衝吧,其實方法大家都知道.無非就是
response.setHeader("Pragma", "No-cache");<br /> response.setHeader("Cache-Control", "no-cache");<br /> response.setDateHeader("Expires", 0);<br /> .....
之類的.這裡為什麼很多人都說不行呢?原因就是你放錯地方了,剛開始我也不知道為什麼會出現這樣的問題,到後來終於放對了地方之後,才知道原來是放錯了地方.很多人說放到JSP下面,其實這裡要分情況的,如果你是純頁面,肯定不會出現問題,但是要是有引用到其他的地方呢?比如像我這樣,圖是畫出來的,但是畫圖的地方又是用到了其他的變數.這個時候就出現了問題,在這個畫圖之前,清空緩衝吧.比如我這裡用的writeResponse(response, list, title);來畫圖,就在這個之前調用上面三個方法.問題解決,OK了.
第二:就是不用到緩衝,這個其實就是在你調用的時候,用隨機數來給它套個參數,這樣也不會產生相同頁面不斷出現,(相同的連續出現幾率可想而知,哈哈,中了就恭喜了.)
比如,調用圖片的時候.
<img src="../../uppic/a.jpg" mce_src="uppic/a.jpg"+"?temp="+<%=Math.random()%>/>
後面的這個參數就是加上去的,所以不會出現問題,
其實只要找准問題的地方,網上的解答基本可以解決問題,為什麼就是解決不了?因為你沒有找准你的地方所在,問題是找到了,解決問題的根源沒有找對.