1.写一个过滤器
public class RequestFilter implements Filter {
private final static Logger log=Logger.getLogger("RequestFilter");
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse res=(HttpServletResponse)response;
String method = req.getMethod();
res.setHeader("x-frame-options", "SAMEORIGIN"); //
//执行下一个过滤器
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
2.项目中web.xml配置过滤器
<filter>
<filter-name>RequestFilter</filter-name>
<filter-class>com.jz.fw_easyui.ss.filter.RequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>RequestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.x-frame-options默认有三个值
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM
表示该页面可以在指定来源的 frame 中展示,即可以显示出URL
换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。