JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Servlet/JSP 討論區  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:分享-IE cache 住 JavaScript 的問題 [Re:darkside]
dreamily





發文: 1
積分: 0
於 2008-03-20 09:52 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
可以參考這篇文章
http://blog.donews.com/afos/archive/2004/09/07/91367.aspx

下面引用部分文件內容
5. 撰寫一個過濾器(filter)來更改 HTTP response header
撰寫一個過濾器(filter),並且在部署描述子(deployment descriptor,也就是 web.xml)中設定哪些 URL pattern 要經由這個過濾器處理。過濾器的程式碼如下:

package demoweb.filters; import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class ResponseHeaderFilter implements Filter { private FilterConfig filterConfig = null; public void destroy() { this.filterConfig = null; } public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; // 監視哪些 request 被送出,如果輸出到檔案,就跟 Web log 差不多了. System.out.println(request.getRequestURL()); // 根據 filter 初始化參數來設定 HTTP response parameters. for (Enumeration e = filterConfig.getInitParameterNames(); e.hasMoreElements()Wink { String headerName = (String)e.nextElement(); response.addHeader(headerName, filterConfig.getInitParameter(headerName)); } chain.doFilter(req, resp); } public void init(FilterConfig config) throws ServletException { this.filterConfig = config; } }
部署描述子的檔案內容要加入下列設定:

<filter> <filter-name>ResponseHeaderFilter</filter-name> <display-name>ResponseHeaderFilter</display-name> <filter-class>demoweb.filters.ResponseHeaderFilter</filter-class> <init-param> <param-name>Cache-Control</param-name> <param-value>private,no-cache,no-store</param-value> </init-param> </filter> <filter-mapping> <filter-name>ResponseHeaderFilter</filter-name> <url-pattern>/jsp/TestCache/*</url-pattern> </filter-mapping>
這個過濾器的運作過程是,當用戶端 request 的資源的 URL 符合部署描述子中的 URL pattern 時,該 request 就會送給過濾器處理,而這個過濾器會取出 web.xml 中的初始參數,並且將參數值加到 response header 裡面。

實驗結果
這個方法不但可以避免 JSP 檔案的快取,連同 JSP 連結的外部檔案也有效。事實上,只要是符合 web.xml 中指定的 URL 樣式的任何資源,都可以用這種方法避免被瀏覽器快取。

關於這個方法的詳細介紹,可以參考這篇文章:Another Java Servlet Filter Most Web Applications Should Have by Jason Falkner。


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
20235 [精華] 分享-IE cache 住 JavaScript 的問題 darkside 1663 2004-03-08 09:17
16303 Re:分享-IE cache 住 JavaScript 的問題 snpshu 34 2004-03-08 13:52
16270 Re:分享-IE cache 住 JavaScript 的問題 karry 184 2004-03-12 22:33
16421 Re:分享-IE cache 住 JavaScript 的問題 markc 57 2004-03-26 00:42
18069 Re:分享-IE cache 住 JavaScript 的問題 tsechun 389 2004-04-21 02:34
12634 Re:分享-IE cache 住 JavaScript 的問題 dreamily 1997 2008-03-20 09:52
» JWorld@TW »  Servlet/JSP 討論區

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8