JAVA解决前端跨域问题。

什么是跨域?

  通俗来说,跨域按照我自己的想法来理解,是不同的域名之间的访问,就是跨域。不同浏览器,在对js文件进行解析是不同的,浏览器会默认阻止,所以

现在我来说下用java代码解决前端跨域问题。

用java代码解决前端跨域问题?

找到WEB-INF下面的web.xml文件,输入下面代码,在web.xml文件下面:

 1 <!-- 解决跨域访问的问题 -->
 2     <filter>
 3         <filter-name>cors</filter-name>
 4         <filter-class>com.mj.yiCardCountry.filter.controller.SimpleCORSFilter</filter-class>
 5     </filter>
 6     <filter-mapping>
 7         <filter-name>cors</filter-name>
 8         <url-pattern>/*</url-pattern>
 9     </filter-mapping>
10     <session-config>
11         <session-timeout>10</session-timeout>
12     </session-config>

然后创建一个类,在service或者controller  ,我是在controller中创建的,输入以下代码:

 1 public class SimpleCORSFilter implements Filter{
 2
 3     public void init(FilterConfig filterConfig) throws ServletException {}
 4
 5     public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
 6         HttpServletResponse response = (HttpServletResponse) res;
 7         response.setHeader("Access-Control-Allow-Origin", "*");
 8         response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
 9         response.setHeader("Access-Control-Max-Age", "3628800");
10         response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");
11         chain.doFilter(req, res);
12     }
13
14     public void destroy() {}
15
16 }

然后,重新install下  重新运行下 试试。基本上是ok了。

原文地址:https://www.cnblogs.com/lxwt/p/9618367.html

时间: 2024-09-30 14:26:11

JAVA解决前端跨域问题。的相关文章

.net mvc webapi 解决前端跨域问题

跨域问题的原因不解释了,直接设置两步就可以解决前端跨域问题 1.Gloabel.asax文件中 //解决跨域问题 protected void Application_BeginRequest(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); if (HttpContext.Current.Request.HttpMethod == "OPTIONS") { HttpContext.Current.Resp

解决前端跨域请求的几种方式

利用 JSONP 实现跨域调用 说道跨域调用,可能大家首先想到的或者听说过的就是 JSONP 了. 1.1 什么是JSONP JSONP 是 JSON 的一种使用模式,可以解决主流浏览器的跨域数据访问问题.其原理是根据 XmlHttpRequest 对象受到同源策略的影响,而 <script> 标签元素却不受同源策略影响,可以加载跨域服务器上的脚本,网页可以从其他来源动态产生 JSON 资料.用 JSONP 获取的不是 JSON 数据,而是可以直接运行的 JavaScript 语句. 1.2

nginx反向代理-解决前端跨域问题

1.定义 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源.注意:跨域限制访问,其实是浏览器的限制.理解这一点很重要!!! 2.跨域访问示例 假设有两个网站,A网站部署在:http://localhost:81 即本地ip端口81上:B网站部署在:http://localhost:82 即本地ip端口82上. 现在A网站的页面想去访问B网站的信息,A网站页面的代码如下(这里

java解决前后台跨域问题

这篇文章主要介绍了使用Cors实现JavaWeb跨域请求问题的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 之前用jsonp 解决跨域问题,现在用CORS实现跨域请求解决java 跨域问题: 主要代码如下 package com.hy.fliter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterC

spring cloud 解决前端跨域

利用拦截器 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String origin = request.getHeader("Origin"); logger.info("进入AllowOriginIntercepter 拦截 origin={}",origin); Strin

使用nginx反向代理解决前端跨域问题

1. 首先去Nginx官网下载一个最新版本的Nginx,下载地址:http://nginx.org/en/download.html.我这里下载的版本是:nginx/Windows-1.12.0.下载完成之后,得到一个.zip的压缩包,把压缩包解压到E盘根目录.如图1-1 2. 打开目录 E:\nginx\conf ,编辑nginx.conf文件,修改成如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_

前端跨域方案-跨域请求代理(asp.net handler)

现在技术开发偏向于使用统一的接口处理浏览器或者app的http请求. 大家都知道因为浏览器的同源策略的原因 js直接请求webapi 接口会有一些问题,即使做好服务器端的配置 同样会有不少的 问题  并且会有浏览器的兼容性 而使用jsonp 又需要服务器端对返回数据做相关处理 所以考虑考虑使用代理来解决前端跨域请求的问题. 代理程序走asp.net的一般处理程序,来实现前端js请求的接受然后转发到api站点. 关键点: 1.使用url参数的方式传送api接口的站点路径 http://test.m

解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题

问题: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话. 在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, 既然每次请求都是一个新的会话, 那我们去获取session的时候自然就是null了. 解决办法如下: 环境: vue 2.0 springboot 2.1.6 一.前端部分 1.  在vue引入axios的位置添加以下代码 import axios from 'axios' axios.defau

解决浏览器跨域限制发送ajax请求

一.什么是浏览器跨域限制?本质是什么? 所谓浏览器跨域限制,其实是为了数据安全的考虑由Netscape提出来限制浏览器跨域访问数据的策略,这是一中约定,正式叫法为浏览器同源策略,目前已经在大多数浏览器中支持. 本质上,所谓浏览器同源策略即:不允许浏览器访问跨域的Cookie,ajax请求跨域接口等.也就是说,凡是访问与自己不在相同域的数据或接口时,浏览器都是不允许的. 最常见的例子:对于前后端完全分离的Web项目,前端页面通过rest接口访问数据时,会出现如下问题: 不允许发送POST请求:在发