問題タブ [requestdispatcher]

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 投票する
1 に答える
14792 参照

java - JavaサーブレットRequestDispatcherはURLを転送しませんでした

JavaサーブレットのRequestDispatcherに問題があります。サーブレットパスがルートパスにない場合、特定のURLに転送されませんでした

これは私のweb.xmlです

問題は道のりにあると思いますが、よくわかりません

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

java - サーブレットでの NullPointerException

ServletURL アドレスを使用して を呼び出しています。これは私が入力している URL です

これは確かにサーブレットの URL です。取得したアドレスを変更すると

これはサーブレットのコードです。

NullPointerExceptionの行へのポイントを取得しRequestDispatcherます。何か助けはありますか?

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

java - デプロイされたサーブレット アプリケーションのパフォーマンス テストですか?

現在、アーカイブされたデータベースからデータを取得し、それを XML over HTTP としてクライアントに送信するサーブレット ベースのアプリケーションがあります。

「X」テスト クライアントを作成して、データベース取得サーブレットを次のようにテストしたいと考えています。

  • 最小 HTTP 応答時間
  • 最大 HTTP 応答時間
  • サーバーから受信したエラー

アプリケーションはほぼ開発の展開フェーズにありますが、展開後にアプリケーションが正常に動作していることを確認するため、またはその環境でメンテナンスを行う必要があるかどうかを確認するために使用できるテスト クライアントが必要です (データベースの再インデックスなど)。月。

アプリケーションに対して何千もの HTTP リクエスト (スパム) を生成したいと考えています。

これまでのところ、これを行うには 2 つの方法を考えることができます。

  1. コンピューターから複数のスレッドを介して複数の HTTP 要求を同時に送信するマルチスレッド Java コンソール アプリ。
  2. 複数のスレッドを介してあるサーバーから別のサーバーに HTTPS 要求を同時に送信する個別の Java サーブレット。

デフォルトですでにマルチスレッド化されているため、サーブレット テスト アプリケーションが最適だと考えています。

これをどのように実装しますか? requestDispatcherクラスを使用して別のサーブレットを呼び出すだけですか、それとももっと良い方法がありますか?

どんなアドバイスでも大歓迎です!

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

java - RequestDispatcherは、1つのサーブレットコンテナ内の複数のWebアプリケーションで機能しますか?

RequestDispatcherは複数のWebアプリで機能しますか?

エラーメッセージとフィードバックメッセージを表示するときに状態が失われないように、リダイレクトではなくRequestDispatcherを使用する単一のWebアプリが正常に機能していたため、質問しています。

ただし、一部の機能を2つのWebアプリケーションに分割する必要があるため、最初の呼び出しはwebapp1でホストされているWebページから行われ、webapp2を呼び出して、最終的にユーザーをwebapp1でホストされているページに戻します。

明らかに、Webappsとwebapp2がRequestDispatcherを使用して異なるWebサイトにある場合は不可能ですが、両方のWebアプリケーションがサーブレットコンテナの同じインスタンス内にデプロイされている場合はそうです(tomcat 7)

アップデート

回答で説明されているようにリクエストディスパッチャ部分が機能するようになりましたが、webapp2に配置されたデータを取得できません。そのため、Imはそれを使用しています。

すなわち

と呼ばれるwebapp2は、いくつかの処理を実行してから、webapp1のjspにディスパッチします。

webapp2jspファイルには

ただし、常にnullを表示します

アップデート2**

crossContext="true"が実際に何をするのか誤解しているのではないかと思います。異なるWebアプリケーションで同じHttpSessionを使用できるようにしますか、それとも、あるWebapから別のWebアプリへのServletContextを使用できるようにして、あるWebアプリケーションが別のWebアプリケーションのHttpSessionを表示できるようにしますか?

私は常にバニラサーブレットのセットアップを使用することに熱心であり、特定の実装に自分自身を結び付けたくないので、私がしていることは悪い考えだと考え始めています。そもそもなぜウェブアプリを分割する必要があるのか​​を説明しておけば助かると思います。

1つのウェブアプリ(webapp1)がありました。これは、Google Checkout(現在はGoogleウォレット)を使用して開発し、その商品を購入するためのコードを作成した商品に関するウェブサイトです。

次に、新しい製品(webapp2)用の新しいWebアプリケーションを作成しました。

次に、新製品のGoogle Checkoutをwebapp2に追加しようとしましたが、Google Checkoutでは、支払いを処理した後でユーザーに送信できるように、アプリケーションから呼び出すことができるURLを提供する必要があるため、これを簡単に行うことができないことに気付きました。ライセンス。URLはすでにwebapp1のサーブレットに設定されていますが、webapp1が製品2の支払いを処理することは意味がありません。

1つのオプションはwebpp1とwebapp2を1つのwebappにマージすることでしたが、これは物事をモジュール化するという私の一般的な見方に反します。つまり、1つの製品IDの変更を作成するたびに、すべてを再デプロイする必要があります。それはまた、webapp1に大きな変更を加えることを意味しましたが、それは機能していて安定しているため、実際には変更したくありませんでした。

別の方法は、webapp3を作成することでした。その後、google urlがこれをポイントし、これを使用して、製品1と製品2の購入を処理します。これは私が行ったことです。しかし、問題は、製品1を購入するときに開始ページがwebapp1にあり、購入が行われた後、webapp1のページに戻りたいのですが、webapp3だけが、購入したばかりのユーザーの詳細を持っています。 webapp1のページに表示します。

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

c# - C# で一般的な「リクエスト ディスパッチャ」を正しく設計する方法

多くの異なるタイプのリクエストを受信/逆シリアル化するオブジェクト「レシーバー」があります。

次に、受信リクエストのタイプに基づいて、リクエスト オブジェクトを正しいリクエスト ハンドラ オブジェクト (以前にディスパッチャに登録済み) にディスパッチする「ディスパッチャ」オブジェクトをこのレシーバに使用してもらいたいと考えています。もちろん、リクエストのタイプはコンパイル時ではなく実行時にのみわかります(簡単すぎます;))

ここに物事を明確にするためのいくつかのコードがあります...

リクエストタイプのマーカーインターフェースがあります:

次に、ダミーのリクエスト タイプ:

これは、リクエスト タイプ T のリクエスト ハンドラによって使用される汎用インターフェイスです。

そして、 DummyRequest リクエストのリクエストハンドラである具体的な実装:

これは、動的を利用するディスパッチャーの非常に基本的な実装ですが、コンパイル時に要求の種類がわかっている場合にのみ機能しますが、実行時にのみ要求の種類がわかっている場合は機能しません (これはあまり重要ではありません)。私の文脈では、しかしどういうわけか意図を示しています):

そして、dispatcher 変数が Dispatcher オブジェクトであることを考慮した使用法:

一部のコードは、この方法でディスパッチャーにハンドラーを登録します

そして、受信側オブジェクトはディスパッチャーを使用して、次のように受信リクエストをディスパッチします。

もちろん、ここではコンパイル時にリクエスト タイプがわかっている場合にのみ機能しますが、私のコンテキストでは、リクエストは次のようなオブジェクト タイプとしてレシーバーによって受信されます。

このようにディスパッチャーを呼び出すことはできません

型の安全性を失わずにこれを回避する方法を見つけることができません (たとえば、HandleRequest 署名をオブジェクトを取る非ジェネリック署名に変更しないなど)。

私の質問が明確で理にかなっていることを願っています...おそらく本当の方法はありません。わかりません。

「リクエストディスパッチャーC#」をグーグルで検索しても、興味深いものは見つかりませんでした。この種の「パターン」は別の名前で知られているかもしれませんが、それをリクエスト ディスパッチャと呼ぶのは理にかなっています。

これの背後にある最終的な目的は、特定のリクエスト タイプの新しいリクエスト ハンドラを作成し、それをディスパッチャに登録するだけで、レシーバやディスパッチャのコードを変更することなく、新しいリクエスト タイプを処理できるようにすることです。

ありがとう !

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

java - サーブレットをインクルードした後、リクエスト ディスパッチャー フォワードが転送されない

誰か助けてください。

これらの 2 つの関数は、私のプロジェクトのすべてのサーブレットに記述されています。問題は、これらの 2 つの関数を最初にサーブレットで使用したときに、include("servlet/abc",request.response); ということです。forward("servlet/def",request.response); を使用した後 したがって、Netbeans 7を使用して、フォワードがサーブレットのコントロールを転送していないことを段階的に監視しましたが、フォワードの前にインクルードを使用しない場合、コントロールを転送します。

なぜそれが起こっているのか、その理由と、サーブレットを含めた後にどうすれば転送できるのかを知りたいです。

誰か助けてください...興味深い質問です。

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

java - requestdispatcher をリモート URL に転送する方法

http://www.mywebapp.com/sample.htmlリモートサーバーから使用されるHTML ページがあります。同じ HTML フォームでこのように HTML URL を非表示のフォームとして渡しています。

私のサーブレットでは、隠しURLhttp://www.mywebapp.com/sample.htmlを取得し、それを次のように保存しました String fieldValue = http://www.mywebapp.com/sample.html

RequestDispatcherこのように隠しURLにページを転送しようとすると、

取得してERROR 404います。

誰でもこれを解決するためのアイデアを提案できますか?

編集済み

私が正確にやりたいことは、リモート サーバーから HTML ページが REST Web サービスに要求することです。Web サービスの応答は JSON 出力になります。ここで、この JSON 応答を要求された HTML フォーム (つまり、リモート サーバーの HTML ページ) に送信したいと考えています。

誰でもこれを解決するためのアイデアを提案できますか? あなたの助けに感謝します。

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

java - sending parameters across applications

Is there a way I can send attributes across applications that may or may not be on the same machine ?

For example :


Let us suppose that IP on which app-1 is deployed is not the same as the IP on which the app-2 is deployed.

Is there any way I can send parameters like these across applications that are hosted far away from each other ? When I tried I couldn't do this way,but may be there is a way around.

Both the applications use Tomcat.

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

java - 応答をサーブレットから文字列に変換するにはどうすればよいですか?

これであなたの一日を台無しにして申し訳ありませんが、私は答えを求めてウェブをトロールするのに何年も費やしましたが、完全に立ち往生しています!

Web アプリでは、RequestDispatcher を使用して、servlet_A から servlet_B にリクエストを送信しています。servlet_B で、servlet_A への応答として返される単純な文字列値を生成するコードを実行します。

サーブレット A のコード:

サーブレット B のコード:

servlet_A では、servlet_B からの応答を単純な String 値に変換する必要があります。servlet_B からの応答を servlet_A の単純な文字列として処理するにはどうすればよいですか?

PrintWriter を使用して応答を解析する必要があると思います。Web でこの例を検索しましたが、PrintWriter を使用して応答を送信する方法、またはデータを画面に出力する方法を示す例しか見つかりません。

誰かがこれで私を助けることができれば、私は非常に感謝しています.

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

java - サーブレットを呼び出した後の別の URL

私はいくつかのことを行うサーブレットを持っています。それが完了すると、リクエストにいくつかのものを入れ、その後jspページを呼び出す別のサーブレットを呼び出します。私はコードを書きます:

最初のサーブレット (InserisciLezione)

2 番目のサーブレット (TakeDates)

これは適切に機能しますが、問題は私がまだ持っているページのURLにあります:

ページを更新すると、最初のサーブレットが再度呼び出されますが、これは望ましくありません。私はを頂きたい

なんで?前もって感謝します!