2011-07-28 5 views
0

私が継承した従来のJava Webアプリケーション(サーブレットとJSP)を改造しています。 webappは電子メールを送信し、電子メールアドレスの約12リストを使用します。電子メールアドレスはwebappにハードコードされています。当然のことながら、これらの電子メールアドレスのリストをファイルに入れて、webappに読み込ませたいと思います。Java Webアプリケーションに電子メールリストのリストを提供する最も簡単な方法

昔、私はそれらのリストをwebappのルートディレクトリの* .propertiesファイルに入れました。

私は推測しているプロパティオブジェクトと* .propertieファイルはこれを行うための現代的なJavaの方法ではありません。

1つの選択肢は、それぞれの電子メールリストを<context-param>というweb.xmlに入れて、<param-value>はカンマ区切りの電子メールアドレスのリストです。私はcontext.getInitParameter()で各リストを名前で検索し、電子メールをトークン化して各リストをArrayListに入れる関数を記述します。私の直感は、そうでなければならないよりも面倒だと私に伝えます。

性質、すなわち

######################################## 
## This file lists the email lists 
######################################### 

customerList = [email protected],[email protected] 
managerList = [email protected],[email protected] 

########################################## 
## end of file 
########################################## 

このようなファイルは、と12件のこのようなリストが含まれます、コメント、空白、キーと値のペアで、ファイルのように私は非技術ユーザーフレンドリーであることを私の設定ファイルを希望約10種類のメールアドレス

私は、Propertiesクラスを使用してWAR内でそのようなファイルを見つけ、プロパティオブジェクトに非常に簡単にロードする方法を知っています。

問題が

が右Proopertiesクラスがされていることを前提にI・アム、エレガントなオブジェクトのプロパティのうち、それらの12件の各リストを取得する方法に来るトークン化し、(名前付き参照して)個々のArrayListへ現代のコレクションによって時代遅れになった? Scannerクラスを使用して、ファイルをマップに読み込んでトークン化し、各キーが電子メールリストの名前であり、各値が電子メールアドレスのArrayListであることを推測します。

私はどのように私は上記のファイルの種類と一緒に置くだろうか分かりません。

提案があります。

私の目標は、これを最も簡単なやり方で、そして最も現代的な方法で最初に行うことです(私はコレクションとジェネリックスについての本を持っていますが、私はまだそれを同化しています)。

任意の助けを事前に感謝やアイデア

スティーブ

+0

データベースに入れ、ユーザーがアドレスを追加/削除/編集するためのインターフェイスをプログラムします。これはユーザーに最もわかりやすい方法です。 – Jacob

答えて

0

トレンディな答えはJSON形式を使用することですが、.propertiesファイルをご利用の場合のために働く場合、それのために行きます。データが標準のキー値パラメータよりも大きい場合、web.xmlに格納しないでください。

いくつかのアップボンスを持つjava json lib。 https://stackoverflow.com/questions/338586/a-better-java-json-library/785066#785066

関連する問題