3

多くのメンバー データを保存する Tomcat で実行されている Web サイトに取り組んでいますが、それを最適にパッケージ化する方法がわかりません。

最初に何も削除する必要なく、簡単に戦争を展開できるようにしたいと考えています。

私が最初に考えたのは、メンバー データを戦争以外の独自のディレクトリに分割することでしたが、私の問題は、そのコンテンツの一部を Web サイト (画像など) にリンクする必要があることです。

戦争を展開してからデータをコピーして戻すよりも優れた解決策が必要です。誰か提案はありますか?

4

2 に答える 2

4

あなたの最初の考えは正しかった。外部ディレクトリにデータを保存することが最善の解決策です。画像要求時にその外部ディレクトリにアクセスするサーブレットを作成することで、画像の問題を簡単に修正できます。

コードを投稿することはできませんが、応答を作成する同様のスニペットを次に示します。FileServlet を拡張するクラスを作成し、ディレクトリからファイルをロードするコードを記述するだけです。

http://snippets.dzone.com/posts/show/4629

次に、これを web.xml に追加します。

<servlet>
    <servlet-name>My File Servlet</servlet-name>
    <servlet-class>my.package.FileServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>My File Servlet</servlet-name>
    <url-pattern>/upload/*</url-pattern>
</servlet-mapping>

http://myapp.com/upload/userimage.jpgのようなすべてのリンクはサーブレットによって作成されます

于 2009-06-15T14:47:38.977 に答える
1

アプリケーションからデータを確実に分離する必要があります。メンバー データ (画像など) を配置する最初の理由が不明なため、より理想的な環境に基づいて提案を行うことができます。

多くの異なる人々に関する情報を保存していて、複数の場所からその情報にアクセスする必要がある場合、データベースの使用を選択しない理由はありません。おそらく、PostgreSQL や MySQL のような無料のものでさえありますか?

データをデータベースに保存する場合、Hibernate などの ORM を使用するか、いくつかの基本的な JDBC ライブラリを使用して、Java を介して簡単に取得できます。これは、SQL と Java のデータベース層を理解していることを前提としています。

次に、特定のファイルにアクセスする必要がある場合は、サービス指向アーキテクチャ (SOA) を作成し、安らかな Web サービスを使用して URL に基づいて画像を取得できます。これにより、ストレージをトラスト ゾーン内の別のマシンにオフロードできます。

問題とサーバーのセットアップに関する詳細がなければ、適切なソリューションを提供することは困難です。

于 2009-06-15T14:51:18.563 に答える