• java web应用下跨域3招


    一、设置服务器端,让ajax能直接调用

    服务器端设置 tomcat 设置为例: 在web.xml中添加如下过滤器

    
     <filter>
       <filter-name>CorsFilter</filter-name>
       <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
     </filter>
     <filter-mapping>
       <filter-name>CorsFilter</filter-name>
       <url-pattern>/*</url-pattern>
     </filter-mapping>
    

    二、使用jsonp方式进行

    三、使用自定义过滤器方式进行

    Spring MVC Rest 支持CORS

     

    新建cors filter文件,

    复制代码
    package cn.ac.iscas.pebble.ufe.tools;
    
    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 org.springframework.stereotype.Component;
    
    @Component
    public class SimpleCORSFilter implements Filter {
    
        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
            response.setHeader("Access-Control-Allow-Origin", "*");
            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);
        }
    
        public void init(FilterConfig filterConfig) {}
    
        public void destroy() {}
    
    }
    复制代码
    然后在web.xml里添加如下内容:
    复制代码
    <filter>
            <filter-name>cors</filter-name>
            <filter-class>cn.ac.iscas.pebble.ufe.tools.SimpleCORSFilter</filter-class>
        </filter>
        
        <filter-mapping>
            <filter-name>cors</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    复制代码
  • 相关阅读:
    mysql 压缩备份 压缩还原 命令
    $' ': command not found
    CentOS7查看和关闭防火墙
    Linux系统运维故障排查
    使用netstat、lsof查看端口占用情况
    一道关于二叉树遍历的题目
    curl常用传参方式
    vm centos7中用NAT模式配置上网
    laravel使用过程中一些总结
    MySQL Replication
  • 原文地址:https://www.cnblogs.com/fx2008/p/4112036.html
Copyright © 2020-2023  润新知