問題タブ [groovlet]
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.
groovy - Groovlet + Tomcat: ライブラリのインポート時に「クラスを解決できません」
ライブラリ クラスをインポートする tomcat で groovy サーブレット (groovlet) を実行する際に問題が発生しています。何もインポートしない場合、groovlet は正しく動作しますが、クラスパスにあると思われるものをインポートすると (通常のサーブレットで同じクラスを正常にインポートできます)、次のエラーが表示されます。
を含む jarMyLibraryClass
は にshared/lib
あり、次の in によって tomcat によってロードされますcatalina.properties
。
私のgroovletは、私のアプリケーションのユーザーガイドweb.xml
で説明されているようにマッピングされています:
groovlet のコードは次のとおりですMyGroovlet.groovy
。
私の groovlet はWEB-INF/groovy/MyGroovlet.groovy
、GroovyServlet APIに従って にデプロイされます。
にアクセスするhttp://localhost:8080/myapplication/MyGroovlet.groovy
と、前述のエラーがアプリケーション ログに書き込まれます。
GroovyServlet のランタイム クラスパスを明示的に宣言する必要がある方法はありますか? WEB-INF/lib
実際のMyLibraryClass.class
ファイルをに移動するなど、ライブラリ jar をいくつかの場所に移動しようとしましWEB-INF/classes
たが、うまくいきませんでした。
java - Groovlet (Groovy Servlet) からの JSP PageContext
統合フレームワークで JSP の代わりに Groovlets を使用しようとしていますが、ベンダーのライブラリの 1 つが JSP で利用可能な javax.servlet.jsp.PageContext に依存しています。Grails for GSP の一部で あるGroovyPagesPageContextクラスを見つけました。
とにかく、この状況でGroovyを使用し、jsp PageContextへのハンドルを取得するには? かなりの量のロジックが含まれているため、GSP を使用しようとはしていません。
google-app-engine - Sitemesh は Gaelyk で動作しますか? 作業ガイドを持っている人はいますか?
sitemesh と gaelyk を連携させることができた人はいますか? ここで言及されているように、これは可能であるようですhttp://blogs.bytecode.com.au/glen/2009/12/14/getting-sitemesh-running-on-google-app-engine.html。ただし、これをgaelykテンプレートで機能させることはできません。このエラーが発生し続けます
「javax.servlet.ServletException: テンプレートの作成に失敗しました: groovy.lang.GroovyRuntimeException: テンプレート スクリプトの解析に失敗しました (テンプレートにエラーが含まれているか、現在サポートされていない式を使用しようとしている可能性があります): 起動に失敗しました: SimpleTemplateScript3.groovy: 2: EOF が必要です。'prefix' @ 行 2、列 77 で見つかりました。
phony.com/sitemesh/decorator" prefix="de"
デコレーター main.gtpl は次のようになります。
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
上記の名前を jsp に変更すると、正常に動作します。taglibs が gaelyk で動作しないか、構文が間違っています。
誰かが私を正しい方向に向けることができますか?
乾杯。
gwt - GroovletがGWTプロジェクトで機能しない、コンテナ:Googleプラグインに埋め込まれたJetty
私はGWT-RPCを使用するGWTアプリケーションに取り組んでいます。動作するかどうかを確認するためにテストグルーブレットを作成しましたが、いくつかの問題が発生しました
これが私のグルーヴレットです
すべてのチュートリアルでは、何もサブクラス化する必要はなく、単純なスクリプトだけがサーブレットとして機能すると述べています。
私のweb.xmlは次のようになります-
として実行->Webアプリケーションを実行すると、jettyから次のエラーが発生します。
私は何を取りこぼしたか ?
html - Groovlet の短縮 URL
次の Groovlet を検討してください。
URL を生成するより良い方法はありますか? URL から明示的な var/vals を削除しようとしています。
html - ビルドをメソッドに委任するにはどうすればよいですか?
Groovletを作成していて、HTMLビルダーの一部をメソッドに委任したいのですが、動作させるのに問題があります。以下は私が持っているものです:
私は次の出力を期待しています:
代わりに、私が得るものは次のとおりです。
私は何が間違っているのですか?
groovy - GroovyサーブレットがTomcatでJARファイルを見つけることができません
一種のHTTPプロキシとして機能するgroovletを作成しました。GETリクエストを受け入れ、リクエストで提供されたURLに基づいてWebサービス呼び出しを行います。
これが私がこれまでに持っているコードです:
groovletのフォルダーにGroovyHTTPBuilderJARファイルがありWEB-INF/lib
ます。ただし、コードが正常に機能していません。(フォルダを入れてみたところ$TOMCAT_HOME/common/lib
、以下と同じ結果になりました。)
上記のようにコードを実行すると、ページが完全に空白に戻ります。
一番上の行だけを削除すると@Grab
(JARは理論的にはすでにクラスパスにあるはずなので)、Tomcatから厄介なエラーが発生します(5.5で実行していますが、6でもほぼ同じ動作が得られます)。
HTTPステータス500-GroovyServletエラー:スクリプト:'/proxy.groovy':スクリプト処理に失敗しました。起動に失敗しました:セマンティック分析中の一般的なエラー:タイプorg.apache.http.client.methods.HttpRequestBaseが存在しませんjava.lang.TypeNotPresentException:タイプorg.apache.http.client.methods.HttpRequestBaseが存在しません...
その後、スタックトレースが続きます。
私のgroovletの何が問題になっていますか?
java - Groovy でローカル ファイルを開く
File
オブジェクトを使用して、groovlet と同じディレクトリにあるローカル ファイルを読み取りたいと考えています。ただし、ファイルへの相対パス ("example.txt"
または"./example.txt"
) を使用してもうまくいきません。絶対パス (例: "/example.txt"
) を指定すると、機能します。
groovlet の作業ディレクトリまたはコンテキスト パスをプログラムで取得する方法はありますか?
groovy - クラス内で Groovlet セッション オブジェクトを設定しますか?
MyRequest
各 HTTP 要求を処理するために使用されるGroovy クラス があります。コンストラクターで、このクラスはインスタンス変数を(は現在の HttpServletRequest )_session
の値に設定します。request.getSession(true)
request
私の Groovyスクリプトで最初に行うことは、 のインスタンスを作成することですMyRequest
。次に、Groovletsession
オブジェクトの特定のプロパティを確認します。スクリプトへの最初のリクエストでは、このsession
オブジェクトが null であるため、null オブジェクト参照エラーが発生します。スクリプトへの 2 番目の要求では、session
オブジェクトが定義され、エラーは発生しません。
Groovlet のドキュメントによると、この状況は予想されるはずです。これは、Groovlet のsession
オブジェクトがスクリプト内に存在することを確認した後、明示的に設定しなかったためです。
スクリプト (およびプロジェクト内の将来のスクリプト) にさらにコピー アンド ペースト コードを追加する必要はありません。これが、オブジェクトを作成した理由の 1 つです。オブジェクトをインスタンス化するスクリプトMyRequest
のオブジェクトを定義するためです。では、クラス内で Groovy スクリプトsession
のオブジェクトを定義するにはどうすればよいでしょうか? オブジェクトを何らかの方法で使用できますか?session
MyRequest
metaClass
tomcat - Tomcat は http 要求をログに記録し、Java コードを呼び出します
Groovy で記述され、Tomcat 6.0 に groovlet としてデプロイされた小さなプロジェクトがあります。私の問題は、すべての受信リクエストを監視し、各リクエストのカスタム ロギングを実行する必要があることです。
最初に、必要なものを出力する短いコードを各クラスに含めることを考えましたが、Tomcat が各受信 HTTP 要求をカスタム ログ クラスに送信/複製して、好みに合わせて解析し、さらにいくつかのことを実行できる可能性があると考えました。
そうすることは可能ですか?もしそうなら、どのように?
PS: Tomcat はオリジナルでなければなりません - 変更やカスタム コンパイルはありません。
ありがとうございました。