文档章节

SpringMVC 跨域问题

树上的风筝
 树上的风筝
发布于 2015/11/11 17:29
字数 244
阅读 2346
收藏 9

跨域:就是你在一个在一个域中访问另一个域中服务器的内容。

 后台解决跨域问题一般两种 一种是将返回的数据以jsonp格式返回。前端通过ajax等前段脚本解析jsonp格式数据。

今天只是解决spirngmvc 后台通过过滤器解决跨域

 

过滤器代码如下:

    public class BasicFilter implements Filter {

     public void destroy() {

     }

     public void doFilter(ServletRequest servletRequest,
   ServletResponse servletResponse, FilterChain filterchain)
   throws IOException, ServletException {

      HttpServletResponse response = (HttpServletResponse) servletResponse;
//  HttpServletRequest request = (HttpServletRequest) servletRequest;
//  HttpSession session = request.getSession();
  

  1. // 指定允许其他域名访问  

  response.addHeader("Access-Control-Allow-Origin", "*");

2、// 响应类型  响应方法

  response.addHeader("Access-Control-Allow-Methods", "POST, OPTIONS"); 

    // 响应头设置 

  response.addHeader("Access-Control-Allow-Headers", "POWERED-BY-FANTONG");

    response.addHeader("Access-Control-Max-Age", "30");   
  
  
  // 需要过滤的代码
  filterchain.doFilter(servletRequest, servletResponse);
 }

     public void init(FilterConfig config) throws ServletException {

     }
}

web.xml中配置过滤器

  <filter>
  <filter-name>basicFilter</filter-name>
  <filter-class>com.fantong.basic.filter.BasicFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>utf-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>basicFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 

© 著作权归作者所有

树上的风筝
粉丝 2
博文 38
码字总数 20210
作品 0
朝阳
程序员
私信 提问
Spring @CrossOrigin 注解原理

现实开发中,我们难免遇到跨域问题,以前笔者只知道jsonp这种解决方式,后面听说spring只要加入@CrossOrigin即可解决跨域问题。本着好奇的心里,笔者看了下@CrossOrigin 作用原理,写下这篇博...

暗中观察
03/13
809
0
SpringMVC跨域配置以及权限控制拦截跨域请求时的问题解决

背景 最近公司开始推行前后端分离的架构,于是不可避免的引入了跨域的问题,跨域的概念可以参考大佬的博客,这里就不再赘述了。 作为Java最流行框架之一的Spring其实已经帮我们写好了很多代码...

Iceberg_XTY
2018/09/29
1K
0
Spring跨域问题

spingMVC 3.X跨域 关于跨域问题,主要用的比较多的是cros跨域。 详细介绍请看https://developer.mozilla.org/zh-CN/docs/Web/HTTP/AccesscontrolCORS 但是,在springmvc+angularjs下支持跨域...

刘引惟
2016/11/17
73
0
SpringBoot +spring security 与CSRF有关的几个 问题

1、问题 开启 csrf 后 列表页面没有数据 页面console.log(403) 2、科普 首先,科普一下,什么是"CSRF"? 这是一个web应用安全的问题,CSRF(Cross-site request forgery)跨站请求伪造,也被称...

douruanliang
2018/05/15
0
0
Spring Boot点滴笔记

Spring Boot导入xml配置文件 使用Spring Boot后再也不想回到一堆xml配置的spring项目中了。但Spring boot有时候也避免不了需要xml配置文件。 可以在启动类中加入@ImportResource Spring Boot...

hutaishi
2017/11/01
64
0

没有更多内容

加载失败,请刷新页面

加载更多

thinkphp5.1学习过程四——trait

<?php /** *trait实现了代码的复用 *并且突破了单继承的限制 *trait是类不是类,不能实例化 */ trait Demo1 { public function hello1() { return __METHOD__; } } trait Demo2 { public fu......

大海yht
27分钟前
6
0
DB2 sequence 操作

操作DB2 下 sequence seqName db2数据库一般seq还是比较大的,但是程序在调用的时候还是不可避免的有一些bug, 下面是对于seq一些简单的操作,也作为工作的一些记录 1、命令行取sequence se...

飞雪无痕
34分钟前
6
0
《吊打面试官》系列-秒杀系统设计

你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 絮叨 之前写了很多Redis相关的知识...

敖丙
40分钟前
12
0
Qt编写气体安全管理系统11-数据打印

一、前言 在各种软件系统中,数据打印也是常用的功能之一,一般来说会对查询的数据结果导出到excel,还会对查询的数据结果直接打印,在Qt中提供了打印机类QPrinter,在printsupport组件中,可...

飞扬青云
46分钟前
5
0
初级阶段

#include <stdio.h> #include <stdlib.h> int main(){ int a; int Sn = 0; int i; int tmp = 0; scanf_s("%d", &a); for (i = 1; i <= 5; i++) { tmp = tmp * 10 + a; Sn += tmp; } printf("......

Lxxxxx256
47分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部