java服务器端配置支持跨域请求

来源:互联网 发布:java中常用的数据结构 编辑:程序博客网 时间:2024/05/22 12:32
前言:之前做好的登陆接口,刚刚拿去给前端调用。发现前端那边报错,无法调到接口。因为我们后端的接口是在一台服务器上,前端(使用的是nodejs)的代码在另一台服务器上,导致两台服务器之间无法相互调用(服务器我们使用的是tomcat 7)。所以为了解决这个问题,前端那边在接口方面加了一段代码。同时,我们服务器端也同样需要加一个配置用来解决跨域。上网上查找了相关解决方案,配置到代码中,发现OK了。所以拿出来和大家分享一下,也为以后再遇到这种问题做个记录。好了,闲话少说,开始!

首先,上网搜索关键词 “服务器支持跨域” 发现如下几篇文章:

http://hw1287789687.iteye.com/blog/2212292

http://www.360doc.com/content/14/0920/14/7909375_411017244.shtml

http://blog.csdn.net/newjueqi/article/details/27058765

以上的文章可以参考,写的思路都很对,但是具体的操作没有写。所以我就在此把具体操作写出来就可以了。

首先我们项目中使用的是maven管理jar包,所以我要找到对应的jar包加入到pom中。

<!-- 跨域过滤器相关 --><dependency><groupId>com.thetransactioncompany</groupId><artifactId>java-property-utils</artifactId><version>1.9.1</version></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.6.2</version></dependency><!-- 跨域过滤器相关 -->

然后接下来在项目中的web.xml中加入如下filter节点

          <filter>    <description>跨域过滤器</description>    <filter-name>CORS</filter-name>      <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>      <init-param>       <param-name>cors.allowOrigin</param-name>          <param-value>*</param-value>      </init-param>      <init-param>       <param-name>cors.supportedMethods</param-name>          <param-value>GET, POST, HEAD, PUT, DELETE</param-value>      </init-param>      <init-param>       <param-name>cors.supportedHeaders</param-name>          <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value>      </init-param>      <init-param>          <param-name>cors.exposedHeaders</param-name>          <param-value>Set-Cookie</param-value>      </init-param>      <init-param>          <param-name>cors.supportsCredentials</param-name>          <param-value>true</param-value>      </init-param>  </filter>        <filter-mapping>      <filter-name>CORS</filter-name>      <url-pattern>/*</url-pattern>  </filter-mapping>

接下来.........

还接下来什么呀。重启服务器,跑起来吧。骚年!!!


0 0