2009-08-25 6 views
0

私はいくつかのログファイルを表示する必要があるユースケースを持っています。各ログファイルをクリックすると、コンテンツを表示する新しいウィンドウが開きますその特定のログファイルのtomcatディレクトリの外側のファイルリストへのWebベースのアクセス

環境はJava/Tomcatにあります。ファイルは、tomcatの外のディレクトリに存在することがあります。

これを行うにはどうすればよいでしょうか?

多くのおかげで、 Santosh Webアプリケーションをインストールした人がまさにディレクトリ(またはディレクトリ)を記述できるようになり、よく知られた場所に設定ファイルを設定し

答えて

0

を閲覧することができます。あなたは間違いなく、webappのユーザが任意のディレクトリを参照できるようにしたくありません。

次に、ページが読み込まれると、構成されたディレクトリをスキャンするか、別のスレッドでスキャンするかを選択できます。別のスレッドでは、Webアプリケーションは、バックエンドスレッドが実装されているすべてのリストの現在の内容を表示するだけです。

ファイルごとに一意のIDを使用します。 Webappのユーザがあなたのサーバ上の他の場所へのパスを提出しておらず、その中の文字が安全であることを確認するのでない限り、ファイル名は使用しないでください。一意のID番号を使用すると、ユーザーが表示したいファイルを(マップなどで)検索できます。

最後に、ファイルの表示は読み取り/書き込みと同じくらい簡単ですが、ファイル全体を一度に読み取ってから接続にダンプするのではなく、ストリーミングアプローチをとるべきでしょう。

ファイルをフォーマットする予定がない場合は、コンテンツタイプを「text/plain」(おそらく正しく表示されない「text/html」に設定されています)と設定する必要があります。

フォーマットする場合は、自分で作成する方法を理解する必要があります。

+0

ありがとうジョナサン、それは助け... :-) –

+0

あなたはどのようにもjavaでフォーマットを維持するためのアイディアはありますか? –

+0

コンテンツタイプを "text/plain"に設定すると、書式設定は保持されます。ブラウザはこれをプレーンテキストファイルとして表示します。より良い書式設定が必要な場合は、開いた/閉じるhtmlタグとbodyタグ、各行の段落タグまたは改行タグを使用して補強する必要があります。あるいは、さらに面白いことに、ラインをコンポーネントの部品に分割してテーブルに入れることもできます(タイムスタンプ、優先度、メッセージなど、複数行があると仮定します)。 – Jonathan

関連する問題