問題タブ [guice-servlet]
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.
entitymanager - guice-persist によるセッションの自動クリア
私は、guice-persist の下で tomcat と hibernate で実行されている guice-servlet を持つ環境を使用しています。私が遭遇した問題は、1 つのリクエストで em.getReference() を使用すると、読み込まれたプロキシ オブジェクトがエンティティ マネージャーのキャッシュに残り、DB からオブジェクトが完全に読み込まれると予想される別のリクエストに表示される可能性があることです。
以前は、デフォルトの動作である EJB3 環境で休止状態を使用していました。エンティティ マネージャのキャッシュは、新しいリクエストごとにクリアされます。guice-persist がリクエストごとにセッションをクリアする方が安全な動作ではないでしょうか? または、少なくとも JpaPersistModule の設定として指定しますか?
EJB3 の動作を担当する hibernate SessionImpl "autoClear" には特別なフラグがあります。新しいエンティティ マネージャーが JpaPersistModule によって作成されているときにフラグを有効にする方法はありますか?
tomcat - カスタム動的エラー 404 ページ - guice / tomcat
Tomcat 7 サーバーで guice 3.0 を使用して Web アプリケーションを作成しています。
静的ファイルを使用してエラー 404 ページをカスタマイズできましたが、サーブレットを使用してエラー 404 ページをカスタマイズする必要があります。
したがって、私の web.xml に次の行を追加します。
そして私のモジュール構成で
ブラウザから /error ページに直接アクセスすると動作します。しかし、存在しないページを自発的に要求すると、空白のページが表示されます。ブラウザは 404 ステータスを受け取りましたが、コンテンツがありません。さらに、サーブレットにログ トレースを追加しましたが、呼び出されていないようです。
よろしくお願いします。
java - Javaを使用してブラウザのキャッシュをクリアする方法
セッションで問題が発生しました。ログアウトするとセッションは終了しますが、ブラウザの戻るボタンを押すと前のページが表示されます。私はjspサーブレット技術を使用しており、ログアウト用のコードを以下に示します
問題がどこにあり、この問題の解決策は何か教えてもらえますか?
hibernate - Guice-Persist-「このスレッドで作業はすでに開始されています。その間にend()をバランスよく呼び出すことなく、UnitOfWork.begin()を2回呼び出したようです。」
私たちのアプリケーションは、Guice-PersistとGuice-Servletを広範囲に使用するJava-GWTアプリケーションです。Warp-persistが最初に使用したものと同様のGuice-Persistのsession-per-HTTPRequest機能の使用で問題が発生したことはありません。
ドキュメントに従って、PersistFilterクラスを介してWebアプリをフィルタリングしています。ここのGuiceドキュメントによると、persistence.xmlファイルにはtransaction-type="RESOURCE_LOCAL"があります。
奇妙な理由で、PROD環境にエラーが表示されています
「このスレッドでの作業はすでに開始されています。その間にend()をバランスよく呼び出すことなく、UnitOfWork.begin()を2回呼び出したようです。」
ネストされた作業単位がGuice-Persistでサポートされていないという問題があるようです。リンク
また、最近、休止状態の3.6.3.Finalから4.1.4.Finalに移行しました。彼がguiceと何らかの非互換性を持っているかどうかはわかりません...
この時点で、なぜこれが起こるのかについて、私たちは完全に暗闇の中にいます。
java - jersey と guice を使用して URL の先頭に余分なスラッシュを処理する方法はありますか?
依存性注入のために jersey と guice を使用して REST API をまとめました。私は FEATURE_CANONICALIZE_URI_PATH と FEATURE_NORMALIZE_URI をオンにしており、ほとんどすべての場合に余分なスラッシュを処理します。例えば:
問題は、URL の先頭 (サービス パスの前) にある余分なスラッシュを処理する適切な方法を整理できないことです。このような:
これは私が現在セットアップしている方法です:
web.xml
MyServletConfig.java
MyService.java
サービス名の前に//を含むリクエストが実際にはサーブレットによって処理されていないことが問題であることがわかります。これは、フィルターマッピングのURLマッピングで一致していないためですが、よくわかりません正しい解決策。その URL がサーブレットに一致する前に、URL を書き換える必要がありますか? または、要求 URL をマップするより良い方法はありますか?
servlets - Guice、Peaberry、ServletModule
Peaberry / Guice / OSGi/Servletsを適切に配置するのに問題があります。まず、プラグインアーキテクチャを活用するために、JettyベースのWARでデプロイされたWebアプリをOSGiに移行しました。私の元のアプリケーションはどこでもguiceを使用していました。
私はすべてをモジュールに分割し、ビルドをMaven-iszedしました。ServletModuleの厄介なインストールを除いて、すべてが機能しているようです。
ServletModuleをインストールしようとすると、次の例外が発生します。
そのため、これらのバンドルが見つからない理由がよくわかりません。サーブレットとサーブレットの依存関係を追加し、デプロイされたバンドルに組み込まれていることを確認しました。
もう1つの重要な点は、GuiceFilterの登録だと思います。Jettyを使用しているので、ServiceTrackerを使用してExtHttpServiceを取得します。そのトラッカーが戻ってきたら、通常の呼び出しを使用して登録を追加します
そして、それはうまくいくようです。私はこれらのものを機能させるのに本当に苦労していて、Guice / OSGi/Peaberryの部分の中間に少し引っかかっています。どんな助けでも大歓迎です。
ありがとう!
guice - サーブレットを使用したweb.xmlリスナーとcontext-paramの設定
サーブレットとサーブレットを使用してWebプロジェクトに取り組んでいます。すでにguiceフィルターとリスナーの両方をセットアップしました。
この設定では、serve(...)メソッドとfilter(...)メソッドを使用して、servletmoduleでweb.xmlフィルターとサーブレットをエミュレートできます。
今の質問:
サーブレットページで、web.xmlは不要になったと主張していますが、次の方法を理解できませんでした。
contextlisteners(web.xmlのlistener-tag)を登録し、
context-paramを追加します(私はinit-paramを設定できます)
これはguiceサーブレットでも可能ですか?
java - Guice-servlet / Jetty/Jerseyを使用した軽量JavaWebスタック-いくつかの質問
フルスタックフレームワークではなく、「軽量」コンポーネントを使用して新しいWebアプリケーションを開発することを考えています。
この記事は私の主なインスピレーションです!
Jetty:Webサーバー。開発にはおそらく埋め込みバージョンを使用しますが、アプリケーションを.warとしてエクスポートし、本番環境に外部Jettyサーバーを使用するオプションがあります。
Guice / Guice-サーブレット:依存性注入およびサーブレットマッピング+フィルター用。
ジャージー:必要に応じて、ルーティング+要求/応答のjson(逆)シリアル化用。
重要な注意:Jerseyでこの種のスタックをWebサービスレイヤーとしてのみ使用し、Javascriptフレームワーク(Backbone、AngularJSなど)を使用してこれらのサービスを使用し、ほとんどのプレゼンテーションロジックを実行する人がいることを私は知っていますJavascriptで。私はまだこの種のクライアントのものの準備ができていません。私はまだJSPを使用することを好み、JavaScriptが無効になっているクライアントにプレーンHTMLを送信することができました。
だから、私の質問:
ジャージーを使用してフォームを管理するための最良の方法は何ですか?Spring MVC(他のプロジェクトで使用した)には、送信されたPOSTデータが自動的にバッキングオブジェクトにバインドされて簡単に操作できる「バッキングオブジェクト」の概念があります。ジャージーに似たものはありますか?
私の意見では、管理が難しい@Pathアノテーションとしてどこにでもあるわけではなく、すべてのルートを1つの特定のルートファイルで定義するのが好きです。ジャージーでは、ハードコードされたJAX-RSの@Pathアノテーションを使用する必要があり、外部ルート構成システムを許可していないと確信していますが、それは正しいですか?ジャージーですべてのルートを一元化できる方法はありますか?
私はリバースルーティングの概念が好きです(たとえば、Playフレームワークが提供するように)。そして、繰り返しになりますが、Jerseyがその機能を提供できるとは思いませんが、それは正しいですか?
私の以前の質問を考慮すると、おそらくジャージーは使用するのに適切なテクノロジーではありませんか?スタックのルーティング部分に使用できる他のライブラリを知っていますか?
この種の軽いJavaWebスタックに関する他の提案/ヒントはありますか?
アップデート :
現在、ルーティング部分のUrlRewriteFilterを調べています。
また、「フルスタック」フレームワークであるActiveWebフレームワークも検討していますが、軽量であり、探している機能(集中ルーティング構成と逆ルーティング)も提供しているようです。
guice - Guice:特定の親/インターフェース/アノテーションを指定してすべてのバインドされたインスタンスを取得することは可能ですか?
私はこれが最も純粋な形での依存性注入ではないかもしれないことを知っていますが、私が使用しなければならないとしましょう:
このインジェクターを使用すると、指定されたすべてのバインドされたインスタンスを取得できますか?
- 各インスタンスが継承する親クラス?
- 各インスタンスが実装するインターフェース?
- 各インスタンスに注釈がありますか?
Injector#findBindingsByType()メソッドが表示されますが、それがその点で役立つかどうかはわかりません。