js,css跨域请求

4 篇文章 0 订阅

     这次在用cdn的时候终于还是遇到了跨域请求

      索性百度了下  基本方法就是定义一个filter,在每次请求的时候header 头部加一个allow的东西

     具体代码如下

package com.web.filter;  
  
import java.io.IOException;  
  
import javax.servlet.Filter;  
import javax.servlet.FilterChain;  
import javax.servlet.FilterConfig;  
import javax.servlet.ServletException;  
import javax.servlet.ServletRequest;  
import javax.servlet.ServletResponse;  
import javax.servlet.http.HttpServletResponse;  
  
import com.common.dict.Constant2;  
  
import oa.service.DictionaryParam;  
  
public class SimpleCORSFilter implements Filter{  
  
    @Override  
    public void destroy() {  
          
    }  
  
    @Override  
    public void doFilter(ServletRequest req, ServletResponse res,  
            FilterChain chain) throws IOException, ServletException {  
            HttpServletResponse response = (HttpServletResponse) res;  
            response.setHeader("Access-Control-Allow-Origin", DictionaryParam.get(Constant2.DICTIONARY_GROUP_GLOBAL_SETTING, "AccessControlAllowOrigin"));  
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");  
            response.setHeader("Access-Control-Max-Age", "3600");  
            response.setHeader("Access-Control-Allow-Headers", "x-requested-with");  
            chain.doFilter(req, res);  
          
    }  
  
    @Override  
    public void init(FilterConfig arg0) throws ServletException {  
          
    }  
  
}  

 然后在web.xml配置

<filter>  
      <filter-name>cors</filter-name>  
      <filter-class>com.web.filter.SimpleCORSFilter</filter-class>  
    </filter>  
    <filter-mapping>  
      <filter-name>cors</filter-name>  
      <url-pattern>/*</url-pattern>  
    </filter-mapping>

 

基本的思路就是在你的interceptor中    拦截  然后也在session中放入 cdn的请求路径,在页面的引js,css样式的时候 前加上这个头部

还有一个比较坑的地方 就是在你如果js中 自定义了一些js的延伸方法,需在页面最开始的地方就引入jquery

否则会报一些js的错误,类似方法找不到等等,但在本地是可行的

 

另外因为我们是在内网开发,这时候我们模拟了一个cdn

在另一台服务器上,将图片,js文件部署上去,

记住在里面也放一个web.xml,把一些跨域的请求配置 也加上去,才可以让服务器访问你,因为你对于它那边来讲  也算是跨域

 

如果正式的话   在阿里云oss云存储   bucket 配置   cros的请求域名就可

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值