JavaWeb项目允许跨域访问

版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载,请在文章的明显处标明本文链接! https://blog.csdn.net/qq_24484085/article/details/81865436

跨域访问

跨域是指从一个域名的网页去请求另一个域名的资源。 跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域访问。

浏览器限制跨域访问,为什么?

 为了安全我们的浏览器有同源策略。使我们不方便跨域访问

 为什么要跨域访问?

 你看到我这个文章,为什么?

JavaWeb项目服务端怎么允许跨域访问?

 普通项目:引入jar包  下载地址:

Maven项目:添加如下依赖


    <!-- 跨域过滤器相关 -->
    <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>
    <dependency>
      <groupId>com.thetransactioncompany</groupId>
      <artifactId>cors-filter</artifactId>
      <version>2.5</version>
    </dependency>

web.xml中加入以下配置

	<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>

猜你喜欢

转载自blog.csdn.net/qq_24484085/article/details/81865436
今日推荐