`
jayce洪
  • 浏览: 23216 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

前端调后端跨域问题

 
阅读更多

1:使用Filter

      

package xxx;

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;

public class CORSFilter implements Filter {

	public void destroy() {
	}

	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
			throws IOException, ServletException {
		HttpServletResponse response = (HttpServletResponse) servletResponse;
		response.setHeader("Access-Control-Allow-Origin", "*");
		response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
		response.setHeader("Access-Control-Max-Age", "3600");
		response.setHeader("Access-Control-Allow-Headers", "x-requested-with, Content-Type");
		response.setHeader("Access-Control-Allow-Credentials", "true");
		filterChain.doFilter(servletRequest, servletResponse);
	}

	public void init(FilterConfig filterConfig) throws ServletException {

	}
}

 

web.xml 加上配置 :

<filter>

    <filter-name>cors</filter-name>

    <filter-class>com.bztech.core.common.CORSFilter</filter-class>

</filter>

<filter-mapping>

    <filter-name>cors</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

 

 

如果是用的spring4.2以上,(不清楚是不是必须用spring boot)

 

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class CORSConfiguration {
	@Bean
	public WebMvcConfigurer corsConfigurer() {
		return new WebMvcConfigurerAdapter() {
			@Override
			public void addCorsMappings(CorsRegistry registry) {
				registry.addMapping("/**").allowedHeaders("*").allowedMethods("*").allowedOrigins("*");
			}
		};
	}
}

 

分享到:
评论

相关推荐

    前端后端跨域问题

    ### 前端后端跨域问题解析及解决方案 #### 跨域问题概述 跨域问题,即Cross-Origin Resource Sharing(CORS),是指浏览器出于安全考虑,在不同源之间执行网络请求时实施的一种限制机制。根据同源策略的规定,只有...

    前端跨域+后端跨域.zip

    本文将深入探讨“前端跨域”和“后端跨域”,以及它们在Vue.js和Java环境中的处理策略。 首先,我们来理解什么是“跨域”。在浏览器的安全策略中,每个网页都有一个源(协议+域名+端口),同源策略规定了JavaScript...

    docker部署nginx,挂载多个前端部署目录以及跨域问题解决方案.txt

    为了节约成本,很多时候一台server 的nginx可能要部署多个前端的情况,本实例是在docker环境下部署两个前端,同时处理前端调用后端跨域问题,本示例为阿里云centos7 系统docker20.10.6环境下nginx1.19.5版本 ...

    前端后端+跨域请求+java/js

    总的来说,前端后端通信中的跨域问题可以通过CORS、JSONP等方式解决,理解并掌握这些技术对于构建高效的Web应用至关重要。在实际项目中,应根据需求选择合适的方法,并注意安全性和性能的优化。

    通过dockerfile将nginx、前端和后端封装成一个镜像文章所需要的nginx压缩包

    通过dockerfile将nginx、前端和后端封装成一个镜像文章所需要的nginx压缩包

    SWFUpload多图上传、C#后端跨域传文件带参数

    在本项目中,“SWFUpload多图上传、C#后端跨域传文件带参数”表明我们将探讨如何利用SWFUpload上传多个图片,并在C#后端处理这些文件,同时解决跨域问题并传递额外的参数。 首先,我们需要了解SWFUpload的工作原理...

    API开发常用模版;功能包括:后端跨域、api文档生成工具swagger、api限流保护。flask.zip

    本压缩包“flask.zip”提供了一个基于Python Flask框架的API开发常用模板,它包含了几个关键功能:后端跨域支持、API文档生成工具Swagger以及API限流保护。下面将详细解释这些功能及其重要性。 1. **后端跨域支持**...

    单页Web应用,JavaScript从前端到后端 高清pdf

    接着,书中会详细阐述JavaScript在SPA中的核心功能,如AJAX和Fetch API用于异步数据请求,JSONP和CORS解决跨域问题,以及Promise和async/await语法进行异步控制流。此外,作者还会讲解如何使用现代库和框架,如React...

    单页Web应用:JavaScript前端到后端 源代码

    1. **跨域资源共享(CORS)**:允许前端从不同源获取数据,需设置正确CORS策略。 2. **JSON Web Token(JWT)**:用于身份验证,安全地在客户端和服务器之间传递用户信息。 3. **首屏加载优化**:利用服务端渲染(SSR)...

    单页web应用:javascript从前端到后端(源码)

    4. **JSONP和CORS**:跨域资源共享(CORS)和JSONP(JSON with Padding)是解决同源策略限制的两种常见方法,使得SPA可以从不同域名获取数据。 5. **前端状态管理**:随着应用复杂度增加,状态管理变得至关重要。...

    springboot后端解决跨域问题

    前端解决跨域的方法是使用node服务器做代理,发出请求到node服务器,node服务器转发到后端就可以绕过跨域问题。 后端解决跨域问题: 在Spring Boot中,我们可以使用@CrossOrigin注解来解决跨域问题。例如,在...

    nginx跨域问题,解决多端口,多ip问题

    前后端分离跨域问题是指在前端和后端分离的情况下,前端无法访问后端服务器资源的问题。这种问题通常是由于跨域限制所造成的。解决这种问题的方法是使用 Nginx 的反向代理功能,将前端请求代理到后端服务器上。 二...

    解决Vue调用springboot接口403跨域问题

    在当前的Web开发中,前后端分离架构变得越来越流行。这种架构意味着前端使用一种技术栈(如...通过这些配置,可以有效解决前端Vue.js应用在访问后端资源时遇到的跨域问题,从而使得前后端分离的开发模式得以顺利进行。

    单页Web应用 JavaScript从前端到后端

    5. **JSONP和CORS**:为了解决同源策略限制,跨域问题,JSONP用于与不支持CORS的旧服务器进行通信,而CORS(Cross-Origin Resource Sharing)是现代浏览器支持的跨域资源共享标准,提供了更安全的跨域解决方案。...

    前端与后端连接,Ajax,axios,jquery等练习

    如果前端应用和后端API不在同一域下,就会遇到跨域问题。 **跨域解决方案**: 1. **CORS(Cross-Origin Resource Sharing)**:通过在服务器端设置Access-Control-Allow-Origin响应头,允许特定的跨域请求。 2. **...

    使用docker部署nginx前后端解决跨域问题.docx

    使用docker部署nginx前后端解决跨域问题

    前端跨域,后端配置过滤器

    解决前后端跨域,java后端配置过滤器

    跨域请求jar包

    跨域请求(CORS,Cross-Origin Resource Sharing)是Web开发中的一个重要概念,它涉及到浏览器的安全策略,限制了...在开发过程中,开发者需要根据具体需求选择合适的方式来处理跨域问题,以保证应用的正常运行。

    解决 springboot跨域请求问题

    这样,Nginx会接收前端的请求,并转发到后端服务器,对于前端而言,就好像后端与前端在同一源下一样,从而避免了跨域问题。 选择哪种解决方案取决于你的具体需求。服务端配置CORS简单且易于管理,适用于小型项目或...

    单页Web应用:JavaScript从前端到后端 源代码

    在"单页Web应用:JavaScript从前端到后端"这本书中,作者深入探讨了如何构建一个完整的SPA,从前端的UI设计、路由管理,到后端的数据处理和API设计。以下是基于这个主题的详细知识点: 1. **前端框架与库**:SPA...

Global site tag (gtag.js) - Google Analytics