問題タブ [scalatra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
796 参照

scala - 単純なscalatra-testspecs2の例は例外をスローします

scalatraドキュメントからscalatraspecs2の例を実行すると、この例外が発生します。

テストコードは次のとおりです(5行目から開始し、インポートをスキップします)。

アプリの定義は次のとおりです。

私はscalatra-specs22.0.4とscala2.9.1を使用しています。xsbt-web-plugin0.2.10とsbt0.11.2を使用して組み込みJettyサーバーを実行しています。テストはを使用して実行されsbt testました。

完全なトレースは次のとおりです。

これは、これまでに見つかった唯一の検索結果です: フラグメント評価エラー

誰かが私を正しい方向に向けることができますか?

ありがとう

0 投票する
1 に答える
1082 参照

scala - Scalatra -- リクエストボディのバイト配列/画像ストリーム

インターネット上には、他の言語の HTTP POST リクエストでファイル ストリームを送信する方法に関するドキュメントがたくさんありますが、Scalatra ではそうではありません。

トピックへ: Scalatra post() を介して、イメージをバイト配列またはファイル ストリーム (ずさんな用語で申し訳ありません。私はまったくの初心者です) として送信したいと考えています。バイト配列を取り、それを .jpg 画像に変換してサーバーに保存するバックエンド Java 関数が既にあります。私がはっきりしていないのは、Scalatra でこれを行う方法の正確な構文です。

それが私の投稿リクエストのようです:

ただし、Eclipse は、オーバーロードされたメソッド post を (String, (String, Array[Byte])) に適用できないと言っています。

サーバー側:

どんな助けでも大歓迎です!

0 投票する
2 に答える
1062 参照

eclipse - Eclipse ワークスペースで Scalatra アプリケーションを使用していますか? (つまり、ビルドパス)

プロジェクトとしてEclipseにインポートした小さなScalatra Webアプリケーションを試しています。

以前、Eclipse を使用していくつかの Lift アプリケーションを管理したことがあります。Lift プロジェクトでは、SBT はすべての依存関係 JAR を/lib_managedディレクトリーにコピーします。したがって、これらの JAR を Eclipse のビルド パスに追加することができ、欠落しているクラスについて文句を言うことなく、SBT と問題なく共存できます。

ただし、Scalatra では、依存関係の JAR は、開発サイクル中に役立つ場所にコピーされないようです。/lib-managedWAR ファイルをビルドすると、依存関係がバンドルされます... しかし、Lift のディレクトリのようなものはないようです。

他の誰かが Scalatra プロジェクトの開発に Eclipse を使用していると仮定すると、Eclipse のビルド パスを簡単に設定するにはどうすればよいでしょうか? 少し醜いように見えますが、ローカルの Ivy リポジトリを 1 つずつ指すエントリを手動で作成できると思います。/lib-managedおそらく、プロジェクト ディレクトリ内に Lift のサブディレクトリに似たものをセットアップする SBT を介した簡単な方法があります。

0 投票する
1 に答える
1179 参照

linux - nginxのScalatra:セットアップ方法?

nginxを実行しているボックスで実行するようにScalatraをセットアップしたいと思います。

すでに nginx が正しく設定されており、静的な html ページを提供できますが、Scalatra アプリを参照したいと考えています。利用可能なすべてのドキュメントは、使用されるサーバーが Jetty であると想定しているように見えます。たとえば、http://blog.everythings-beta.com/ ?p=430 です。

jetty 構成には、これに加えて、クラス名とサーブレット マッピングが必要なため、単純にフォルダーだけを指すことはできないと思います。

Scalatra アプリを指すようにnginxを構成するにはどうすればよいですか?

ありがとう!


追加情報:

Ubuntu 12.04 は私のオペレーティング システムです。そのため、回答はこれに固有のものであるか、Linuxで一般的に機能するものである可能性があります。


ボーナス:

MongoDBも追加してください。つまり、Scalatra とMongoDBを使用して nginx をセットアップする方法を回答に追加してください。

0 投票する
1 に答える
611 参照

scala - GlassFish 3.1.2 + クラスタ + Web コンテナのプロパティ

Web アプリケーションをセットアップする際のプロパティの処理に関して、Glassfish に問題があります。Jetty の使用から、Amazon AWS で GlassFish を使用したクラスター化された環境セットアップに移行しています。

従来、サーブレットを扱う場合、環境変数で解析する場合は .properties ファイルを使用することを意図していますが、これは分散環境を使用する場合に問題を引き起こします (すべてのクラスター ノードに .properties ファイルを配置する必要があります)。GlassFish には、管理コンソールを介して Web コンテナーのプロパティを構成する機能があります。つまり、プロパティはクラスターを通じて自動的に配布されます。

問題は、変数の取得に関してランダムな動作が発生していることです。初めてテスト アプリケーションを実行したとき、変数を取得できませんでしたが、機能しなくなりました

基本的に、管理UIから環境変数を設定しています。[構成] には 3 つの構成設定があります。1 つはクラスター用 (通常は .config という名前)、1 つは default-config、もう 1 つは server-config です。Web コンテナの下で、呼び出された「someVal」の 3 つすべてにテスト プロパティを配置しました。

次に、Scala (サーブレット 2.5 を使用) で簡単な Scalatra アプリを作成し、この行を使用してプロパティを取得しようとしました。

私が間違ってやっているアイデアはありますか?それは常にnullを返しますか?

更新 私がやろうとしていたことは、物事を行う「正しい」方法ではないようです。私の質問は、GlassFish でクラスターを処理するときに、特定のアプリケーション設定 (.war およびランタイムの外部) を提供する標準的な方法は何ですか。myfear は、データベースを使用することが標準的なアプローチであると述べましたが、私はこれらの構成設定自体を使用して JDBC 接続を定義します。

0 投票する
2 に答える
19112 参照

scala - Scala Web フレームワークの選択

Tomcat サーバーで実行する Web アプリケーションのプロジェクトを開始しようとしています。私は Scala (Groovy として働いているもう 1 つの代替手段) を使用することに決めました。私は今、仕事に適したツールを選択するという課題に直面しています。

私が開発する必要のあるプロジェクトには、JSON API を介してのみアクセスします。独自のデータベースと、それぞれ JSON と XML API を公開する 2 つの外部サービスの両方と対話します。また、アプリケーションがこれらの外部サービスとのさまざまな同期タスクを実行する定期的なジョブをスケジュールできる必要もあります。

データベースについては、Scala でモデルを定義し、スキーマを自動的に生成できるようにしたいと考えています。モデルを変更する必要が生じた場合は、それを処理するための移行が必要です。

このアプリケーションでは、Lift, Play! を評価しようとしています。2とスカラトラ。

  • リフトは私の最初の選択でした。これは 3 つのプロジェクトの中で最も成熟しており、安全性が高いと考えられているようです (セキュリティについては妥協したくありません)。さらに、Scala で最高の JSON 処理ライブラリと思われるものを備えています。それでも、少し試してみると、これが正しい選択かどうかわかりません。ドキュメントは、私が見た中で最高のものではありません。さらに、Record + Squeryl は Mapper よりも優れた抽象化のように思えますが、この使用法に関するドキュメントはさらに不足しています。最後に、Lift は確かに Web サービスの作成に使用できますが、その真の強みは状態の処理にあるようです。そのため、私のプロジェクトに追加の複雑さが必要であるとは確信していません。

  • 遊ぶ!2の方がドキュメントが充実しているようで、私にはなじみがあるように見えます (私は Django のバックグラウンドを持っています)。繰り返しますが、デフォルトのデータベースの抽象化は私を満足させるものではありません。ANORM は SQL に依存しているため、型チェックには役立ちません。いずれにしても Squeryl を使用する必要があり、このユース ケースのドキュメントが適切かどうかはわかりません。さらに、Play! 2 アプリケーションは、現在のところ、私が望むよりも複雑です。Play! をインストールする必要があります。実稼働サーバー上で、これが私が働いているオプションであるかどうかはわかりません。それ以外の場合は、サーブレット コンテナーで動作させるためのプラグインがありますが、これは非常に新しく、安定性と信頼性がどの程度かはわかりません。

  • 最後に、Scalatraを使用するオプションがあります。Scalatra は非常に簡単にセットアップでき、Web サービスを作成するために正確に設計されています。妥協点は、Scalatra が多くの機能を提供しないことです。既存の ORM と統合したり、アプリケーションのモデル部分を編成する方法を提案したりしません。また、cron やコマンド ライン タスクの設計にも役立ちません。また、プロジェクトの長期的な将来についても確信が持てません。

私の仕事に最適な選択は何だと思いますか?

0 投票する
3 に答える
16890 参照

servlets - JettyHTTP413ヘッダー完全エラー-Java/Scala

私はScalatraWebフレームワークでJetty7.6を使用しています。一部のリクエストでは、応答本文として大きなテキストをクライアントに送信する必要があります。HttpServletResponse.getWriter()を使用して応答を書き込みます。

クライアント側で413ヘッダーフルエラーが発生することに気づきました。どうやらJettyのこの問題に対する1つの解決策は、Jettyのheader-buffer-size値を増やすことです。

HttpServletResponse.getWriter()がリクエストのヘッダーのサイズと何の関係があるのか​​知りたいですか?!私が理解しているように、HttpServletResponse.getWriter()は、応答ヘッダーではなく応答本文に書き込みます。

誰かがこの問題を説明できれば幸いです。

0 投票する
0 に答える
781 参照

unit-testing - spec2 を使用した Scalatra POST サービスの単体テスト

このテストを使用して Web サービスをテストしようとしています。

Web サービスの定義は次のとおりです。

しかし、404 エラーが発生しているため、パラメーターを渡す方法が間違っているようです。

このテストで Web サービスを呼び出す正しい方法は何ですか?

アップデート

したがって、これは機能するため、サービスの私の定義は私が期待したものではありません:

0 投票する
1 に答える
531 参照

scala - JSON パラメータを使用して Scalatra Web サービスを定義しようとしています

Scalatra を使用して Web サービスを定義しようとしています。ここでは、パラメーターが本体に渡されます。できれば JSON として渡され、現在のように URL にすべてが含まれていません。

ですから、このテストに合格したいのですが、コメントアウトされたコードが現在合格しています。putコメントされていないコードは JSON ではありませんが、2 番目のパラメーターで Iterable が必要なため、テスト用に JSON を渡す方法もわかりません。

私の現在の定義は間違っていますが、次のとおりです。

putでは、サービスを呼び出してPUT /phaseupdate本体にパラメーターを含めるように定義するにはどうすればよいでしょうか?

基本的に、Webサーバーのアクセスログに入る内容を制限しようとしています。

0 投票する
1 に答える
767 参照

scala - Scalatra でフォーム送信を処理する良い方法はありますか

現在params、関数を使用して、URL に投稿されたデータを取得しています。

Play Framework のように Scalatra でフォームを処理する方法は他にありますか? Scalatra は、フォームの作成とフォームへの自動入力の両方に使用できるオブジェクトをサポートしていますか?