ホームページ データベース mysql チュートリアル 找到的OpenLayers跨域访问WFS服务出现No 'Access

找到的OpenLayers跨域访问WFS服务出现No 'Access

Jun 07, 2016 pm 03:49 PM
openlayers 現れる 現れる 仕える アクセス クロスドメイン

在eclipse中部署了一个使用OpenLayers的Java web项目CrossDomainTest,容器为Tomcat 7.0.56.(http://localhost:8080/CrossDomainTest/index.html) 利用Geoserver 2.5.2使用内置容器jetty 6.18发布WFS服务.(http://localhost:8888/geoserver/wfs). 从localh

           在eclipse中部署了一个使用OpenLayers的Java web项目CrossDomainTest,容器为Tomcat 7.0.56.(http://localhost:8080/CrossDomainTest/index.html)

    利用Geoserver 2.5.2使用内置容器jetty 6.18发布WFS服务.(http://localhost:8888/geoserver/wfs).

    从localhost:8080访问localhost:8888的WFS无法得到预期效果,通过chrome浏览器开发者工具发现错误:No 'Access-Control-Allow-Origin' header is present on the requested resource. 查阅发现是所谓的Javascript安全性导致的“跨域问题”,找了很多的解决方法,比如设置cgi代理,CORS(跨域资源共享)等我都尝试了但不知为何没有成功,限于时间关系没有仔细追究,最后找到[Geoserver-users] CORS for jetty 6.1.8 (Geoserver 2.x), solved这篇文章,按其设置解决了问题:

<span>解决方案步骤为:</span>
ログイン後にコピー
<span>1.从这里下载ZIP文件,解压后放到</span><span><geoserver>\webapps\geoserver\WEB-INF\classes文件夹中。</geoserver></span>
ログイン後にコピー
<span>2.向</span><span><geoserver>\webapps\geoserver\WEB-INF\文件夹中的web.xml文件中增加如下配置文件允许所有域的跨域资源共享</geoserver></span><pre class="brush:php;toolbar:false"> <filter>
      <filter-name>cross-origin</filter-name>
      <filter-class>org.mortbay.servlets.CrossOriginFilter</filter-class>
  <init-param>
 <param-name>allowedOrigins</param-name>
 <param-value>*</param-value>
  </init-param>
      <init-param>
       <param-name>allowedMethods</param-name>
       <param-value>GET,POST</param-value>
      </init-param>
      <init-param>
       <param-name>allowedHeaders</param-name>
       <param-value>x-requested-with,content-type</param-value>
      </init-param>
    </filter>
	<filter-mapping>
        <filter-name>cross-origin</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
ログイン後にコピー

重启GeoServer,稍等片刻跨域访问就成功了,祝好运。原文主要内容如下:
的方法解决了问题。原文内容为
<span>I was looking on Geoserver cross domain support (no-proxy) recently and I
managed to get it working by compiling custom filter for Jetty 6.1.8. The
filter is based on CrossOriginFilter which is supplied with newer versions
of jetty-servlets.jar. I have fixed some white-space bugs and tested it
with OpenLayers 2.12, IE, FF and Chrome.

You can follow the same rules as described here:
http://wiki.eclipse.org/Jetty/Feature/Cross_Origin_Filter but:

1.Do not include the jar. Instead, put content of this archive
http://shanbe.hezoun.com/cors.zip into the
<geoserver>\webapps\geoserver\WEB-INF\classes folder.
2. use <filter-class>org.mortbay.servlets.CrossOriginFilter</filter-class>
 insteand of
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
3. do not use additional spaces in allowedHeaders defs (like this:
"x-request-with, content-type")

You can put follwing conf. inside the <geoserver>\webapps\geoserver\web.xml
to allow CORS requests from all domains:

<filter>
      <filter-name>cross-origin</filter-name>
      <filter-class>org.mortbay.servlets.CrossOriginFilter</filter-class>
  <init-param>
 <param-name>allowedOrigins</param-name>
 <param-value>*</param-value>
  </init-param>
      <init-param>
       <param-name>allowedMethods</param-name>
       <param-value>GET,POST</param-value>
      </init-param>
      <init-param>
       <param-name>allowedHeaders</param-name>
       <param-value>x-requested-with,content-type</param-value>
      </init-param>
    </filter>
...
 <filter-mapping>
        <filter-name>cross-origin</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

..restart the geoserver and it should work.</geoserver></geoserver></span>
ログイン後にコピー
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iOS 17: 写真にアクセスできるアプリを制御する方法 iOS 17: 写真にアクセスできるアプリを制御する方法 Sep 13, 2023 pm 09:09 PM

iOS17 では、Apple はアプリが写真に表示できるものをより詳細に制御できるようになりました。アプリごとにアプリへのアクセスを管理する方法については、この記事を読んでください。 iOS では、Apple のアプリ内フォト ピッカーを使用して、特定の写真をアプリと共有できますが、写真ライブラリの残りの部分は非公開のままです。アプリは写真ライブラリ全体へのアクセスを要求する必要があり、アプリに次のアクセスを許可するかどうかを選択できます: 制限付きアクセス – アプリは選択できる画像のみを表示できます。これは、アプリ内でいつでも行うか、[設定] に移動することで実行できます。 &gt ;プライバシーとセキュリティ&gt;写真をクリックして、選択した画像を表示します。フルアクセス - アプリで写真を表示できます

Java で JSONNode の JSON フィールド、配列、ネストされたオブジェクトにアクセスするにはどうすればよいですか? Java で JSONNode の JSON フィールド、配列、ネストされたオブジェクトにアクセスするにはどうすればよいですか? Aug 30, 2023 pm 11:05 PM

JsonNode は、JSON を JsonNode インスタンスに読み取り、JsonNode を JSON に書き込むことができる Jackson の JSON ツリー モデルです。 Jackson を使用して、ObjectMapper インスタンスを作成し、readValue() メソッドを呼び出すことで、JSON を JsonNode に読み取ることができます。 JsonNode クラスの get() メソッドを使用して、フィールド、配列、またはネストされたオブジェクトにアクセスできます。 asText() メソッドを使用して有効な文字列表現を返し、JsonNode クラスの asInt() メソッドを使用してノードの値を Javaint に変換できます。以下の例では、Json にアクセスできます。

PHP セッションのクロスドメイン問題の解決策 PHP セッションのクロスドメイン問題の解決策 Oct 12, 2023 pm 03:00 PM

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法

コマンドを使用してリモート デスクトップ接続サービスを開く方法 コマンドを使用してリモート デスクトップ接続サービスを開く方法 Dec 31, 2023 am 10:38 AM

リモート デスクトップ接続は多くのユーザーの日常生活に利便性をもたらしていますが、操作がより便利なコマンドを使用してリモート接続したいと考えている人もいます。リモート デスクトップ接続サービスは、コマンドを使用して開くことでこの問題を解決できます。リモート デスクトップ接続コマンドの設定方法: 方法 1. コマンドを実行してリモート接続します。 1. 「Win+R」を押して「ファイル名を指定して実行」を開き、「mstsc2」と入力し、「オプションの表示」をクリックします。 3. IP アドレスを入力して、「クリック」をクリックします。 "接続する"。 4. 接続中であることが表示されます。方法 2: コマンド プロンプトを介してリモート接続する 1. 「Win+R」を押して「ファイル名を指定して実行」を開き、「cmd2」と入力します。「コマンド プロンプト」に「mstsc/v:192.168.1.250/console」と入力します。

Linux でサービスを再起動する正しい方法は何ですか? Linux でサービスを再起動する正しい方法は何ですか? Mar 15, 2024 am 09:09 AM

Linux でサービスを再起動する正しい方法は何ですか? Linux システムを使用していると、特定のサービスを再起動する必要がある状況がよく発生しますが、サービスの再起動時に実際にサービスが停止しない、または開始しないなどの問題が発生することがあります。したがって、サービスを再起動する正しい方法を習得することが非常に重要です。 Linux では、通常、systemctl コマンドを使用してシステム サービスを管理できます。 systemctl コマンドは systemd システム マネージャーの一部です

Python を使用してさまざまなオーディオ ファイルやビデオ ファイルのメタデータにアクセスする Python を使用してさまざまなオーディオ ファイルやビデオ ファイルのメタデータにアクセスする Sep 05, 2023 am 11:41 AM

Mutagen と Python の eyeD3 モジュールを使用して、オーディオ ファイルのメタデータにアクセスできます。ビデオのメタデータには、ムービーと Python の OpenCV ライブラリを使用できます。メタデータは、オーディオ データやビデオ データなど、他のデータに関する情報を提供するデータです。オーディオ ファイルとビデオ ファイルのメタデータには、ファイル形式、ファイル解像度、ファイル サイズ、再生時間、ビットレートなどが含まれます。このメタデータにアクセスすることで、メディアをより効率的に管理し、メタデータを分析して有用な情報を取得できます。この記事では、オーディオ ファイルとビデオ ファイルのメタデータにアクセスするために Python が提供するライブラリまたはモジュールのいくつかを見ていきます。オーディオ メタデータへのアクセス オーディオ ファイル メタデータにアクセスするための一部のライブラリは、突然変異生成を使用しています。

Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Jan 13, 2024 pm 12:07 PM

Tomcat がデプロイ後に war パッケージに正常にアクセスできない問題を解決するには、特定のコード サンプルが必要です。広く使用されている Java Web サーバーとして、Tomcat を使用すると、開発者は独自に開発した Web アプリケーションをデプロイ用の war ファイルにパッケージ化できます。ただし、構成が正しくないことやその他の理由により、war パッケージをデプロイした後に正常にアクセスできないという問題が発生する場合があります。この記事では、このジレンマに対処する具体的なコード例をいくつか紹介します。 1. Tomcat サービスを確認する

リンクリストの長さを求めるCプログラム リンクリストの長さを求めるCプログラム Sep 07, 2023 pm 07:33 PM

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

See all articles