vue.js跨域_vueaxios跨域请求

vue.js跨域_vueaxios跨域请求最近公司能的项目使用前后端分离,前端开发请求接口数据的时候碰到了跨域问题,解决方案如下一、SimpleCORSFilter工具类在项目Util类中新建类SimpleCORSFilter实现Filter接口packagecom.how2java.tmall.util;importjava.io.IOException;importjavax.servlet.Filter…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

最近公司能的项目使用前后端分离,前端开发请求接口数据的时候碰到了跨域问题,解决方案如下

一、SimpleCORSFilter工具类

在项目Util类中新建类SimpleCORSFilter 实现Filter接口

package com.how2java.tmall.util;

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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleCORSFilter implements Filter{
    private boolean isCross = false;

    @Override
    public void destroy() {
        isCross = false;
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        if (isCross) {
            HttpServletRequest httpServletRequest = (HttpServletRequest) request;
            HttpServletResponse httpServletResponse = (HttpServletResponse) response;
            System.out.println("拦截请求: " + httpServletRequest.getServletPath());
            httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
            httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
            httpServletResponse.setHeader("Access-Control-Max-Age", "0");
            httpServletResponse.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");
            httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");
            httpServletResponse.setHeader("XDomainRequestAllowed", "1");
        }
        chain.doFilter(request, response);
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        String isCrossStr = filterConfig.getInitParameter("IsCross");
        isCross = isCrossStr.equals("true") ? true : false;
        System.out.println(isCrossStr);
    }

}

二、web.xml处理跨域请求

  <filter>  
    <filter-name>SimpleCORSFilter</filter-name>  
    <filter-class>com.how2java.tmall.util.SimpleCORSFilter</filter-class>  
    <init-param>  
      <param-name>IsCross</param-name>  
      <param-value>true</param-value>  
    </init-param>  
  </filter>  
  <filter-mapping>  
    <filter-name>SimpleCORSFilter</filter-name>  
    <url-pattern>/*</url-pattern> 
  </filter-mapping>

三、spring-4.0的

springMVC.xml配置

<mvc:cors>  
        <mvc:mapping path="/**"  
                       allowed-origins="*"  
                       allowed-methods="POST, GET, OPTIONS, DELETE, PUT"  
                       allowed-headers="Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"  
                       allow-credentials="true" />  
    </mvc:cors>

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188420.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • STUN协议详解

    STUN协议详解   基于RFC3489标准的stun协议,无法穿越TCP类型NAT,只是适用于在现有NAT类型下的UDP穿越,另一种特殊情况NAT也无法进行穿越,就是对称型NAT,在很多企业中就很多属于对称型NAT,后面会讲到。STUN的发现过程是基于UDP的NAT处理的假设;随着新的NAT设备的部署,这些假设可能会被证明是无效的,当STUN被用来获取一个地址来与位于其在同一NAT后面的对等体通信时,它就不起作用了。当stun服务器的部署不在公共共享地址域范围内时,stun就不起作用。1.定义STUN客户端:产生

  • javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]

    javascript html转换成markdown,如何使用Turndown使用JavaScript将HTML转换为Markdown[通俗易懂]本文概述许多项目不是从定义的结构开始,而是随着时间的流逝而变化。例如,一个基本博客可能从一开始就使用HTML格式将其内容存储在数据库中,但是由于其简单性,总有一天某人可能希望开始使用Markdown而不是HTML,在这种情况下,你需要从一种格式转换为另一种格式。如果你将服务器端逻辑与JavaScript(Node.js)一起使用,甚至直接在浏览器中将HTML转换为编辑器中的Markd…

  • webservice体系结构中包括_致命框架1第六关

    webservice体系结构中包括_致命框架1第六关   Web服务可以用来解决跨网络应用集合问题的开发模式,目的是保证不同平台的应用服务可以相互操作 JAX-WS实现WebServicepackagecom.service;importjavax.jws.WebService;/** WebService准备发布的接口* @WebService注解说明该类为Web服务发布类*/@WebServi…

  • babel es6转es5原理_es6兼容es5吗

    babel es6转es5原理_es6兼容es5吗首先需要安装依赖环境npmi–save-devbabel-clibabel-preset安装es5转换npmi–save-devbabel-preset-es2015安装polyfillnpmi–save-devbabel-polyfill安装运行时转换npmi–save-devbabel-plugin-transform-r…

  • MYSQL库,表,记录的基本操作

    数据库操作1、显示数据库默认数据库:mysql-用户权限相关数据test-用于用户测试数据information_schema-MySQL本身架构相关数据2、创建数据库3、使

  • 【hive】hive查询报错INFO: os::commit_memory(0x00000006e9990000, 3597074432, 0) failed; error=‘Cannot alloc

    【hive】hive查询报错INFO: os::commit_memory(0x00000006e9990000, 3597074432, 0) failed; error=‘Cannot alloc报错内容:INFO:Startingtask[Stage-14:MAPREDLOCAL]inserialmodeJavaHotSpot(TM)64-BitServerVMwarning:ignoringoptionMaxPermSize=512M;supportwasremovedin8.0JavaHotSpot(TM)64-BitServerVMwarning:INFO:os::commit_memory(0x00000006e9990000,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号