实现WebService的跨域访问:
在web.xml中配置过滤器:
<filter>
<filter-name>ResponseFilter</filter-name>
<filter-class>com.xxx.filter.ResponseFilter</filter-class><!-- 过滤器 -->
</filter>
<filter-mapping>
<filter-name>ResponseFilter</filter-name>
<url-pattern>/services/xxxService</url-pattern><!-- 需要允许跨域访问的路径 -->
</filter-mapping>
过滤器类中doFilter的代码:
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest resp = (HttpServletRequest)response;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
response.setHeader("Access-Control-Max-Age", "0");
response.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, soapaction, content-type");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("XDomainRequestAllowed", "1");
chain.doFilter(request, response);
}
未完待续...