tomcat设置跨域访问

现在开发流行前后端分离,前端使用Ajax+html写页面,后端提供接口,便于以后开发和维护,但是这样也涉及到一个问题,前端在开发的时候页面不在后端项目,可能无法访问,所以tomcat要配置跨域访问,可以解决这个问题。

首先需要在tomcat中的lib文件夹增加两个jar包

1.cors-filter-2.4.jar  2.java-property-utils-1.9.1.jar

百度云下载  https://pan.baidu.com/s/1k8zgCgMrdjEm_6WQkf3E6Q

然后需要在Javaweb工程的web.xml文件中增加如下代码

<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>/*</url-pattern>
    </filter-mapping>  

这样就可以了,要注意的一点是,火狐和360急速等浏览器默认支持跨域访问,而chrome默认是不支持跨域访问的,如果一定要使用chrome跨域访问的话,需要在chrome快捷方式后面加一段代码 , --args --disable-web-security --user-data-dir 如下图

猜你喜欢

转载自blog.csdn.net/u012954380/article/details/80965236