Heim >Java >javaLernprogramm >Beispielanalyse, wie Javaweb Cors verwendet, um die domänenübergreifende Ajax-Dateninteraktion abzuschließen

Beispielanalyse, wie Javaweb Cors verwendet, um die domänenübergreifende Ajax-Dateninteraktion abzuschließen

黄舟
黄舟Original
2017-09-20 10:13:441532Durchsuche

Dieser Artikel beginnt mit den Konzepten von Cross-Domain und Cors und stellt dann den relevanten Inhalt von Javaweb vor, der Cors verwendet, um die domänenübergreifende Ajax-Dateninteraktion abzuschließen. Freunde, die es benötigen, können mehr erfahren.

Cross-Domain bedeutet, dass der Browser keine Skripte von anderen Websites ausführen kann. Dies wird durch die Same Origin Policy des Browsers verursacht, eine Sicherheitsbeschränkung, die der Browser für JavaScript auferlegt.

Ajax selbst interagiert tatsächlich mit Daten über das XMLHttpRequest-Objekt. Aus Sicherheitsgründen lässt der Browser jedoch nicht zu, dass JS-Code domänenübergreifende Vorgänge ausführt, daher wird eine Warnung ausgegeben.

cors

Vollständiger Name: Cross-Origin Resource Sharing

Chinesische Bedeutung: Cross-Origin Resource Sharing

Die Definition auf Wikipedia lautet: Cross-Origin Resource Sharing (CORS) ist eine technische Spezifikation für Webbrowser, die eine Möglichkeit für Webserver definiert, Webseiten den Zugriff auf ihre Ressourcen von verschiedenen Domänen aus zu ermöglichen. Diese Art des Zugriffs ist durch die Same-Origin-Richtlinie verboten. Das CORS-System definiert eine Möglichkeit für die Interaktion von Browsern und Servern, um zu bestimmen, ob domänenübergreifende Anforderungen zulässig sind. Es handelt sich um einen Kompromiss, der mehr Flexibilität ermöglicht, aber sicherer ist, als einfach alle diese Anforderungen zuzulassen.

1. Referenz durch Maven

cors-filter,


<!-- 跨域问题 --> 
  <dependency> 
  <groupId>com.thetransactioncompany</groupId> 
  <artifactId>cors-filter</artifactId> 
  <version>2.5</version> 
 </dependency> 
 <dependency> 
  <groupId>com.thetransactioncompany</groupId> 
  <artifactId>java-property-utils</artifactId> 
  <version>1.10</version> 
 </dependency>

2. Auf der web Konfigurieren Sie den Filter in .xml und verwenden Sie den im importierten JAR definierten Filter. Achten Sie auf die Änderung des cors.allowOrigin-Knotens. Wenn der domänenübergreifende Zugriff für alle Sites zulässig ist, kann er in [*] geändert werden. Wenn mehrere Sites vorhanden sind, kann die Konfiguration durch [,] getrennt werden.


<!-- 跨域问题 --> 
  <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>https://127.0.0.1:8380</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>

3. Rufen Sie Daten domänenübergreifend über jQuery auf:


Das obige ist der detaillierte Inhalt vonBeispielanalyse, wie Javaweb Cors verwendet, um die domänenübergreifende Ajax-Dateninteraktion abzuschließen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn