使用CORS实现JavaWeb跨域请求问题的方法
之前用jsonp解决跨域问题,现在用CORS实现跨域请求解决java跨域问题:
主要代码如下
packagecom.hy.fliter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.commons.httpclient.HttpStatus;
/**
*CreatedbyWangShuaion2016/7/30.
*/
publicclassCorsFilterimplementsFilter{
@Override
publicvoidinit(FilterConfigfilterConfig)throwsServletException{}
@Override
publicvoiddoFilter(ServletRequestservletRequest,ServletResponseservletResponse,FilterChainfilterChain)throwsIOException,ServletException{
HttpServletResponseresponse=(HttpServletResponse)servletResponse;
HttpServletRequestrequest=(HttpServletRequest)servletRequest;
//指定允许其他域名访问
response.setHeader("Access-Control-Allow-Origin","*");
//响应类型
response.setHeader("Access-Control-Allow-Methods","POST,GET,DELETE,OPTIONS,DELETE");
//响应头设置
response.setHeader("Access-Control-Allow-Headers","Content-Type,x-requested-with,X-Custom-Header,HaiYi-Access-Token");
if("OPTIONS".equals(request.getMethod())){
response.setStatus(HttpStatus.SC_NO_CONTENT);
}
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
publicvoiddestroy(){}
}
web.xml代码如下配置
<filter> <filter-name>cors</filter-name> <filter-class>com.hy.fliter.CorsFilter</filter-class> </filter> <filter-mapping> <filter-name>cors</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
以上所述是小编给大家介绍的使用CORS实现JavaWeb跨域请求问题的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
7 简短元宵节祝福语
10 孙子生日祝福语简短精辟
11 客户祝福语事业文案简短
12 书法朋友祝福语简短精辟
13 女孩结婚祝福语大全简短
14 升学了祝福语简短句
15 幼师离别祝福语老师简短
16 幽默的新娘祝福语简短
17 结婚祝福语 暖心简短
18 商务感恩祝福语大全简短