一、防盗链图片的filter

public class ImageRedirectFilter implements Filter {

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

 HttpServletRequest request = (HttpServletRequest) req;
 HttpServletResponse response = (HttpServletResponse) res;

 // 禁止缓存
 response.setHeader("Cache-Control", "no-store");
 response.setHeader("Pragrma", "no-cache");
 response.setDateHeader("Expires", 0);

 // 链接来源地址
 String referer = request.getHeader("referer");
 System.out.println("refer is"+referer);

 if (referer == null || !referer.contains(request.getServerName())) {
  // 如果链接地址来自其他网站,则返回错误图片
  request.getRequestDispatcher("/error.gif").forward(request, response);
 }
 else {
  //图片正常显示
  chain.doFilter(request, response);
 }
}
}


二、web.xml

<filter>
<filter-name>p_w_picpathRedirectFilter</filter-name>
<filter-class>com.filter.ImageRedirectFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>p_w_picpathRedirectFilter</filter-name>
<url-pattern>/upload/p_w_picpaths/*</url-pattern>
</filter-mapping>


原帖地址:http://blog.csdn.net/itm_hadf/article/details/7390180