2011-10-18 14 views
3

SmartGWTフロントエンドを開発しているときにPythonバックエンドを使いたいと思います。デバッグが正常に動作するようにするために、私は、WebサーバーがEclipseで実行されることを意味するeclipseで実行されているdevサーバーが必要であると思います。Javaバックエンドを使用していないときにGWT(eclipse)で開発する

私のpython(Django)バックエンドはデータ要求を処理する必要がありますが、クロスドメインの問題ではないようにしたいと思いますが、クロスドメインにもポートの一致が必要なようです。

これを回避する最も簡単な方法は何ですか?ホストファイルを偽のドメインで設定して、データ用とjs用の2つのエントリがあると考えていました。しかし、これは、ポートが一致する必要があるため、マシン上に2番目のIPを設定する必要があります。 他の誰かがページを見ることができるようにしたいのであれば、localhostと私の外部IPを使用することはできません。ローカルホストにアクセスできないからです。

さらに簡単な設定がありますか? データ要求を別のサーバーにプロキシするeclipse devサーバーにドロップできるシンプルなプロキシー・ピースはありますか? 他のアイデア?

答えて

2

私はgwtセットアップでこの目的のためにプロキシサーブレットを使用しています。

私は桟橋utilのアーティファクトからTomcatのプロキシサーブレット使用しています:私のweb.xmlはこのようになります

<dependency> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>jetty-util</artifactId> 
    <version>6.1.22</version> 
    <scope>runtime</scope> 
</dependency> 

を:

<servlet> 
    <servlet-name>JettyProxy</servlet-name> 
    <servlet-class>org.mortbay.servlet.ProxyServlet$Transparent</servlet-class> 
    <init-param> 

     <param-name>ProxyTo</param-name> 
     <param-value>http://yourserver</param-value> 
    </init-param> 
    <init-param> 

     <param-name>Prefix</param-name> 
      <!-- will be removed from request --> 
     <param-value>/prefix/</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>JettyProxy</servlet-name> 
     <url-pattern>/prefix/*</url-pattern> 
    </servlet-mapping> 

あなたには、いくつかの_context変数に関するいくつかのweiredエラーが出る場合は、作りますjetty-util.jarがGWT SDKの前のクラスパスにあることを確認してください。

0

開発マシンでバックエンドとフロントエンドの両方を使用するのが最も簡単な方法です。
私のプロジェクトでは、フロントエンドでGWT、バックエンドでcherrypy(Python)を使用しています。

Eclipseで両方のプロジェクトをセットアップし、開発時にcherrypyバックエンドとGWTフロントエンド用のデバッガを起動します。だから私は基本的にバックエンドとフロントエンドを同時にデバッグすることができます。本当にうまくいく。 pythonバックエンドとgwtフロントエンドの間の通信はRequestBuilder(JSON)を介して行われます。この設定については、GWTを使用せずに直接バックエンドのデータ通信をテストすることができます。 http://localhost:8080/?gwt.codesvr=127.0.0.1:9997

ポート8080が私のCherryPyにバックエンドで使用されます。

だから開発のURLは、通常のようなものです。

+0

あなたはpyDevを使用してPythonコードを実行していると仮定しますか? – boatcoder

+0

はい私はPyDevを使用しています。 –

関連する問題