1

私はフォーム/計算機を持っており、それ自体にいくつかのデータを投稿します。このデータはサーブレットをディスパッチすることによって計算され、結果はxmlとして出力されます。ディスパッチャコードを以下に示します。

//create instance
ServletContext sc = this.getServletContext();
//create dispatcher
RequestDispatcher rd = sc.getRequestDispatcher("/ProCalcServlet");

rd.include(request, response);

しかし、私が現在行っていることにいくつか問題があります。まず、ローカルだけでなくリモートURLを使用することは可能ですか?また、データを処理するにはどうすればよいですか。これはサーブレットであるため、XMLドキュメントと呼んで、DOMを使用して必要なデータを取得することはできないと想定しているためです。

このJavaのものはまったく新しいので、正確に何をグーグルで検索すればよいかさえわからないので、私は現在の方法で暗闇の中で撮影しているようなものです。どんな助けや指示も大歓迎です:P乾杯

4

2 に答える 2

1

RequestDispatcherを使用してリクエストを別のURLに転送することはできません。これにより、同じコンテナ上の同じWebアプリケーションにのみリクエストを転送できます。response.sendRedirect()ただし、ブラウザに別のサイト/URLへのリダイレクトを送信するために使用できます。ただし、これを行うと、オブジェクトを渡すことができなくなります。引数パラメータに依存する必要があります。

あなたがXMLで何をしているのか理解できません。最初のステートメントは、応答をXMLとして出力することを意味しているようです。これは確かに簡単で、次を使用するだけです。

response.setContentType("text/xml;charset=utf-8");
于 2010-07-01T16:36:19.077 に答える
1

私はあなたの質問を正しく理解することを望みます。

リモートURLを使用することが可能です。その場合、Webサービススタイルを介してURLを呼び出す必要があります。HttpClientを使用してURLを呼び出すことができます。URLは、XML形式(1つの大きな文字列)でデータを返します。

XMLを処理するために、簡単に処理できるライブラリがたくさんあります。JDKのDOMまたはSAXパーサーを使用することもできますが、私の意見ではそれは面倒です。CastorJDom、またはDom4Jの使用を検討してください...それらのいくつかでは、 XPathを使用してデータをクエリすることもできます。

于 2010-07-01T16:37:20.967 に答える