如何设置本地tomcat(localhost)实现跨域调用接口

怎么实现在本地tomcat(localhost:8080)的情况下依然可以跨域访问获取数据?

准备工具,我们需要两个包:

java-property-utils-1.9.1.jar 和 cors-filter-2.5.jar

对于一些新人来说,可能找包会比较麻烦,那么,我在这里贴上百度云的地址,大家可以试着在百度云上下载(之前图方便,找了一些网上其他人给的链接,结果都是要钱的o(╥﹏╥)o,无奈自己建个项目,跑个maven,O(∩_∩)O哈哈~)

链接: https://pan.baidu.com/s/1JY0BZdjYO_4LWEyN8kj9uA 提取码: ss5q

服务器的相关修改

在tomcat的(tomcat安装路径下conf文件下就有相关的配置文件)Web.xml中加上如下配置(建议用一些编辑器打开,比如:notepad):
如何设置本地tomcat(localhost)实现跨域调用接口_第1张图片

<!--  提供跨域支持 -->
    <filter>    
        <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>/*    
   

效果如下图所示:
如何设置本地tomcat(localhost)实现跨域调用接口_第2张图片
注意!!!
好了,之前我也是这样做就完事了,但是发现一个怪异的问题,设置完没有效果啊?!
后面记过查找,给出的一个解决方案是,浏览器是有是否支持跨域访问的功能的(我喜欢用chrome进行开发,所以就已Chrome为例操作了,其他浏览器的问题有兴趣可以自己查找一番)
如果一定要使用chrome跨域访问的话,需要在chrome快捷方式后面加一段代码 ,如图所示

–args --disable-web-security --user-data-dir

如何设置本地tomcat(localhost)实现跨域调用接口_第3张图片
完整的写法是

C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --args --disable-web-security --user-data-dir

最后,欢迎各位评论,共同精进,纯粹为了学习,不然我也学其他地方把工具什么的都设置收费了

你可能感兴趣的:(java)