Maison > Java > javaDidacticiel > Exemple d'analyse de la façon dont Javaweb utilise cors pour compléter l'interaction des données Ajax inter-domaines

Exemple d'analyse de la façon dont Javaweb utilise cors pour compléter l'interaction des données Ajax inter-domaines

黄舟
Libérer: 2017-09-20 10:13:44
original
1537 Les gens l'ont consulté

Cet article commence par les concepts de cross-domain et de cors, puis présente le contenu pertinent de Javaweb utilisant cors pour compléter l'interaction de données ajax entre domaines. Les amis qui en ont besoin peuvent en savoir plus.

Cross-domain signifie que le navigateur ne peut pas exécuter de scripts provenant d'autres sites Web. Cela est dû à la politique de même origine du navigateur, une restriction de sécurité imposée par le navigateur sur JavaScript.

ajax lui-même interagit en fait avec les données via l'objet XMLHttpRequest. Cependant, pour des raisons de sécurité, le navigateur n'autorise pas le code js à effectuer des opérations inter-domaines, un avertissement sera donc émis.

cors

Nom complet : Partage de ressources d'origine croisée

Signification chinoise : Partage de ressources d'origine croisée

Sa définition sur Wikipédia est la suivante : Le partage de ressources d'origine croisée (CORS) est une spécification technique pour les navigateurs Web qui définit un moyen pour les serveurs Web de permettre aux pages Web d'accéder à leurs ressources à partir de différents domaines. Ce type d'accès est interdit par la politique de même origine. Le système CORS définit un moyen permettant aux navigateurs et aux serveurs d'interagir pour déterminer si les requêtes inter-domaines sont autorisées. Il s'agit d'un compromis qui permet plus de flexibilité, mais qui est plus sûr que de simplement autoriser toutes ces exigences.

1. Référence via 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>
Copier après la connexion

2. Sur le web Configurez le filtre en .xml et utilisez le filtre défini dans le jar importé. Faites attention à modifier le nœud cors.allowOrigin. Si l'accès inter-domaines est autorisé pour tous les sites, il peut être modifié en [*]. S'il y a plusieurs sites, la configuration peut être séparée par [,].


<!-- 跨域问题 --> 
  <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>
Copier après la connexion

3. Appelez les données sur tous les domaines via jQuery. L'exemple de code est le suivant :


<.>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal