ʹÓÃFilterÖ¸¶¨ä¯ÀÀÆ÷À´»º´æ»ò²»»º´æ·þÎñÆ÷Êý¾Ý
ÔÚwww.jdon.comÉÏ, ÅíÏÈÉú˵»º´æµÄÉè¼ÆÊÇÌá¸ßjavaϵͳ±íÏÖÄÜÁ¦µÄ¹Ø¼ü.»º´æµÄºÏÀíÓ¦ÓÃÔÚjiveÂÛ̳ÉϵıíÏÖÊÇ×îÓÐ˵·þÀûµÄµØ·½¡£ ÏÂÃæÎÒÃÇÀûÓ**TTP ¹æ·¶1.1ÖжÔÇëÇóÍ·ÀàÐÍCache-ControlµÄ¶¨ÒåÀ´ËµÃ÷ÈçºÎÀûÓÃÔÚFilter»úÖÆÊµÏÖHttpÇëÇóµÄ»º´æ»òÕß²»»º´æ¡£ ÕâÀïÎÒÃÇÁоٵÄÀý×ÓÊÇ»º´æÒ»¸öͼƬ£¬±ÈÈçÍøÕ¾µÄlogo¡£ÎÒÃÇ¿ÉÒÔÖ¸¶¨¿Í»§¶Ëä¯ÀÀÆ÷»º´æ¶ÔÕâ¸ölogo»º´æ£¬»ò²»»º´æ£¬ÒÔ¼°¶à³¤Ê±¼äµÄ»º´æ¡£ ÆäʵÔÚasp.netÖÐÒ²ÌṩÁËÀàËÆµÄ¹¦ÄÜ£¬¶øÇÒ¸üΪ¼òµ¥£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒԲο´asp.netµÄÏà¹ØÎÄÕ¡£ ÏÂÃæÎÒÃÇʹÓÃservletµÄfilter»úÖÆÀ´ÊµÏÖÉÏÃæµÄ¹¦ÄÜ¡£ Õâ¸öfilterµÄ´úÂëÈçÏ£º import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class ResponseHeaderFilter implements Filter { FilterConfig fc; public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; for (Enumeration e=fc.getInitParameterNames(); e.hasMoreElements();) { String headerName = (String)e.nextElement(); response.addHeader(headerName, fc.getInitParameter(headerName)); } chain.doFilter(req, response); } public void init(FilterConfig filterConfig) { this.fc = filterConfig; } public void destroy() { this.fc = null; } } ÔÚWEB-INF/web.xml ÖÐÌí¼ÓÈçÏÂÅäÖà <filter> <filter-name>ResponseHeaderFilter</filter-name> <filter-class>com.jspbook.ResponseHeaderFilter</filter-class> <init-param> <param-name>Cache-Control</param-name> <param-value>max-age=3600</param-value> </init-param> </filter> <filter-mapping> <filter-name>ResponseHeaderFilter</filter-name> <url-pattern>/logo.png</url-pattern> </filter-mapping>
×¢ÒâÉÏÃæµÄºÚÌ岿·Ö¡£ ÎÒÃǰÑÉÏÃæµÄ´úÂë·ÅÔÚTomcat(5.0.16)ÖнøÐвâÊÔ¡£ ×¢Ò⣺ΪÁ˼ǼTomcatÏàÓ¦µÄä¯ÀÀÆ÷ÇëÇóµÄÈÕÖ¾£¬ÐèÒª°Ñ£º /conf/server.xml ÎļþÖÐµÄ <Valve className="org.apache.catalina.valves.RequestDumperValve"/> ×¢ÊÍÈ¥µô£¬·ÃÎʵÄÈÕÖ¾±»¼Ç¼ÔÚcatalina_log.[µ±ÌìÈÕÆÚ].txtÖС£ ΪÁ˲âÊÔÎÒÃǵĴúÂ룬½¨Á¢Ò»¸ö¼òµ¥µÄhtmlÎļþ£º <html> <head> <title>A Simple Page</title> </head> <body> <p>Some text, with a logo</p> <img src="logo.png"> </body> </html> ²¢°Ñlogo.png·Åµ½ÏàÓ¦µÄĿ¼ÏÂÃæ£º 2004-01-15 18:48:20 RequestDumperValve[Catalina]: REQUEST URI =/test.html ...£¨µÚÒ»´Î·ÃÎʵÄÇé¾°£© =============================================================== 2004-01-15 18:48:21 RequestDumperValve[Catalina]: REQUEST URI =/logo.png ... 2004-01-15 18:48:21 RequestDumperValve[Catalina]: header=Cache-Control=max-age=3600 ---------- ...£¨·ÇµÚÒ»´Î·ÃÎʵÄÇé¾°£© =============================================================== 2004-01-15 18:48:20 RequestDumperValve[Catalina]: REQUEST URI =/test.html ---------- ¿É¼û£¬logo.pngÔÚ»º´æÆÚ¼ä²¢Ã»Óб»·þÎñÆ÷Êä³ö¡£ ¸ù¾ÝHttp1.1µÄ¹æ·¶£¬ÓÐÁ½ÖÖ·½Ê½À´ÈÃä¯ÀÀÆ÷»º´æÊý¾Ý£º 1¡¢if-modified-since HTTP request header 2¡¢cache-control µ±È»Èç¹û²»»º´æÊý¾Ý¿ÉÒÔÓÃÈçϵÄÅäÖ㺠<filter> <filter-name>ResponseHeaderFilter</filter-name> <filter-class>com.jspbook.ResponseHeaderFilter</filter-class> <init-param> <param-name>Cache-Control</param-name> <param-value>private,no-cache,no-store</param-value> </init-param> </filter>
»¶Ó½»Á÷ Ìï´º·å
accesine@163.com
×÷ÕßרÀ¸
http://www.csdn.net/develop/author/netauthor/accesine960/

|