問題タブ [jetty-9]

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 に答える
727 参照

servlets - Jetty 9 を使用する SBT プロジェクトで、@WebServlet アノテーションを使用してサーブレットをフックできません

SBT を使用するように変換した既存の Java プロジェクトで作業しているときに、この問題に遭遇しました (以前は純粋に Eclipse に基づいていました)。Eclipse (まだ sbteclipse で Eclipse を使用していた) がにマップされてorg.my.FooServletいると報告していたにもかかわらず、Web ブラウザ経由でアクセスできないサーブレット (たとえば) がありました。/FooServletorg.my.FooServlet

したがって、プロジェクトを SBT を使用するように変換したことに起因する可能性のあるいくつかの問題 (たとえば、いくつかの依存関係の欠落、または隠された、または一見無関係な (誤った) 構成の問題) を除外するために、私は先に進み、新しい SBT プロジェクトを作成して再現を試みました。最小限の複雑さで問題を解決します。したがって、現在、以下の構成/コード/出力があり、まだ問題が発生しています:

container:start出力:

build.sbt:

project/plugins.sbt:

src/main/java/webtest/TestServlet.java:

src/main/webapp/WEB-INF/web.xml: (完全に削除しても違いはありません)

2 つのコード ファイルのいずれかを編集して保存するたびにコンテナーがリロードされ、ファイルがコンパイルされるため、少なくとも SBT はそれらを取得しています。問題は、なぜ Jetty ではないのかということです。また、すべてのクラスを下からコピーして無駄にしようとしました(テストダミープロジェクトではなく、元のプロジェクト内でtarget/scala-2.10/classessrc/main/webapp/WEB-INF/classes

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

jetty - WebAppContext.configurationClasses を設定するときの jetty-web.xml の java.lang.reflect.InvocationTargetException

org.eclipse.jetty.annotations.AnnotationConfigurationbutのconfigurationClassesプロパティに追加しようとしていますorg.eclipse.jetty.webapp.WebAppContext(Jetty を で呼び出すときsbt containe:start):

<Set ...><Call name="setConfigurationClasses">(バリアントString[]と同様に) に変更しようとしましたList<String>が、役に立ちませんでした。それでも、毎回同じリフレクション例外が発生します。

私のjetty-web.xmlは次のとおりです。

回答: https://github.com/JamesEarlDouglas/xsbt-web-plugin/blob/master/src/jetty-9/scala/Jetty9Runner.scalaで決定すると、 xsbt-web-plugin は構成プロパティをWebAppContextハードコードされた値に設定しますであるため、XML 構成に何が含まれていても、おそらく単純に無視されます (または、明らかにエラーが発生します)。

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

jetty - Jetty HTTP クライアント v9 を使用してデフォルトのホスト要求ヘッダーをオーバーライドする方法は?

サーバーにリクエストを発行するために Jetty クライアント v9 を使用しています。指定するサーバーのアドレスは、この質問にとって重要ではないさまざまな理由から、実際の (数値) IP アドレスの形式である必要がありますが、Host ヘッダーで想定されるホスト名 (つまり、数値ではなく FQDN) を渡したいと思います。 . 私は次のことを試しました:

しかし、これは効果がないことがわかりました。実際のリクエストに含まれる「Host」ヘッダーの値は、依然として URL からの値 (数値の IP アドレスを含む) です。上記の「hostHeader」変数に正しい値が含まれていることを確認しました(必要な値です)。

このデフォルトの動作をオーバーライドする方法について、誰かが洞察を提供できますか?

前もって感謝します!

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

logging - 桟橋の家の外にログファイルを配置する方法..?

log4j プロパティをリソース ディレクトリに配置し、jetty は${jetty.home}/logs/ ディレクトリのファイルに、この2014_02_11.stderrout.log.071800746のような自動生成された名前でログを書き込んでいますが、log4j プロパティで以下のように指定しました、

桟橋の家の外で桟橋サーバーのログを書き込むことは可能ですか?もしそうなら、その方法.誰かが私を助けてください.

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

java - jetty 9.0.4 -> 9.1.2: WebServlet がロードされなくなりました

jetty 9.0.4 から 9.1.2 へのサーブレットのアップグレード。私の単純なサーブレットは、9.1.2 に対して実行すると初期化されなくなりました。これは、私のサーバー ディストリビューション maven プロジェクトに対して mvn dependency:tree を実行することによって視覚化された 2 つのバージョンにわたって生成された差分です。

web.xml を使用してサーブレット クラスを登録しています。ヒントはありますか?あまり情報がないことは承知していますが、9.1 にアップグレードしたときに誰かが同様の問題を抱えていた可能性があります。何が変更されたか (重要なもの) のリストも役立ちます...単なる ChangeLog ではありません。

エラーすら出ないので、jetty 9.1 は web.xml を完全に無視しているようです...??

jetty.xml:

web.xml:

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

jetty - Jetty 9 サーバー内のワーカー スレッドから新しい HttpServletRequest を実行する

私の Web アプリは (埋め込まれた) Jetty 9 に基づいています。Jetty内で(つまり *.war ファイルから) 実行されるコードは、時々、HTTP 要求を実行して Jetty とそれ自体に戻す必要があります。 " ネットワークからの HTTP リクエスト。

あなたの言うことはわかりますが、これは私が複数の異なる製品を 1 つのコンテナーにマージした後にたどり着いた状況であり、現在それを避けることはできません。一時しのぎの措置が講じられています。実際には、ネットワーク HTTP リクエストを自分自身に送り返します (現在は Jetty クライアントを使用していますが、それは問題ではありません)。ただし、これによりオーバーヘッドが増えるだけでなく、リクエスト属性などを介して渡したい実際のオブジェクト参照を渡すこともできません。

望ましいのは、新しい HttpServletRequest と HttpServletResponse のペアを作成し、ディスパッチャーを使用して、現在ネットワーク経由でしかアクセスできない他のサーブレットを「含める」(または同様の) ことができるようにすることです。これらの「ダミー」実装を構築しましたが、これは Jetty のディスパッチャー 120 行目でヌル ポインター例外で失敗します。

...これはJetty の Request クラスのインスタンスではなく、 getCurrentHttpChannel() が null を返すためです。これは、スレッドがワーカー スレッドであり、http サービスを提供するスレッドではなく、Jetty のスレッド ローカルが設定されていないためです。

いろいろ検討中ですが、どなたか教えていただけると助かります。私が考えているいくつかのこと:

  1. 実際には Jetty の Request クラスをベースとして使用します。現在、Web アプリには表示されません (コンテナー クラスは、おそらくクラスパスとクラス ローダーを操作する必要があります。まだ不可能かもしれません (そこに何が期待できるかわかりません)。
  2. Jetty のスレッド ローカルで遊んで、必要に応じて現在のスレッドをセットアップするように Jetty に指示してみてください。どこから始めればよいかわかりません。UPDATE setServerClasses([]) を試行し、現在の HttpChannel を別のスレッドから「盗んだ」ものに設定しようとしました。ひどく失敗しました: java.lang.IllegalAccessError: クラスからメソッド org.eclipse.jetty.server.HttpChannel.setCurrentHttpChannel(Lorg/eclipse/jetty/server/HttpChannel;)V にアクセスしようとしました ...
  3. 理想的には、ネットワークを介さずに「トップ」リクエストを送信するより適切な方法を見つけてください。同じスレッドで実行するのが理想的ですが、私はそれほど気にしません。

残念ながら、現時点ではこれを避けることはできません。コードを直接呼び出したいのですが、追加しなければならなかったコードが大きすぎて現時点では処理できず、変更もできないサードパーティのフィルターに依存しすぎているため (フィルターとしてのみ機能し、実際のリクエストに応じて)。

助けてください!

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

maven - Web サイトを JAR ファイルとして実行すると、「エラー 500 絶対 uri を解決できません」という JSTL が発生する

Web サイトを JAR として実行するときに JSTL を動作させるのに問題があります (クラス ファイルを直接使用すると正常に動作します)。

mvn パッケージを実行すると、依存ディレクトリと website-1.0-SNAPSHOT.jar がターゲット ディレクトリに作成されます。次の 2 つのコマンドで Web サイトを起動しようとしました。

これらはどちらも、webiste にアクセスしようとしたときに次の例外が発生しました (起動自体は例外なく完了します)。

org.apache.jasper.JasperException: /WEB-INF/pages/index.jsp(1,1) /WEB-INF/pages/header.jsp(1,61) PWC6188: 絶対 uri: http://java. sun.com/jsp/jstl/coreは、このアプリケーションでデプロイされた web.xml または jar ファイルで解決できません

次のコマンドで (または IntelliJ を介して) Web サイトを起動しようとすると、すべて正常に動作します。

javax.servlet.jsp.jstl- 1.2.0.v201105211821.jarが MANIFEST で参照されている (そして依存関係ディレクトリに存在する) ことがわかるので、欠落している依存関係とは何の関係もないと思います (マニフェスト、依存ディレクトリ、および IntelliJ が生成したクラスパスの間の差分は決定的ではないことが判明しましたが、私はかなり疲れているので、明日これを再検討する必要があります)。

jar ファイルを実行しているときに、これに関する問題に遭遇した人はいますか? または、さらにデバッグするためのアドバイス。Java 7、Jetty 9 (組み込み)、Spring MVC 3.2.4、JSTL 1.2、および Maven 3.1.0 を使用しています。

私のpomとweb.xmlは以下です。

pom.xml

web.xml