关于JS调用Java后台API跨域问题的解决方法
2017-07-11 14:01
1071 查看
创建CORSFilter.java
配置web.xml
public class CORSFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse res = (HttpServletResponse) response; HttpServletRequest request1 = (HttpServletRequest) request; String ip = request1.getHeader("Origin"); res.setContentType("text/html;charset=UTF-8"); res.setHeader("Access-Control-Allow-Origin", ip); res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); res.setHeader("Access-Control-Max-Age", "0"); res.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token"); res.setHeader("Access-Control-Allow-Credentials", "true"); res.setHeader("XDomainRequestAllowed", "1"); chain.doFilter(request, response); } public void destroy() { // TODO Auto-generated method stub } }
配置web.xml
<filter> <filter-name>CORSFilter</filter-name> <filter-class>CORSFilter全限定名</filter-class> </filter> <filter-mapping> <filter-name>CORSFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关文章推荐
- 关于JS中setTimeout()无法调用带参函数问题的解决方法
- 关于在做java的Web开发中遇到跨域访问的问题的解决方法汇总
- JAVA调用https, JS跨域请求,客户端解决JS跨域问题, SOP
- java调用百度地图web服务api-----该方法可用在js跨域请求上
- 关于asp.net前台js调用后台方法的问题
- 关于asp.net前台js调用后台方法的问题
- 解决调用Iframe引入跨域访问页js方法问题
- 关于datagrid中控件利用js调用后台方法事件的问题
- java调用百度地图web服务api-----该方法可用在js跨域请求上
- js关于getImageData跨域问题的解决方法
- 关于JS的Ajax bf52 方法导致跨域问题的解决办法
- 关于js的ajax方法导致跨域问题的解决办法
- php、asp.net关于后台设置的cookie前台JS获取时出现中文乱码问题解决
- 【转】js 跨域访问问题解决方法
- [拦截器]关于拦截方法调用其他内部方法无法被拦截问题的解决
- 关于js 里面调用后台方法
- 关于json和后台调用js的方法
- js调用java后台方法(ajax回调函数)
- javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法