質問
私はメンバーの多くのデータを格納Tomcatの中で実行されているウェブサイト上で働いている、と私は最高のそれをパッケージ化するかどうかはわかりません。
私が最初にそれから何かを削除することなく、簡単に戦争を展開することができるようにしたい。
私が最初に考えたのは、戦争の外に専用のディレクトリにメンバーデータを抜け出すことでしたが、私の問題は、その内容の一部は、ウェブサイト(画像など)にリンクする必要があることです。
は、その後、戦争を展開したデータをコピーバックよりもよりよい解決策がなければなりません。誰もが何か提案がありますか?
解決
あなたの最初の考えは正しかったです。外direcotryにデータを保存する最適なソリューションです。あなたは簡単に画像要求にそれ以外のディレクトリにアクセスするサーブレットを作成することで、画像の問題を解決することができます。
私は自分のコードを投稿することはできませんが、ここでレスポンスを作成する同様の抜粋です。あなただけの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 のようなすべてのリンクサーブレットによって作成されます。
他のヒント
あなたは間違いなくあなたのアプリケーションからデータを分離する必要があります。私はあなたが元々メンバーデータを置くために持っていた理由の(明らかに画像や他の何か)上の不明な点だとして、私は、より理想的な環境に基づいた提案を提供することができます。
あなたが異なる多くの人々に情報を保存し、複数の場所で、それへのアクセスを必要としている場合は、、なぜあなたは、データベースを使用するように選択はないでしょうか?おそらく、PostgreSQLやMySQLのようにも無料1?
データベースにデータを保存する場合は、javaを通じて取得し、いずれかのHibernateのようなORMまたは単にいくつかの基本的なJDBCライブラリを使用して簡単です。これは、SQLおよびJavaでデータベース層を理解する前提としています。
あなたが特定のファイルにアクセスする必要がある場合は、次に、あなたはサービス指向アーキテクチャ(SOA)を作成し、URLオフに基づいて画像を引っ張ってRESTfulなWebサービスを使用することができます。これは、ストレージはあなたの信頼ゾーン内の別のマシンにオフロードすることができるようになります。
問題と、サーバーのセットアップの詳細なしに優れたソリューションを提供するのは難しいです。