JAVA后台配置,APP请求跨域问提

package com.szx.util;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.szx.service.SzxService;

/**
 * 拦截器(注:)解决跨域问题 还需要在配置文件中配置
 *
 * @author Strvie
 *
 */
@Component
public class CORSInterceptor implements HandlerInterceptor {
    private static final Logger log = LogManager.getLogger(CORSInterceptor.class.getName());

    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {

    }

    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {

    }

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");

        return true;
    }

}

上边代码是 拦截器类

2 在配置文件中  添加配置

<!-- 跨域访问 -->
<mvc:interceptors>
<bean class="com.szx.util.CORSInterceptor" />
</mvc:interceptors>

这样H5 写app中请求ajax访问就解决了跨域问题

原文地址:https://www.cnblogs.com/strvie/p/10843713.html

时间: 2024-10-29 09:10:45

JAVA后台配置,APP请求跨域问提的相关文章

配置proxy解决跨域问题

用一个最简单的方法解决API资源请求跨域问题:http-proxy-middleware http-proxy-middleware不需要自己安装,在安装webpack过程中,会自动依赖安装到你的node_modules文件夹下,如果你发现没有,那么请自行安装 npm install --save-dev http-proxy-middleware 1.前端部署了nodejs服务器,采用app.listen()启动前端服务器,那么你只需要在你的js中添加下面几行代码即可 假设你的前端服务器js文

百万年薪python之路 -- 请求跨域和CORS协议详解

楔子 什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab页中分别来自127.0.0.1:8000和127.0.0.1:8001的页面,当浏览器的127.0.0.1:8000的tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和127.0.0.1:8000同源的脚本才会被执行.如果非同源,那么在请求数据时,浏览器会在控制台中报一

[php-cookie] cookie 请求跨域,如何共享

cookie 请求跨域的问题, 假设我有两个域名,一个 m.example.com,另一个是 www.example.com . 那么我需要如何设置 cookie 才可以在这两个域名都实现共享呢? // m.example.com & www.example.com 的根域名都是 example.com // 所以在 setcookie 时,我们只需要在指定的 $domain 设置为了该公共的根域名即可,实现两个域名共享访问 cookie 值 // bool setcookie ( string

php options 请求跨域

请求跨域,前端发送options请求时,加上一下请求头即可: header("Access-Control-Allow-Origin: *");header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,O

java web get请求跨域(转)

http://hw1287789687.iteye.com/blog/2188617 java  web中如何跨域请求呢? 使用jsonp,详情请参考:http://json-p.org/ 页面代码如下: Html代码   <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <scri

WebService跨域配置、Ajax跨域请求、附开发过程源码

项目开发过程中需要和其他公司的数据对接,当时我们公司提供的是WebService,本地测试,都是好的,Ajax跨域请求,就报错,配置WebService过程中,花了不少功夫,入不少坑,不过最终问题还是解决啦~~~特意将完整开发步骤记录下来,以备下次勿犯,废话不多说,直接上源码! 第一步,右键,新建项,添加"web服务" 第二步:在webservice项目的web.config中添加如下配置,缺一不可: 1 <system.web> 2 <webServices>

服务端配置实现AJAX跨域请求

一直以为AJAX跨域是无法逾越的鸿沟,最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求. PHP代码示例: header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With'); 经过测试,webkit内核的浏览器成功实现跨域请求. IE一如既往的不支持~看来只能在移动端享用这一强大功能了 另外,需要注意的是,第一行配置中的*表示允许来自所有refer

java 设置允许ajax XMLHttpRequest 请求跨域访问

在非IE下,使用XMLHttpRequest 不能跨域访问, 除非要访问的网页设置为允许跨域访问. 将网页设置为允许跨域访问的方法如下: Response.AddHeader("Access-Control-Allow-Origin", "*"); 或指定域名下可以访问: Response.AddHeader("Access-Control-Allow-Origin", "http://www.1688hot.com:80")

解决Geoserver请求跨域的几种思路

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景描述 跨域问题是浏览器同源安全制引起的特别常见的问题.不同前端语言针对跨域解决方法有所区别.比如Flex语言做跨域请求时,如果中间件存有跨域文件(crossdomain.xml)则可以轻松实现跨域. 而JS开发的前端,针对GET请求则又可以通过JSONP方式解决.补充一下JSONP的原理:通过创建一个 script 标签,将 src 设置为目标请求,插入到 DO